# Copyright 2017 Google Inc. # # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # This file is generated semi-automatically with this command: # $ src/jumper/build_stages.py #if defined(__MACH__) #define HIDDEN .private_extern #define FUNCTION(name) #define BALIGN4 .align 2 #define BALIGN8 .align 3 #define BALIGN16 .align 4 #define BALIGN32 .align 5 #else .section .note.GNU-stack,"",%progbits #define HIDDEN .hidden #define FUNCTION(name) .type name,%function #define BALIGN4 .balign 4 #define BALIGN8 .balign 8 #define BALIGN16 .balign 16 #define BALIGN32 .balign 32 #endif .text #if defined(__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 0xe24dd05c // sub sp, sp, #92 .long 0xe1a0a001 // mov sl, r1 .long 0xe1a05002 // mov r5, r2 .long 0xe1a09000 // mov r9, r0 .long 0xe15a0003 // cmp sl, r3 .long 0xe58d3004 // str r3, [sp, #4] .long 0x2a00001d // bcs 9c .long 0xe59b4008 // ldr r4, [fp, #8] .long 0xe2898004 // add r8, r9, #4 .long 0xe28d7008 // add r7, sp, #8 .long 0xe4946004 // ldr r6, [r4], #4 .long 0xe3a00000 // mov r0, #0 .long 0xe58da00c // str sl, [sp, #12] .long 0xe58d9008 // str r9, [sp, #8] .long 0xe1580005 // cmp r8, r5 .long 0xe58d0010 // str r0, [sp, #16] .long 0xe1a00009 // mov r0, r9 .long 0x8a000008 // bhi 74 .long 0xe1a00007 // mov r0, r7 .long 0xe1a01004 // mov r1, r4 .long 0xe12fff36 // blx r6 .long 0xe59d1008 // ldr r1, [sp, #8] .long 0xe2810004 // add r0, r1, #4 .long 0xe2811008 // add r1, r1, #8 .long 0xe1510005 // cmp r1, r5 .long 0xe58d0008 // str r0, [sp, #8] .long 0x9afffff6 // bls 50 .long 0xe0550000 // subs r0, r5, r0 .long 0x0a000003 // beq 8c .long 0xe58d0010 // str r0, [sp, #16] .long 0xe1a00007 // mov r0, r7 .long 0xe1a01004 // mov r1, r4 .long 0xe12fff36 // blx r6 .long 0xe59d0004 // ldr r0, [sp, #4] .long 0xe28aa001 // add sl, sl, #1 .long 0xe15a0000 // cmp sl, r0 .long 0x1affffe5 // bne 34 .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 0xe3a02020 // mov r2, #32 .long 0xe1a03000 // mov r3, r0 .long 0xf4e30cb2 // vld1.32 {d16[]-d17[]}, [r3 :32], r2 .long 0xe28f2054 // add r2, pc, #84 .long 0xf2c04050 // vmov.i32 q10, #0 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf4224acf // vld1.64 {d4-d5}, [r2] .long 0xe28f2054 // add r2, pc, #84 .long 0xf2c3265f // vmov.i32 q9, #1056964608 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe2802004 // add r2, r0, #4 .long 0xf2806050 // vmov.i32 q3, #0 .long 0xf4e28cbf // vld1.32 {d24[]-d25[]}, [r2 :32] .long 0xe2802040 // add r2, r0, #64 .long 0xf3fb8668 // vcvt.f32.s32 q12, q12 .long 0xf4424acf // vst1.64 {d20-d21}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf2000de6 // vadd.f32 q0, q8, q11 .long 0xf4424acf // vst1.64 {d20-d21}, [r2] .long 0xe2802010 // add r2, r0, #16 .long 0xf2082de2 // vadd.f32 q1, q12, q9 .long 0xf4434acf // vst1.64 {d20-d21}, [r3] .long 0xf4424acf // vst1.64 {d20-d21}, [r2] .long 0xe4912004 // ldr r2, [r1], #4 .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f000000 // .word 0x3f000000 .long 0x3fc00000 // .word 0x3fc00000 .long 0x40200000 // .word 0x40200000 .long 0x40600000 // .word 0x40600000 HIDDEN _sk_dither_vfp4 .globl _sk_dither_vfp4 FUNCTION(_sk_dither_vfp4) _sk_dither_vfp4: .long 0xe1a02000 // mov r2, r0 .long 0xf2c04051 // vmov.i32 q10, #1 .long 0xf4e20cbd // vld1.32 {d16[]-d17[]}, [r2 :32]! .long 0xe28f30b4 // add r3, pc, #180 .long 0xf2c06054 // vmov.i32 q11, #4 .long 0xf4e2acbf // vld1.32 {d26[]-d27[]}, [r2 :32] .long 0xe28f20b8 // add r2, pc, #184 .long 0xf4632acf // vld1.64 {d18-d19}, [r3] .long 0xe3a035f2 // mov r3, #1015021568 .long 0xf26008e2 // vadd.i32 q8, q8, q9 .long 0xf2c02052 // vmov.i32 q9, #2 .long 0xf24081f4 // vand q12, q8, q10 .long 0xf240c1f2 // vand q14, q8, q9 .long 0xf34aa1f0 // veor q13, q13, q8 .long 0xf24001f6 // vand q8, q8, q11 .long 0xf2e48578 // vshl.s32 q12, q12, #4 .long 0xf2e1c57c // vshl.s32 q14, q14, #1 .long 0xf24a41f4 // vand q10, q13, q10 .long 0xf3fe0070 // vshr.u32 q8, q8, #2 .long 0xf26c81f8 // vorr q12, q14, q12 .long 0xf24a21f2 // vand q9, q13, q9 .long 0xf2e54574 // vshl.s32 q10, q10, #5 .long 0xf26801f0 // vorr q8, q12, q8 .long 0xf24a61f6 // vand q11, q13, q11 .long 0xf26001f4 // vorr q8, q8, q10 .long 0xf2e22572 // vshl.s32 q9, q9, #2 .long 0xf3ff4076 // vshr.u32 q10, q11, #1 .long 0xf26001f2 // vorr q8, q8, q9 .long 0xeea23b90 // vdup.32 q9, r3 .long 0xe5913000 // ldr r3, [r1] .long 0xf2c06050 // vmov.i32 q11, #0 .long 0xf26001f4 // vorr q8, q8, q10 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf2404cf2 // vfma.f32 q10, q8, q9 .long 0xf4e30cbf // vld1.32 {d16[]-d17[]}, [r3 :32] .long 0xf3400df4 // vmul.f32 q8, q8, q10 .long 0xf2402dc0 // vadd.f32 q9, q8, q0 .long 0xf2404dc2 // vadd.f32 q10, q8, q1 .long 0xf2400dc4 // vadd.f32 q8, q8, q2 .long 0xf2622fc6 // vmin.f32 q9, q9, q3 .long 0xf2644fc6 // vmin.f32 q10, q10, q3 .long 0xf2600fc6 // vmin.f32 q8, q8, q3 .long 0xf2060fe2 // vmax.f32 q0, q11, q9 .long 0xf2062fe4 // vmax.f32 q1, q11, q10 .long 0xf2064fe0 // vmax.f32 q2, q11, q8 .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} .long 0x00000000 // .word 0x00000000 .long 0x00000001 // .word 0x00000001 .long 0x00000002 // .word 0x00000002 .long 0x00000003 // .word 0x00000003 .long 0xbefc0000 // .word 0xbefc0000 .long 0xbefc0000 // .word 0xbefc0000 .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 0xe92d4800 // push {fp, lr} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xe3a0200c // mov r2, #12 .long 0xe2811008 // add r1, r1, #8 .long 0xe1a0e003 // mov lr, r3 .long 0xf4ae0cb2 // vld1.32 {d0[]-d1[]}, [lr :32], r2 .long 0xe2832008 // add r2, r3, #8 .long 0xf4a24cbf // vld1.32 {d4[]-d5[]}, [r2 :32] .long 0xe2832004 // add r2, r3, #4 .long 0xf4a22cbf // vld1.32 {d2[]-d3[]}, [r2 :32] .long 0xf4ae6cbf // vld1.32 {d6[]-d7[]}, [lr :32] .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} HIDDEN _sk_black_color_vfp4 .globl _sk_black_color_vfp4 FUNCTION(_sk_black_color_vfp4) _sk_black_color_vfp4: .long 0xe28f2018 // add r2, pc, #24 .long 0xf2800050 // vmov.i32 q0, #0 .long 0xf4226acf // vld1.64 {d6-d7}, [r2] .long 0xf2802050 // vmov.i32 q1, #0 .long 0xf2804050 // vmov.i32 q2, #0 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 HIDDEN _sk_white_color_vfp4 .globl _sk_white_color_vfp4 FUNCTION(_sk_white_color_vfp4) _sk_white_color_vfp4: .long 0xe28f2018 // add r2, pc, #24 .long 0xf4220acf // vld1.64 {d0-d1}, [r2] .long 0xf2202150 // vorr q1, q0, q0 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2204150 // vorr q2, q0, q0 .long 0xf2206150 // vorr q3, q0, q0 .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 HIDDEN _sk_load_rgba_vfp4 .globl _sk_load_rgba_vfp4 FUNCTION(_sk_load_rgba_vfp4) _sk_load_rgba_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe591e000 // ldr lr, [r1] .long 0xe3a0c030 // mov ip, #48 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe1a0300e // mov r3, lr .long 0xf4230a8c // vld1.32 {d0-d1}, [r3], ip .long 0xf4236a8f // vld1.32 {d6-d7}, [r3] .long 0xe28e3020 // add r3, lr, #32 .long 0xf4234a8f // vld1.32 {d4-d5}, [r3] .long 0xe28e3010 // add r3, lr, #16 .long 0xf4232a8f // vld1.32 {d2-d3}, [r3] .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff12 // bx r2 HIDDEN _sk_store_rgba_vfp4 .globl _sk_store_rgba_vfp4 FUNCTION(_sk_store_rgba_vfp4) _sk_store_rgba_vfp4: .long 0xe5912000 // ldr r2, [r1] .long 0xe2823010 // add r3, r2, #16 .long 0xf4032a8f // vst1.32 {d2-d3}, [r3] .long 0xe2823020 // add r3, r2, #32 .long 0xf4034a8f // vst1.32 {d4-d5}, [r3] .long 0xe3a03030 // mov r3, #48 .long 0xf4020a83 // vst1.32 {d0-d1}, [r2], r3 .long 0xf4026a8f // vst1.32 {d6-d7}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe12fff13 // bx r3 HIDDEN _sk_clear_vfp4 .globl _sk_clear_vfp4 FUNCTION(_sk_clear_vfp4) _sk_clear_vfp4: .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2800050 // vmov.i32 q0, #0 .long 0xf2802050 // vmov.i32 q1, #0 .long 0xf2804050 // vmov.i32 q2, #0 .long 0xf2806050 // vmov.i32 q3, #0 .long 0xe12fff12 // bx r2 HIDDEN _sk_srcatop_vfp4 .globl _sk_srcatop_vfp4 FUNCTION(_sk_srcatop_vfp4) _sk_srcatop_vfp4: .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xe2802040 // add r2, r0, #64 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe2802010 // add r2, r0, #16 .long 0xf2602dc6 // vsub.f32 q9, q8, q3 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf3046dd6 // vmul.f32 q3, q10, q3 .long 0xf3042dd2 // vmul.f32 q1, q10, q1 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xf3044dd4 // vmul.f32 q2, q10, q2 .long 0xe2802030 // add r2, r0, #48 .long 0xf3420df0 // vmul.f32 q8, q9, q8 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xf2026cf4 // vfma.f32 q3, q9, q10 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2022cf6 // vfma.f32 q1, q9, q11 .long 0xf2440cd0 // vfma.f32 q8, q10, q0 .long 0xf2024cf8 // vfma.f32 q2, q9, q12 .long 0xf22001f0 // vorr q0, q8, q8 .long 0xe12fff12 // bx r2 HIDDEN _sk_dstatop_vfp4 .globl _sk_dstatop_vfp4 FUNCTION(_sk_dstatop_vfp4) _sk_dstatop_vfp4: .long 0xe2802040 // add r2, r0, #64 .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe2802010 // add r2, r0, #16 .long 0xf2606de4 // vsub.f32 q11, q8, q10 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf3400dd6 // vmul.f32 q8, q8, q3 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xf3444dd6 // vmul.f32 q10, q10, q3 .long 0xf3422dd6 // vmul.f32 q9, q9, q3 .long 0xe2802030 // add r2, r0, #48 .long 0xf3064dd4 // vmul.f32 q2, q11, q2 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xf2460cd0 // vfma.f32 q8, q11, q0 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2462cd2 // vfma.f32 q9, q11, q1 .long 0xf2464cd6 // vfma.f32 q10, q11, q3 .long 0xf2084cd6 // vfma.f32 q2, q12, q3 .long 0xf22001f0 // vorr q0, q8, q8 .long 0xf22221f2 // vorr q1, q9, q9 .long 0xf22461f4 // vorr q3, q10, q10 .long 0xe12fff12 // bx r2 HIDDEN _sk_srcin_vfp4 .globl _sk_srcin_vfp4 FUNCTION(_sk_srcin_vfp4) _sk_srcin_vfp4: .long 0xe2802040 // add r2, r0, #64 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xf3000dd0 // vmul.f32 q0, q8, q0 .long 0xf3002dd2 // vmul.f32 q1, q8, q1 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf3004dd4 // vmul.f32 q2, q8, q2 .long 0xf3006dd6 // vmul.f32 q3, q8, q3 .long 0xe12fff12 // bx r2 HIDDEN _sk_dstin_vfp4 .globl _sk_dstin_vfp4 FUNCTION(_sk_dstin_vfp4) _sk_dstin_vfp4: .long 0xe2802010 // add r2, r0, #16 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf3000dd6 // vmul.f32 q0, q8, q3 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf3024dd6 // vmul.f32 q2, q9, q3 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe2802040 // add r2, r0, #64 .long 0xf3042dd6 // vmul.f32 q1, q10, q3 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xf3006dd6 // vmul.f32 q3, q8, q3 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xe12fff12 // bx r2 HIDDEN _sk_srcout_vfp4 .globl _sk_srcout_vfp4 FUNCTION(_sk_srcout_vfp4) _sk_srcout_vfp4: .long 0xe2802040 // add r2, r0, #64 .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xf2600de2 // vsub.f32 q8, q8, q9 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf3000dd0 // vmul.f32 q0, q8, q0 .long 0xf3002dd2 // vmul.f32 q1, q8, q1 .long 0xf3004dd4 // vmul.f32 q2, q8, q2 .long 0xf3006dd6 // vmul.f32 q3, q8, q3 .long 0xe12fff12 // bx r2 HIDDEN _sk_dstout_vfp4 .globl _sk_dstout_vfp4 FUNCTION(_sk_dstout_vfp4) _sk_dstout_vfp4: .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xe2802010 // add r2, r0, #16 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf2600dc6 // vsub.f32 q8, q8, q3 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe2802040 // add r2, r0, #64 .long 0xf3000df2 // vmul.f32 q0, q8, q9 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xf3002df6 // vmul.f32 q1, q8, q11 .long 0xf3004df4 // vmul.f32 q2, q8, q10 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf3006df2 // vmul.f32 q3, q8, q9 .long 0xe12fff12 // bx r2 HIDDEN _sk_srcover_vfp4 .globl _sk_srcover_vfp4 FUNCTION(_sk_srcover_vfp4) _sk_srcover_vfp4: .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xe2802010 // add r2, r0, #16 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf2600dc6 // vsub.f32 q8, q8, q3 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf2020cf0 // vfma.f32 q0, q9, q8 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe2802040 // add r2, r0, #64 .long 0xf2042cf0 // vfma.f32 q1, q10, q8 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xf2024cf0 // vfma.f32 q2, q9, q8 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2046cf0 // vfma.f32 q3, q10, q8 .long 0xe12fff12 // bx r2 HIDDEN _sk_dstover_vfp4 .globl _sk_dstover_vfp4 FUNCTION(_sk_dstover_vfp4) _sk_dstover_vfp4: .long 0xe2802040 // add r2, r0, #64 .long 0xf2c72f50 // vmov.f32 q9, #1 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe2802010 // add r2, r0, #16 .long 0xf2628de0 // vsub.f32 q12, q9, q8 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xf2402c78 // vfma.f32 q9, q0, q12 .long 0xf2424c78 // vfma.f32 q10, q1, q12 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2446c78 // vfma.f32 q11, q2, q12 .long 0xf2460c78 // vfma.f32 q8, q3, q12 .long 0xf22201f2 // vorr q0, q9, q9 .long 0xf22421f4 // vorr q1, q10, q10 .long 0xf22641f6 // vorr q2, q11, q11 .long 0xf22061f0 // vorr q3, q8, q8 .long 0xe12fff12 // bx r2 HIDDEN _sk_modulate_vfp4 .globl _sk_modulate_vfp4 FUNCTION(_sk_modulate_vfp4) _sk_modulate_vfp4: .long 0xe2802010 // add r2, r0, #16 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf3000dd0 // vmul.f32 q0, q8, q0 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf3024dd4 // vmul.f32 q2, q9, q2 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe2802040 // add r2, r0, #64 .long 0xf3042dd2 // vmul.f32 q1, q10, q1 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xf3006dd6 // vmul.f32 q3, q8, q3 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xe12fff12 // bx r2 HIDDEN _sk_multiply_vfp4 .globl _sk_multiply_vfp4 FUNCTION(_sk_multiply_vfp4) _sk_multiply_vfp4: .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xe2802040 // add r2, r0, #64 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf2606dc6 // vsub.f32 q11, q8, q3 .long 0xf462cacf // vld1.64 {d28-d29}, [r2] .long 0xe2802010 // add r2, r0, #16 .long 0xf260ade8 // vsub.f32 q13, q8, q12 .long 0xf462eacf // vld1.64 {d30-d31}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf3464dfe // vmul.f32 q10, q11, q15 .long 0xf3460df8 // vmul.f32 q8, q11, q12 .long 0xf34a2dd4 // vmul.f32 q9, q13, q2 .long 0xf24a4cd0 // vfma.f32 q10, q13, q0 .long 0xf2462cfc // vfma.f32 q9, q11, q14 .long 0xf24a0cd6 // vfma.f32 q8, q13, q3 .long 0xf24e4cd0 // vfma.f32 q10, q15, q0 .long 0xf462eacf // vld1.64 {d30-d31}, [r2] .long 0xf3466dfe // vmul.f32 q11, q11, q15 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf24c2cd4 // vfma.f32 q9, q14, q2 .long 0xf2480cd6 // vfma.f32 q8, q12, q3 .long 0xf24a6cd2 // vfma.f32 q11, q13, q1 .long 0xf22401f4 // vorr q0, q10, q10 .long 0xf22241f2 // vorr q2, q9, q9 .long 0xf22061f0 // vorr q3, q8, q8 .long 0xf24e6cd2 // vfma.f32 q11, q15, q1 .long 0xf22621f6 // vorr q1, q11, q11 .long 0xe12fff12 // bx r2 HIDDEN _sk_plus__vfp4 .globl _sk_plus__vfp4 FUNCTION(_sk_plus__vfp4) _sk_plus__vfp4: .long 0xe2802020 // add r2, r0, #32 .long 0xf2c76f50 // vmov.f32 q11, #1 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe2802010 // add r2, r0, #16 .long 0xf2400dc2 // vadd.f32 q8, q8, q1 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf2422dc0 // vadd.f32 q9, q9, q0 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe2802040 // add r2, r0, #64 .long 0xf2444dc4 // vadd.f32 q10, q10, q2 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xf2488dc6 // vadd.f32 q12, q12, q3 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2220fe6 // vmin.f32 q0, q9, q11 .long 0xf2202fe6 // vmin.f32 q1, q8, q11 .long 0xf2244fe6 // vmin.f32 q2, q10, q11 .long 0xf2286fe6 // vmin.f32 q3, q12, q11 .long 0xe12fff12 // bx r2 HIDDEN _sk_screen_vfp4 .globl _sk_screen_vfp4 FUNCTION(_sk_screen_vfp4) _sk_screen_vfp4: .long 0xe2802010 // add r2, r0, #16 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf2460dc0 // vadd.f32 q8, q11, q0 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf2482dc2 // vadd.f32 q9, q12, q1 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xe2802040 // add r2, r0, #64 .long 0xf24a4dc4 // vadd.f32 q10, q13, q2 .long 0xf462cacf // vld1.64 {d28-d29}, [r2] .long 0xf2660cd0 // vfms.f32 q8, q11, q0 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf24c6dc6 // vadd.f32 q11, q14, q3 .long 0xf2682cd2 // vfms.f32 q9, q12, q1 .long 0xf26a4cd4 // vfms.f32 q10, q13, q2 .long 0xf26c6cd6 // vfms.f32 q11, q14, q3 .long 0xf22001f0 // vorr q0, q8, q8 .long 0xf22221f2 // vorr q1, q9, q9 .long 0xf22441f4 // vorr q2, q10, q10 .long 0xf22661f6 // vorr q3, q11, q11 .long 0xe12fff12 // bx r2 HIDDEN _sk_xor__vfp4 .globl _sk_xor__vfp4 FUNCTION(_sk_xor__vfp4) _sk_xor__vfp4: .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xe2802010 // add r2, r0, #16 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe2802040 // add r2, r0, #64 .long 0xf2606dc6 // vsub.f32 q11, q8, q3 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf2608de4 // vsub.f32 q12, q8, q10 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf3460df2 // vmul.f32 q8, q11, q9 .long 0xf3462dfa // vmul.f32 q9, q11, q13 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xf3464df4 // vmul.f32 q10, q11, q10 .long 0xf3084dd4 // vmul.f32 q2, q12, q2 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2480cd0 // vfma.f32 q8, q12, q0 .long 0xf2482cd2 // vfma.f32 q9, q12, q1 .long 0xf2484cd6 // vfma.f32 q10, q12, q3 .long 0xf2064cfa // vfma.f32 q2, q11, q13 .long 0xf22001f0 // vorr q0, q8, q8 .long 0xf22221f2 // vorr q1, q9, q9 .long 0xf22461f4 // vorr q3, q10, q10 .long 0xe12fff12 // bx r2 HIDDEN _sk_darken_vfp4 .globl _sk_darken_vfp4 FUNCTION(_sk_darken_vfp4) _sk_darken_vfp4: .long 0xe2802040 // add r2, r0, #64 .long 0xf2c72f50 // vmov.f32 q9, #1 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe2802010 // add r2, r0, #16 .long 0xf340add0 // vmul.f32 q13, q8, q0 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf3446dd6 // vmul.f32 q11, q10, q3 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xf340edd2 // vmul.f32 q15, q8, q1 .long 0xf348cdd6 // vmul.f32 q14, q12, q3 .long 0xe2802030 // add r2, r0, #48 .long 0xf2444dc0 // vadd.f32 q10, q10, q0 .long 0xf24a6fe6 // vmax.f32 q11, q13, q11 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xf24ecfec // vmax.f32 q14, q15, q14 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf24aedc4 // vadd.f32 q15, q13, q2 .long 0xf34aadd6 // vmul.f32 q13, q13, q3 .long 0xf3000dd4 // vmul.f32 q0, q8, q2 .long 0xf2622dc6 // vsub.f32 q9, q9, q3 .long 0xf2488dc2 // vadd.f32 q12, q12, q1 .long 0xf240af6a // vmax.f32 q13, q0, q13 .long 0xf2006cf2 // vfma.f32 q3, q8, q9 .long 0xf2240de6 // vsub.f32 q0, q10, q11 .long 0xf2282dec // vsub.f32 q1, q12, q14 .long 0xf22e4dea // vsub.f32 q2, q15, q13 .long 0xe12fff12 // bx r2 HIDDEN _sk_lighten_vfp4 .globl _sk_lighten_vfp4 FUNCTION(_sk_lighten_vfp4) _sk_lighten_vfp4: .long 0xe2802040 // add r2, r0, #64 .long 0xf2c72f50 // vmov.f32 q9, #1 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe2802010 // add r2, r0, #16 .long 0xf340add0 // vmul.f32 q13, q8, q0 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf3446dd6 // vmul.f32 q11, q10, q3 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xf340edd2 // vmul.f32 q15, q8, q1 .long 0xf348cdd6 // vmul.f32 q14, q12, q3 .long 0xe2802030 // add r2, r0, #48 .long 0xf2444dc0 // vadd.f32 q10, q10, q0 .long 0xf26a6fe6 // vmin.f32 q11, q13, q11 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xf26ecfec // vmin.f32 q14, q15, q14 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf24aedc4 // vadd.f32 q15, q13, q2 .long 0xf34aadd6 // vmul.f32 q13, q13, q3 .long 0xf3000dd4 // vmul.f32 q0, q8, q2 .long 0xf2622dc6 // vsub.f32 q9, q9, q3 .long 0xf2488dc2 // vadd.f32 q12, q12, q1 .long 0xf260af6a // vmin.f32 q13, q0, q13 .long 0xf2006cf2 // vfma.f32 q3, q8, q9 .long 0xf2240de6 // vsub.f32 q0, q10, q11 .long 0xf2282dec // vsub.f32 q1, q12, q14 .long 0xf22e4dea // vsub.f32 q2, q15, q13 .long 0xe12fff12 // bx r2 HIDDEN _sk_difference_vfp4 .globl _sk_difference_vfp4 FUNCTION(_sk_difference_vfp4) _sk_difference_vfp4: .long 0xe2802010 // add r2, r0, #16 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe2802040 // add r2, r0, #64 .long 0xf3404dd6 // vmul.f32 q10, q8, q3 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf3426dd0 // vmul.f32 q11, q9, q0 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xf342cdd4 // vmul.f32 q14, q9, q2 .long 0xf348add6 // vmul.f32 q13, q12, q3 .long 0xe2802020 // add r2, r0, #32 .long 0xf342edd2 // vmul.f32 q15, q9, q1 .long 0xf2400dc0 // vadd.f32 q8, q8, q0 .long 0xf2664fe4 // vmin.f32 q10, q11, q10 .long 0xf26c6fea // vmin.f32 q11, q14, q13 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xf34acdd6 // vmul.f32 q14, q13, q3 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2444de4 // vadd.f32 q10, q10, q10 .long 0xf24aadc2 // vadd.f32 q13, q13, q1 .long 0xf26ecfec // vmin.f32 q14, q15, q14 .long 0xf2c7ef50 // vmov.f32 q15, #1 .long 0xf2488dc4 // vadd.f32 q12, q12, q2 .long 0xf26eedc6 // vsub.f32 q15, q15, q3 .long 0xf24ccdec // vadd.f32 q14, q14, q14 .long 0xf2466de6 // vadd.f32 q11, q11, q11 .long 0xf2026cfe // vfma.f32 q3, q9, q15 .long 0xf2200de4 // vsub.f32 q0, q8, q10 .long 0xf22a2dec // vsub.f32 q1, q13, q14 .long 0xf2284de6 // vsub.f32 q2, q12, q11 .long 0xe12fff12 // bx r2 HIDDEN _sk_exclusion_vfp4 .globl _sk_exclusion_vfp4 FUNCTION(_sk_exclusion_vfp4) _sk_exclusion_vfp4: .long 0xe2802010 // add r2, r0, #16 .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf3424dd0 // vmul.f32 q10, q9, q0 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf3468dd2 // vmul.f32 q12, q11, q1 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xf2600dc6 // vsub.f32 q8, q8, q3 .long 0xe2802040 // add r2, r0, #64 .long 0xf34acdd4 // vmul.f32 q14, q13, q2 .long 0xf462eacf // vld1.64 {d30-d31}, [r2] .long 0xf2422dc0 // vadd.f32 q9, q9, q0 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2444de4 // vadd.f32 q10, q10, q10 .long 0xf2466dc2 // vadd.f32 q11, q11, q1 .long 0xf2488de8 // vadd.f32 q12, q12, q12 .long 0xf24aadc4 // vadd.f32 q13, q13, q2 .long 0xf24ccdec // vadd.f32 q14, q14, q14 .long 0xf20e6cf0 // vfma.f32 q3, q15, q8 .long 0xf2220de4 // vsub.f32 q0, q9, q10 .long 0xf2262de8 // vsub.f32 q1, q11, q12 .long 0xf22a4dec // vsub.f32 q2, q13, q14 .long 0xe12fff12 // bx r2 HIDDEN _sk_colorburn_vfp4 .globl _sk_colorburn_vfp4 FUNCTION(_sk_colorburn_vfp4) _sk_colorburn_vfp4: .long 0xed2d8b10 // vpush {d8-d15} .long 0xf3fb4544 // vrecpe.f32 q10, q2 .long 0xe2802030 // add r2, r0, #48 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe2802040 // add r2, r0, #64 .long 0xf3b9a542 // vceq.f32 q5, q1, #0 .long 0xf3b9e540 // vceq.f32 q7, q0, #0 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf2608de2 // vsub.f32 q12, q8, q9 .long 0xf2446f74 // vrecps.f32 q11, q2, q10 .long 0xf3444df6 // vmul.f32 q10, q10, q11 .long 0xf3486dd6 // vmul.f32 q11, q12, q3 .long 0xf2c78f50 // vmov.f32 q12, #1 .long 0xf268ade0 // vsub.f32 q13, q12, q8 .long 0xf3464df4 // vmul.f32 q10, q11, q10 .long 0xf2688dc6 // vsub.f32 q12, q12, q3 .long 0xf34a6dd4 // vmul.f32 q11, q13, q2 .long 0xf30a8dd2 // vmul.f32 q4, q13, q1 .long 0xf2604fe4 // vmin.f32 q10, q8, q10 .long 0xf348edf2 // vmul.f32 q15, q12, q9 .long 0xf266c1f6 // vorr q14, q11, q11 .long 0xf34aadd0 // vmul.f32 q13, q13, q0 .long 0xf2604de4 // vsub.f32 q10, q8, q10 .long 0xf244ccd6 // vfma.f32 q14, q10, q3 .long 0xf3f94544 // vceq.f32 q10, q2, #0 .long 0xf3bb4542 // vrecpe.f32 q2, q1 .long 0xf24ecdec // vadd.f32 q14, q15, q14 .long 0xf35e41fc // vbsl q10, q15, q14 .long 0xf242cf54 // vrecps.f32 q14, q1, q2 .long 0xf344ed7c // vmul.f32 q15, q2, q14 .long 0xf462cacf // vld1.64 {d28-d29}, [r2] .long 0xf2204dec // vsub.f32 q2, q8, q14 .long 0xe2802010 // add r2, r0, #16 .long 0xf422cacf // vld1.64 {d12-d13}, [r2] .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf3044d56 // vmul.f32 q2, q2, q3 .long 0xf344ed7e // vmul.f32 q15, q2, q15 .long 0xf2284158 // vorr q2, q4, q4 .long 0xf260efee // vmin.f32 q15, q8, q15 .long 0xf260edee // vsub.f32 q15, q8, q15 .long 0xf20e4cd6 // vfma.f32 q2, q15, q3 .long 0xf348edfc // vmul.f32 q15, q12, q14 .long 0xf20e4dc4 // vadd.f32 q2, q15, q2 .long 0xf31ea1d4 // vbsl q5, q15, q2 .long 0xf3fbe540 // vrecpe.f32 q15, q0 .long 0xf2024ee0 // vceq.f32 q2, q9, q8 .long 0xf2462de2 // vadd.f32 q9, q11, q9 .long 0xf2002f7e // vrecps.f32 q1, q0, q15 .long 0xf2486d6c // vadd.f32 q11, q4, q14 .long 0xf20c0e60 // vceq.f32 q0, q6, q8 .long 0xf31241f4 // vbsl q2, q9, q10 .long 0xf34eedd2 // vmul.f32 q15, q15, q1 .long 0xf2202dcc // vsub.f32 q1, q8, q6 .long 0xf3022d56 // vmul.f32 q1, q1, q3 .long 0xf342ed7e // vmul.f32 q15, q1, q15 .long 0xf22a21fa // vorr q1, q13, q13 .long 0xf260efee // vmin.f32 q15, q8, q15 .long 0xf260edee // vsub.f32 q15, q8, q15 .long 0xf20e2cd6 // vfma.f32 q1, q15, q3 .long 0xf348eddc // vmul.f32 q15, q12, q6 .long 0xf2006cf8 // vfma.f32 q3, q8, q12 .long 0xf20e2dc2 // vadd.f32 q1, q15, q1 .long 0xf31ee1d2 // vbsl q7, q15, q1 .long 0xf20c2ee0 // vceq.f32 q1, q14, q8 .long 0xf24c0d6a // vadd.f32 q8, q6, q13 .long 0xf31621da // vbsl q1, q11, q5 .long 0xf31001de // vbsl q0, q8, q7 .long 0xecbd8b10 // vpop {d8-d15} .long 0xe12fff12 // bx r2 HIDDEN _sk_colordodge_vfp4 .globl _sk_colordodge_vfp4 FUNCTION(_sk_colordodge_vfp4) _sk_colordodge_vfp4: .long 0xed2d8b0c // vpush {d8-d13} .long 0xf2660d44 // vsub.f32 q8, q3, q2 .long 0xe2802030 // add r2, r0, #48 .long 0xf2c78f50 // vmov.f32 q12, #1 .long 0xf202ae46 // vceq.f32 q5, q1, q3 .long 0xf3fb2560 // vrecpe.f32 q9, q8 .long 0xf200ce46 // vceq.f32 q6, q0, q3 .long 0xf2404ff2 // vrecps.f32 q10, q8, q9 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe2802040 // add r2, r0, #64 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf268ade6 // vsub.f32 q13, q12, q11 .long 0xf2688dc6 // vsub.f32 q12, q12, q3 .long 0xf3422df4 // vmul.f32 q9, q9, q10 .long 0xf3404dd6 // vmul.f32 q10, q8, q3 .long 0xf348edf0 // vmul.f32 q15, q12, q8 .long 0xf3442df2 // vmul.f32 q9, q10, q9 .long 0xf2664fe2 // vmin.f32 q10, q11, q9 .long 0xf34a2dd4 // vmul.f32 q9, q13, q2 .long 0xf262c1f2 // vorr q14, q9, q9 .long 0xf244ccd6 // vfma.f32 q14, q10, q3 .long 0xf2444e46 // vceq.f32 q10, q2, q3 .long 0xf20e4dc4 // vadd.f32 q2, q15, q2 .long 0xf24ecdec // vadd.f32 q14, q15, q14 .long 0xf266ed42 // vsub.f32 q15, q3, q1 .long 0xf354417c // vbsl q10, q2, q14 .long 0xf3fbc56e // vrecpe.f32 q14, q15 .long 0xf24eeffc // vrecps.f32 q15, q15, q14 .long 0xf34cedfe // vmul.f32 q15, q14, q15 .long 0xf462cacf // vld1.64 {d28-d29}, [r2] .long 0xf30c4dd6 // vmul.f32 q2, q14, q3 .long 0xe2802010 // add r2, r0, #16 .long 0xf344ed7e // vmul.f32 q15, q2, q15 .long 0xf2264fee // vmin.f32 q2, q11, q15 .long 0xf34aedd2 // vmul.f32 q15, q13, q1 .long 0xf34aadd0 // vmul.f32 q13, q13, q0 .long 0xf22e81fe // vorr q4, q15, q15 .long 0xf2048c56 // vfma.f32 q4, q2, q3 .long 0xf3084dfc // vmul.f32 q2, q12, q14 .long 0xf2042d42 // vadd.f32 q1, q2, q1 .long 0xf2048d48 // vadd.f32 q4, q2, q4 .long 0xf312a158 // vbsl q5, q1, q4 .long 0xf2262d40 // vsub.f32 q1, q3, q0 .long 0xf3bb4542 // vrecpe.f32 q2, q1 .long 0xf2022f54 // vrecps.f32 q1, q1, q2 .long 0xf3042d52 // vmul.f32 q1, q2, q1 .long 0xf4224acf // vld1.64 {d4-d5}, [r2] .long 0xf3048d56 // vmul.f32 q4, q2, q3 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf3082d52 // vmul.f32 q1, q4, q1 .long 0xf22a81fa // vorr q4, q13, q13 .long 0xf2262fc2 // vmin.f32 q1, q11, q1 .long 0xf2028c56 // vfma.f32 q4, q1, q3 .long 0xf3082dd4 // vmul.f32 q1, q12, q2 .long 0xf2066cf8 // vfma.f32 q3, q11, q12 .long 0xf2020d40 // vadd.f32 q0, q1, q0 .long 0xf2028d48 // vadd.f32 q4, q1, q4 .long 0xf3b9256c // vceq.f32 q1, q14, #0 .long 0xf31e21da // vbsl q1, q15, q5 .long 0xf310c158 // vbsl q6, q0, q4 .long 0xf3b90544 // vceq.f32 q0, q2, #0 .long 0xf3b94560 // vceq.f32 q2, q8, #0 .long 0xf31a01dc // vbsl q0, q13, q6 .long 0xf31241f4 // vbsl q2, q9, q10 .long 0xecbd8b0c // vpop {d8-d13} .long 0xe12fff12 // bx r2 HIDDEN _sk_hardlight_vfp4 .globl _sk_hardlight_vfp4 FUNCTION(_sk_hardlight_vfp4) _sk_hardlight_vfp4: .long 0xed2d8b08 // vpush {d8-d11} .long 0xe2802040 // add r2, r0, #64 .long 0xf2268d42 // vsub.f32 q4, q3, q1 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf260cde2 // vsub.f32 q14, q8, q9 .long 0xf462eacf // vld1.64 {d30-d31}, [r2] .long 0xe2802010 // add r2, r0, #16 .long 0xf262adee // vsub.f32 q13, q9, q15 .long 0xf2606dc6 // vsub.f32 q11, q8, q3 .long 0xf34c4dd2 // vmul.f32 q10, q14, q1 .long 0xf34c0dd4 // vmul.f32 q8, q14, q2 .long 0xf348ad7a // vmul.f32 q13, q4, q13 .long 0xf3028dd6 // vmul.f32 q4, q9, q3 .long 0xf2464cfe // vfma.f32 q10, q11, q15 .long 0xf34eedd2 // vmul.f32 q15, q15, q1 .long 0xf24aadea // vadd.f32 q13, q13, q13 .long 0xf2460cf8 // vfma.f32 q8, q11, q12 .long 0xf24eedee // vadd.f32 q15, q15, q15 .long 0xf228ad6a // vsub.f32 q5, q4, q13 .long 0xf242ad42 // vadd.f32 q13, q1, q1 .long 0xf346ae6a // vcge.f32 q13, q3, q13 .long 0xf35ea1da // vbsl q13, q15, q5 .long 0xf462eacf // vld1.64 {d30-d31}, [r2] .long 0xf3062dfe // vmul.f32 q1, q11, q15 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf226ad40 // vsub.f32 q5, q3, q0 .long 0xf20c2cd0 // vfma.f32 q1, q14, q0 .long 0xf262cdee // vsub.f32 q14, q9, q15 .long 0xf34eedd0 // vmul.f32 q15, q15, q0 .long 0xf34acd7c // vmul.f32 q14, q5, q14 .long 0xf200ad40 // vadd.f32 q5, q0, q0 .long 0xf24eedee // vadd.f32 q15, q15, q15 .long 0xf24ccdec // vadd.f32 q14, q14, q14 .long 0xf306ae4a // vcge.f32 q5, q3, q5 .long 0xf268cd6c // vsub.f32 q14, q4, q14 .long 0xf31ea1fc // vbsl q5, q15, q14 .long 0xf262cde8 // vsub.f32 q14, q9, q12 .long 0xf266ed44 // vsub.f32 q15, q3, q2 .long 0xf3488dd4 // vmul.f32 q12, q12, q2 .long 0xf2020d4a // vadd.f32 q0, q1, q5 .long 0xf34ecdfc // vmul.f32 q14, q15, q14 .long 0xf244ed44 // vadd.f32 q15, q2, q2 .long 0xf2488de8 // vadd.f32 q12, q12, q12 .long 0xf24ccdec // vadd.f32 q14, q14, q14 .long 0xf346ee6e // vcge.f32 q15, q3, q15 .long 0xf2026cf6 // vfma.f32 q3, q9, q11 .long 0xf268cd6c // vsub.f32 q14, q4, q14 .long 0xf358e1fc // vbsl q15, q12, q14 .long 0xf2042dea // vadd.f32 q1, q10, q13 .long 0xf2004dee // vadd.f32 q2, q8, q15 .long 0xecbd8b08 // vpop {d8-d11} .long 0xe12fff12 // bx r2 HIDDEN _sk_overlay_vfp4 .globl _sk_overlay_vfp4 FUNCTION(_sk_overlay_vfp4) _sk_overlay_vfp4: .long 0xed2d8b08 // vpush {d8-d11} .long 0xe2802040 // add r2, r0, #64 .long 0xf2268d42 // vsub.f32 q4, q3, q1 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf260cde2 // vsub.f32 q14, q8, q9 .long 0xf462eacf // vld1.64 {d30-d31}, [r2] .long 0xe2802010 // add r2, r0, #16 .long 0xf262adee // vsub.f32 q13, q9, q15 .long 0xf2606dc6 // vsub.f32 q11, q8, q3 .long 0xf34c4dd2 // vmul.f32 q10, q14, q1 .long 0xf34c0dd4 // vmul.f32 q8, q14, q2 .long 0xf348ad7a // vmul.f32 q13, q4, q13 .long 0xf3028dd6 // vmul.f32 q4, q9, q3 .long 0xf2464cfe // vfma.f32 q10, q11, q15 .long 0xf2460cf8 // vfma.f32 q8, q11, q12 .long 0xf24aadea // vadd.f32 q13, q13, q13 .long 0xf228ad6a // vsub.f32 q5, q4, q13 .long 0xf24eadee // vadd.f32 q13, q15, q15 .long 0xf34eedd2 // vmul.f32 q15, q15, q1 .long 0xf342aeea // vcge.f32 q13, q9, q13 .long 0xf24eedee // vadd.f32 q15, q15, q15 .long 0xf35ea1da // vbsl q13, q15, q5 .long 0xf462eacf // vld1.64 {d30-d31}, [r2] .long 0xf3062dfe // vmul.f32 q1, q11, q15 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf226ad40 // vsub.f32 q5, q3, q0 .long 0xf20c2cd0 // vfma.f32 q1, q14, q0 .long 0xf262cdee // vsub.f32 q14, q9, q15 .long 0xf34acd7c // vmul.f32 q14, q5, q14 .long 0xf20eadee // vadd.f32 q5, q15, q15 .long 0xf34eedd0 // vmul.f32 q15, q15, q0 .long 0xf24ccdec // vadd.f32 q14, q14, q14 .long 0xf302aeca // vcge.f32 q5, q9, q5 .long 0xf24eedee // vadd.f32 q15, q15, q15 .long 0xf268cd6c // vsub.f32 q14, q4, q14 .long 0xf31ea1fc // vbsl q5, q15, q14 .long 0xf262cde8 // vsub.f32 q14, q9, q12 .long 0xf266ed44 // vsub.f32 q15, q3, q2 .long 0xf2020d4a // vadd.f32 q0, q1, q5 .long 0xf2026cf6 // vfma.f32 q3, q9, q11 .long 0xf34ecdfc // vmul.f32 q14, q15, q14 .long 0xf248ede8 // vadd.f32 q15, q12, q12 .long 0xf3488dd4 // vmul.f32 q12, q12, q2 .long 0xf2042dea // vadd.f32 q1, q10, q13 .long 0xf24ccdec // vadd.f32 q14, q14, q14 .long 0xf342eeee // vcge.f32 q15, q9, q15 .long 0xf2488de8 // vadd.f32 q12, q12, q12 .long 0xf268cd6c // vsub.f32 q14, q4, q14 .long 0xf358e1fc // vbsl q15, q12, q14 .long 0xf2004dee // vadd.f32 q2, q8, q15 .long 0xecbd8b08 // vpop {d8-d11} .long 0xe12fff12 // bx r2 HIDDEN _sk_softlight_vfp4 .globl _sk_softlight_vfp4 FUNCTION(_sk_softlight_vfp4) _sk_softlight_vfp4: .long 0xe92d0030 // push {r4, r5} .long 0xed2d8b10 // vpush {d8-d15} .long 0xe24dd028 // sub sp, sp, #40 .long 0xf2620152 // vorr q8, q1, q1 .long 0xe28d2010 // add r2, sp, #16 .long 0xf2c06050 // vmov.i32 q11, #0 .long 0xec824b04 // vstmia r2, {d4-d5} .long 0xe2802040 // add r2, r0, #64 .long 0xf3c78f50 // vmov.f32 q12, #-1 .long 0xeccd0b04 // vstmia sp, {d16-d17} .long 0xf2812f5c // vmov.f32 q1, #7 .long 0xf2c7af50 // vmov.f32 q13, #1 .long 0xf4228acf // vld1.64 {d8-d9}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf3874f50 // vmov.f32 q2, #-1 .long 0xf422aacf // vld1.64 {d10-d11}, [r2] .long 0xf3f94448 // vcgt.f32 q10, q4, #0 .long 0xf26421f4 // vorr q9, q10, q10 .long 0xe2802010 // add r2, r0, #16 .long 0xeecbdaa9 // vdiv.f32 s27, s23, s19 .long 0xee8bda09 // vdiv.f32 s26, s22, s18 .long 0xeecacaa8 // vdiv.f32 s25, s21, s17 .long 0xee8aca08 // vdiv.f32 s24, s20, s16 .long 0xf35c2176 // vbsl q9, q6, q11 .long 0xf30aed56 // vmul.f32 q7, q5, q3 .long 0xf2426de2 // vadd.f32 q11, q9, q9 .long 0xf242cde8 // vadd.f32 q14, q9, q12 .long 0xf342edd2 // vmul.f32 q15, q9, q1 .long 0xf2466de6 // vadd.f32 q11, q11, q11 .long 0xf2466cf6 // vfma.f32 q11, q11, q11 .long 0xf24cecf6 // vfma.f32 q15, q14, q11 .long 0xf3fb65e2 // vrsqrte.f32 q11, q9 .long 0xf346cdf6 // vmul.f32 q14, q11, q11 .long 0xf262cffc // vrsqrts.f32 q14, q9, q14 .long 0xf3466dfc // vmul.f32 q11, q11, q14 .long 0xf3fbc566 // vrecpe.f32 q14, q11 .long 0xf2466ffc // vrecps.f32 q11, q11, q14 .long 0xf34c6df6 // vmul.f32 q11, q14, q11 .long 0xf24acd4a // vadd.f32 q14, q5, q5 .long 0xf2666de2 // vsub.f32 q11, q11, q9 .long 0xf24ccdec // vadd.f32 q14, q14, q14 .long 0xf26a2de2 // vsub.f32 q9, q13, q9 .long 0xf348ce6c // vcge.f32 q14, q4, q14 .long 0xf35ec1f6 // vbsl q14, q15, q11 .long 0xf240ede0 // vadd.f32 q15, q8, q8 .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xf22ecdc6 // vsub.f32 q6, q15, q3 .long 0xf3468e6e // vcge.f32 q12, q3, q15 .long 0xf34c6d58 // vmul.f32 q11, q6, q4 .long 0xf206ecfc // vfma.f32 q7, q11, q14 .long 0xf266c156 // vorr q14, q3, q3 .long 0xf24ccc72 // vfma.f32 q14, q6, q9 .long 0xf422cacf // vld1.64 {d12-d13}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf2402d40 // vadd.f32 q9, q0, q0 .long 0xf34acd7c // vmul.f32 q14, q5, q14 .long 0xf35c81de // vbsl q12, q14, q7 .long 0xeecdfaa9 // vdiv.f32 s31, s27, s19 .long 0xee8dfa09 // vdiv.f32 s30, s26, s18 .long 0xeecceaa8 // vdiv.f32 s29, s25, s17 .long 0xee8cea08 // vdiv.f32 s28, s24, s16 .long 0xf264c1f4 // vorr q14, q10, q10 .long 0xf35ec170 // vbsl q14, q7, q8 .long 0xf24cedec // vadd.f32 q15, q14, q14 .long 0xf20cedc4 // vadd.f32 q7, q14, q2 .long 0xf34c0dd2 // vmul.f32 q8, q14, q1 .long 0xf24eedee // vadd.f32 q15, q15, q15 .long 0xf2204150 // vorr q2, q0, q0 .long 0xf24eecfe // vfma.f32 q15, q15, q15 .long 0xf24e0c7e // vfma.f32 q8, q7, q15 .long 0xf3fbe5ec // vrsqrte.f32 q15, q14 .long 0xf30eedfe // vmul.f32 q7, q15, q15 .long 0xf22cefde // vrsqrts.f32 q7, q14, q7 .long 0xf34eedde // vmul.f32 q15, q15, q7 .long 0xf3bbe56e // vrecpe.f32 q7, q15 .long 0xf24eefde // vrecps.f32 q15, q15, q7 .long 0xf34eed7e // vmul.f32 q15, q7, q15 .long 0xf20ced4c // vadd.f32 q7, q6, q6 .long 0xf26eedec // vsub.f32 q15, q15, q14 .long 0xf20eed4e // vadd.f32 q7, q7, q7 .long 0xf308ee4e // vcge.f32 q7, q4, q7 .long 0xf310e1fe // vbsl q7, q8, q15 .long 0xf262edc6 // vsub.f32 q15, q9, q3 .long 0xf34c0d56 // vmul.f32 q8, q6, q3 .long 0xf34e6dd8 // vmul.f32 q11, q15, q4 .long 0xf2460cde // vfma.f32 q8, q11, q7 .long 0xf422eacf // vld1.64 {d14-d15}, [r2] .long 0xe28d2010 // add r2, sp, #16 .long 0xeecf1aa9 // vdiv.f32 s3, s31, s19 .long 0xee8f1a09 // vdiv.f32 s2, s30, s18 .long 0xeece0aa8 // vdiv.f32 s1, s29, s17 .long 0xf26a6dec // vsub.f32 q11, q13, q14 .long 0xee8e0a08 // vdiv.f32 s0, s28, s16 .long 0xf266c156 // vorr q14, q3, q3 .long 0xf24eccf6 // vfma.f32 q14, q15, q11 .long 0xf34c6d7c // vmul.f32 q11, q6, q14 .long 0xf346ce62 // vcge.f32 q14, q3, q9 .long 0xf356c1f0 // vbsl q14, q11, q8 .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xf3504170 // vbsl q10, q0, q8 .long 0xf3c70f50 // vmov.f32 q8, #-1 .long 0xf2446de4 // vadd.f32 q11, q10, q10 .long 0xf2440de0 // vadd.f32 q8, q10, q8 .long 0xf3442dd2 // vmul.f32 q9, q10, q1 .long 0xec922b04 // vldmia r2, {d2-d3} .long 0xf2466de6 // vadd.f32 q11, q11, q11 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf30e0d56 // vmul.f32 q0, q7, q3 .long 0xf2466cf6 // vfma.f32 q11, q11, q11 .long 0xf2402cf6 // vfma.f32 q9, q8, q11 .long 0xf3fb05e4 // vrsqrte.f32 q8, q10 .long 0xf3406df0 // vmul.f32 q11, q8, q8 .long 0xf2646ff6 // vrsqrts.f32 q11, q10, q11 .long 0xf3400df6 // vmul.f32 q8, q8, q11 .long 0xf3fb6560 // vrecpe.f32 q11, q8 .long 0xf2400ff6 // vrecps.f32 q8, q8, q11 .long 0xf3460df0 // vmul.f32 q8, q11, q8 .long 0xf24e6d4e // vadd.f32 q11, q7, q7 .long 0xf2600de4 // vsub.f32 q8, q8, q10 .long 0xf2466de6 // vadd.f32 q11, q11, q11 .long 0xf26a4de4 // vsub.f32 q10, q13, q10 .long 0xf3486e66 // vcge.f32 q11, q4, q11 .long 0xf35261f0 // vbsl q11, q9, q8 .long 0xf2420d42 // vadd.f32 q8, q1, q1 .long 0xf2602dc6 // vsub.f32 q9, q8, q3 .long 0xf3460e60 // vcge.f32 q8, q3, q8 .long 0xf342edd8 // vmul.f32 q15, q9, q4 .long 0xf20e0cf6 // vfma.f32 q0, q15, q11 .long 0xecddeb04 // vldmia sp, {d30-d31} .long 0xf2666156 // vorr q11, q3, q3 .long 0xf2426cf4 // vfma.f32 q11, q9, q10 .long 0xf26a4dc6 // vsub.f32 q10, q13, q3 .long 0xf2086c74 // vfma.f32 q3, q4, q10 .long 0xf34e2d76 // vmul.f32 q9, q7, q11 .long 0xf26a6dc8 // vsub.f32 q11, q13, q4 .long 0xf35201d0 // vbsl q8, q9, q0 .long 0xf346add2 // vmul.f32 q13, q11, q1 .long 0xf346edfe // vmul.f32 q15, q11, q15 .long 0xf3042ddc // vmul.f32 q1, q10, q6 .long 0xf244acde // vfma.f32 q13, q10, q7 .long 0xf2062cd4 // vfma.f32 q1, q11, q2 .long 0xf244ecda // vfma.f32 q15, q10, q5 .long 0xf20a4de0 // vadd.f32 q2, q13, q8 .long 0xf2020d6c // vadd.f32 q0, q1, q14 .long 0xf20e2de8 // vadd.f32 q1, q15, q12 .long 0xe28dd028 // add sp, sp, #40 .long 0xecbd8b10 // vpop {d8-d15} .long 0xe8bd0030 // pop {r4, r5} .long 0xe12fff12 // bx r2 HIDDEN _sk_hue_vfp4 .globl _sk_hue_vfp4 FUNCTION(_sk_hue_vfp4) _sk_hue_vfp4: .long 0xe92d0030 // push {r4, r5} .long 0xed2d8b10 // vpush {d8-d15} .long 0xe24dd058 // sub sp, sp, #88 .long 0xf3440d56 // vmul.f32 q8, q2, q3 .long 0xe28d2040 // add r2, sp, #64 .long 0xf3424d56 // vmul.f32 q10, q1, q3 .long 0xf340ed56 // vmul.f32 q15, q0, q3 .long 0xec824b04 // vstmia r2, {d4-d5} .long 0xe28d2020 // add r2, sp, #32 .long 0xec822b04 // vstmia r2, {d2-d3} .long 0xe28d2030 // add r2, sp, #48 .long 0xf2642fe0 // vmin.f32 q9, q10, q8 .long 0xec820b04 // vstmia r2, {d0-d1} .long 0xe2802030 // add r2, r0, #48 .long 0xf2446fe0 // vmax.f32 q11, q10, q8 .long 0xf26e2fe2 // vmin.f32 q9, q15, q9 .long 0xf24e6fe6 // vmax.f32 q11, q15, q11 .long 0xf2648de2 // vsub.f32 q12, q10, q9 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf2260de2 // vsub.f32 q0, q11, q9 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe2802010 // add r2, r0, #16 .long 0xf266afe4 // vmin.f32 q13, q11, q10 .long 0xf4222acf // vld1.64 {d2-d3}, [r2] .long 0xe28d2010 // add r2, sp, #16 .long 0xf246cfe4 // vmax.f32 q14, q11, q10 .long 0xecc24b04 // vstmia r2, {d20-d21} .long 0xf26eede2 // vsub.f32 q15, q15, q9 .long 0xec8d2b04 // vstmia sp, {d2-d3} .long 0xe28f2d09 // add r2, pc, #576 .long 0xf262af6a // vmin.f32 q13, q1, q13 .long 0xf242cf6c // vmax.f32 q14, q1, q14 .long 0xf2600de2 // vsub.f32 q8, q8, q9 .long 0xf26cadea // vsub.f32 q13, q14, q13 .long 0xf3f9c540 // vceq.f32 q14, q0, #0 .long 0xf34aadd6 // vmul.f32 q13, q13, q3 .long 0xf30a4df8 // vmul.f32 q2, q13, q12 .long 0xf26c81fc // vorr q12, q14, q14 .long 0xf30aedf0 // vmul.f32 q7, q13, q8 .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xeec59aa1 // vdiv.f32 s19, s11, s3 .long 0xee859a01 // vdiv.f32 s18, s10, s2 .long 0xeec48aa0 // vdiv.f32 s17, s9, s1 .long 0xee848a00 // vdiv.f32 s16, s8, s0 .long 0xf2804050 // vmov.i32 q2, #0 .long 0xf3548158 // vbsl q12, q2, q4 .long 0xf30a8dfe // vmul.f32 q4, q13, q15 .long 0xf2804050 // vmov.i32 q2, #0 .long 0xf26ce1fc // vorr q15, q14, q14 .long 0xeec9baa1 // vdiv.f32 s23, s19, s3 .long 0xee89ba01 // vdiv.f32 s22, s18, s2 .long 0xeec8aaa0 // vdiv.f32 s21, s17, s1 .long 0xee88aa00 // vdiv.f32 s20, s16, s0 .long 0xf354e15a // vbsl q15, q2, q5 .long 0xf4228acf // vld1.64 {d8-d9}, [r2] .long 0xe28f2f7a // add r2, pc, #488 .long 0xeecf5aa1 // vdiv.f32 s11, s31, s3 .long 0xee8f5a01 // vdiv.f32 s10, s30, s2 .long 0xeece4aa0 // vdiv.f32 s9, s29, s1 .long 0xee8e4a00 // vdiv.f32 s8, s28, s0 .long 0xf350c1d4 // vbsl q14, q8, q2 .long 0xf422aacf // vld1.64 {d10-d11}, [r2] .long 0xe28f2f77 // add r2, pc, #476 .long 0xf3420d58 // vmul.f32 q8, q1, q4 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xf30ecdd8 // vmul.f32 q6, q15, q4 .long 0xe2802040 // add r2, r0, #64 .long 0xf2460cda // vfma.f32 q8, q11, q5 .long 0xf208ccda // vfma.f32 q6, q12, q5 .long 0xf2440cf2 // vfma.f32 q8, q10, q9 .long 0xf20cccf2 // vfma.f32 q6, q14, q9 .long 0xf3400dd6 // vmul.f32 q8, q8, q3 .long 0xf2200dcc // vsub.f32 q0, q8, q6 .long 0xf240ad6e // vadd.f32 q13, q0, q15 .long 0xf462eacf // vld1.64 {d30-d31}, [r2] .long 0xe28d2020 // add r2, sp, #32 .long 0xf2400d68 // vadd.f32 q8, q0, q12 .long 0xf2000d6c // vadd.f32 q0, q0, q14 .long 0xf34a8dd8 // vmul.f32 q12, q13, q4 .long 0xf2408cda // vfma.f32 q12, q8, q5 .long 0xf2408c72 // vfma.f32 q12, q0, q9 .long 0xf2602d68 // vsub.f32 q9, q0, q12 .long 0xf3088df2 // vmul.f32 q4, q12, q9 .long 0xf2602fc0 // vmin.f32 q9, q8, q0 .long 0xf26a2fe2 // vmin.f32 q9, q13, q9 .long 0xf228ade2 // vsub.f32 q5, q12, q9 .long 0xeec95aab // vdiv.f32 s11, s19, s23 .long 0xee895a0b // vdiv.f32 s10, s18, s22 .long 0xeec84aaa // vdiv.f32 s9, s17, s21 .long 0xee884a0a // vdiv.f32 s8, s16, s20 .long 0xf3b984e2 // vcge.f32 q4, q9, #0 .long 0xf248cdc4 // vadd.f32 q14, q12, q2 .long 0xf2284158 // vorr q2, q4, q4 .long 0xf310417c // vbsl q2, q0, q14 .long 0xf34ecdd6 // vmul.f32 q14, q15, q3 .long 0xf2000fc0 // vmax.f32 q0, q8, q0 .long 0xf224cd68 // vsub.f32 q6, q2, q12 .long 0xf26c2de8 // vsub.f32 q9, q14, q12 .long 0xf20aefc0 // vmax.f32 q7, q13, q0 .long 0xf302cddc // vmul.f32 q6, q9, q6 .long 0xf22e0d68 // vsub.f32 q0, q7, q12 .long 0xf32eee6c // vcgt.f32 q7, q7, q14 .long 0xeecd3aa1 // vdiv.f32 s7, s27, s3 .long 0xee8d3a01 // vdiv.f32 s6, s26, s2 .long 0xeecc2aa0 // vdiv.f32 s5, s25, s1 .long 0xee8c2a00 // vdiv.f32 s4, s24, s0 .long 0xf2082dc2 // vadd.f32 q1, q12, q1 .long 0xf26e415e // vorr q10, q7, q7 .long 0xf3524154 // vbsl q10, q1, q2 .long 0xf2202de8 // vsub.f32 q1, q8, q12 .long 0xf3082dd2 // vmul.f32 q1, q12, q1 .long 0xeec35aab // vdiv.f32 s11, s7, s23 .long 0xee835a0b // vdiv.f32 s10, s6, s22 .long 0xeec24aaa // vdiv.f32 s9, s5, s21 .long 0xee824a0a // vdiv.f32 s8, s4, s20 .long 0xf2082dc4 // vadd.f32 q1, q12, q2 .long 0xf2284158 // vorr q2, q4, q4 .long 0xf31041d2 // vbsl q2, q8, q1 .long 0xf2640d68 // vsub.f32 q8, q2, q12 .long 0xf3022df0 // vmul.f32 q1, q9, q8 .long 0xf26e015e // vorr q8, q7, q7 .long 0xeec3daa1 // vdiv.f32 s27, s7, s3 .long 0xee83da01 // vdiv.f32 s26, s6, s2 .long 0xeec2caa0 // vdiv.f32 s25, s5, s1 .long 0xee82ca00 // vdiv.f32 s24, s4, s0 .long 0xf2082dcc // vadd.f32 q1, q12, q6 .long 0xf3520154 // vbsl q8, q1, q2 .long 0xf22a2de8 // vsub.f32 q1, q13, q12 .long 0xf3082dd2 // vmul.f32 q1, q12, q1 .long 0xeec35aab // vdiv.f32 s11, s7, s23 .long 0xee835a0b // vdiv.f32 s10, s6, s22 .long 0xeec24aaa // vdiv.f32 s9, s5, s21 .long 0xee824a0a // vdiv.f32 s8, s4, s20 .long 0xf2082dc4 // vadd.f32 q1, q12, q2 .long 0xf31a81d2 // vbsl q4, q13, q1 .long 0xf268ad68 // vsub.f32 q13, q4, q12 .long 0xf3022dfa // vmul.f32 q1, q9, q13 .long 0xecd2ab04 // vldmia r2, {d26-d27} .long 0xe28d2030 // add r2, sp, #48 .long 0xeec35aa1 // vdiv.f32 s11, s7, s3 .long 0xee835a01 // vdiv.f32 s10, s6, s2 .long 0xeec24aa0 // vdiv.f32 s9, s5, s1 .long 0xee824a00 // vdiv.f32 s8, s4, s0 .long 0xf2482dc4 // vadd.f32 q9, q12, q2 .long 0xec920b04 // vldmia r2, {d0-d1} .long 0xe28d2010 // add r2, sp, #16 .long 0xf312e1d8 // vbsl q7, q9, q4 .long 0xf2c72f50 // vmov.f32 q9, #1 .long 0xf2628dee // vsub.f32 q12, q9, q15 .long 0xf2622dc6 // vsub.f32 q9, q9, q3 .long 0xf24eedc6 // vadd.f32 q15, q15, q3 .long 0xf3426df6 // vmul.f32 q11, q9, q11 .long 0xf22e6dec // vsub.f32 q3, q15, q14 .long 0xf2486cfa // vfma.f32 q11, q12, q13 .long 0xecddab04 // vldmia sp, {d26-d27} .long 0xf342adfa // vmul.f32 q13, q9, q13 .long 0xf248acd0 // vfma.f32 q13, q12, q0 .long 0xec920b04 // vldmia r2, {d0-d1} .long 0xe28d2040 // add r2, sp, #64 .long 0xf3422dd0 // vmul.f32 q9, q9, q0 .long 0xec920b04 // vldmia r2, {d0-d1} .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2482cd0 // vfma.f32 q9, q12, q0 .long 0xf2800050 // vmov.i32 q0, #0 .long 0xf2400fc0 // vmax.f32 q8, q8, q0 .long 0xf2444fc0 // vmax.f32 q10, q10, q0 .long 0xf24e8f40 // vmax.f32 q12, q7, q0 .long 0xf2062de0 // vadd.f32 q1, q11, q8 .long 0xf2024de4 // vadd.f32 q2, q9, q10 .long 0xf20a0de8 // vadd.f32 q0, q13, q12 .long 0xe28dd058 // add sp, sp, #88 .long 0xecbd8b10 // vpop {d8-d15} .long 0xe8bd0030 // pop {r4, r5} .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3de147ae // .word 0x3de147ae .long 0x3de147ae // .word 0x3de147ae .long 0x3de147ae // .word 0x3de147ae .long 0x3de147ae // .word 0x3de147ae HIDDEN _sk_saturation_vfp4 .globl _sk_saturation_vfp4 FUNCTION(_sk_saturation_vfp4) _sk_saturation_vfp4: .long 0xe92d0030 // push {r4, r5} .long 0xed2d8b10 // vpush {d8-d15} .long 0xe24dd068 // sub sp, sp, #104 .long 0xe28d2010 // add r2, sp, #16 .long 0xf2604150 // vorr q10, q0, q0 .long 0xec822b04 // vstmia r2, {d2-d3} .long 0xe28d2020 // add r2, sp, #32 .long 0xecc24b04 // vstmia r2, {d20-d21} .long 0xe2802030 // add r2, r0, #48 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe28d2040 // add r2, sp, #64 .long 0xecc20b04 // vstmia r2, {d16-d17} .long 0xe2802020 // add r2, r0, #32 .long 0xf3400dd6 // vmul.f32 q8, q8, q3 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28d2050 // add r2, sp, #80 .long 0xf3462dd6 // vmul.f32 q9, q11, q3 .long 0xecc26b04 // vstmia r2, {d22-d23} .long 0xe2802010 // add r2, r0, #16 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe28d2030 // add r2, sp, #48 .long 0xf3088dd6 // vmul.f32 q4, q12, q3 .long 0xf2626fe0 // vmin.f32 q11, q9, q8 .long 0xeccd8b04 // vstmia sp, {d24-d25} .long 0xf242cfe0 // vmax.f32 q14, q9, q8 .long 0xec824b04 // vstmia r2, {d4-d5} .long 0xe2802040 // add r2, r0, #64 .long 0xf268af66 // vmin.f32 q13, q4, q11 .long 0xf2486f6c // vmax.f32 q11, q4, q14 .long 0xf242cf44 // vmax.f32 q14, q1, q2 .long 0xf2622dea // vsub.f32 q9, q9, q13 .long 0xf2260dea // vsub.f32 q0, q11, q13 .long 0xf2626f44 // vmin.f32 q11, q1, q2 .long 0xf244cfec // vmax.f32 q14, q10, q14 .long 0xf2288d6a // vsub.f32 q4, q4, q13 .long 0xf2646fe6 // vmin.f32 q11, q10, q11 .long 0xf2600dea // vsub.f32 q8, q8, q13 .long 0xf2c04050 // vmov.i32 q10, #0 .long 0xf26ccde6 // vsub.f32 q14, q14, q11 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f2e23 // add r2, pc, #560 .long 0xf34cedf6 // vmul.f32 q15, q14, q11 .long 0xf30e2df2 // vmul.f32 q1, q15, q9 .long 0xf3f92540 // vceq.f32 q9, q0, #0 .long 0xf30e8dd8 // vmul.f32 q4, q15, q4 .long 0xf262c1f2 // vorr q14, q9, q9 .long 0xeec3baa1 // vdiv.f32 s23, s7, s3 .long 0xee83ba01 // vdiv.f32 s22, s6, s2 .long 0xeec2aaa0 // vdiv.f32 s21, s5, s1 .long 0xee82aa00 // vdiv.f32 s20, s4, s0 .long 0xf30e2df0 // vmul.f32 q1, q15, q8 .long 0xf354c1da // vbsl q14, q10, q5 .long 0xeec9baa1 // vdiv.f32 s23, s19, s3 .long 0xeec35aa1 // vdiv.f32 s11, s7, s3 .long 0xee89ba01 // vdiv.f32 s22, s18, s2 .long 0xee835a01 // vdiv.f32 s10, s6, s2 .long 0xeec8aaa0 // vdiv.f32 s21, s17, s1 .long 0xeec24aa0 // vdiv.f32 s9, s5, s1 .long 0xee88aa00 // vdiv.f32 s20, s16, s0 .long 0xee824a00 // vdiv.f32 s8, s4, s0 .long 0xf22281f2 // vorr q4, q9, q9 .long 0xf35421d4 // vbsl q9, q10, q2 .long 0xf31481da // vbsl q4, q10, q5 .long 0xf422aacf // vld1.64 {d10-d11}, [r2] .long 0xe28f2e1e // add r2, pc, #480 .long 0xf422cacf // vld1.64 {d12-d13}, [r2] .long 0xe28f2f7a // add r2, pc, #488 .long 0xf3480dda // vmul.f32 q8, q12, q5 .long 0xf4222acf // vld1.64 {d2-d3}, [r2] .long 0xe28d2050 // add r2, sp, #80 .long 0xf308ed5a // vmul.f32 q7, q4, q5 .long 0xecd24b04 // vldmia r2, {d20-d21} .long 0xe28d2040 // add r2, sp, #64 .long 0xf2440cdc // vfma.f32 q8, q10, q6 .long 0xecd24b04 // vldmia r2, {d20-d21} .long 0xe28d2050 // add r2, sp, #80 .long 0xf20cecdc // vfma.f32 q7, q14, q6 .long 0xecd28b04 // vldmia r2, {d24-d25} .long 0xe28d2010 // add r2, sp, #16 .long 0xf2440cd2 // vfma.f32 q8, q10, q1 .long 0xf202ecd2 // vfma.f32 q7, q9, q1 .long 0xf3400dd6 // vmul.f32 q8, q8, q3 .long 0xf2200dce // vsub.f32 q0, q8, q7 .long 0xf240ed48 // vadd.f32 q15, q0, q4 .long 0xf2400d6c // vadd.f32 q8, q0, q14 .long 0xf2000d62 // vadd.f32 q0, q0, q9 .long 0xf34eadda // vmul.f32 q13, q15, q5 .long 0xf240acdc // vfma.f32 q13, q8, q6 .long 0xf240ac52 // vfma.f32 q13, q0, q1 .long 0xf2602d6a // vsub.f32 q9, q0, q13 .long 0xf30a8df2 // vmul.f32 q4, q13, q9 .long 0xf2602fc0 // vmin.f32 q9, q8, q0 .long 0xf26e2fe2 // vmin.f32 q9, q15, q9 .long 0xf22aade2 // vsub.f32 q5, q13, q9 .long 0xeec93aab // vdiv.f32 s7, s19, s23 .long 0xee893a0b // vdiv.f32 s6, s18, s22 .long 0xeec82aaa // vdiv.f32 s5, s17, s21 .long 0xee882a0a // vdiv.f32 s4, s16, s20 .long 0xf3b984e2 // vcge.f32 q4, q9, #0 .long 0xf24acdc2 // vadd.f32 q14, q13, q1 .long 0xf2282158 // vorr q1, q4, q4 .long 0xf310217c // vbsl q1, q0, q14 .long 0xf346cdd6 // vmul.f32 q14, q11, q3 .long 0xf2224d6a // vsub.f32 q2, q1, q13 .long 0xf2000fc0 // vmax.f32 q0, q8, q0 .long 0xf26c2dea // vsub.f32 q9, q14, q13 .long 0xf302cdd4 // vmul.f32 q6, q9, q2 .long 0xf20e4fc0 // vmax.f32 q2, q15, q0 .long 0xf2240d6a // vsub.f32 q0, q2, q13 .long 0xeecdfaa1 // vdiv.f32 s31, s27, s3 .long 0xee8dfa01 // vdiv.f32 s30, s26, s2 .long 0xeecceaa0 // vdiv.f32 s29, s25, s1 .long 0xee8cea00 // vdiv.f32 s28, s24, s0 .long 0xf20acdce // vadd.f32 q6, q13, q7 .long 0xf324ee6c // vcgt.f32 q7, q2, q14 .long 0xf26e415e // vorr q10, q7, q7 .long 0xf35c4152 // vbsl q10, q6, q1 .long 0xf2202dea // vsub.f32 q1, q8, q13 .long 0xf30a2dd2 // vmul.f32 q1, q13, q1 .long 0xeec3daab // vdiv.f32 s27, s7, s23 .long 0xee83da0b // vdiv.f32 s26, s6, s22 .long 0xeec2caaa // vdiv.f32 s25, s5, s21 .long 0xee82ca0a // vdiv.f32 s24, s4, s20 .long 0xf20a2dcc // vadd.f32 q1, q13, q6 .long 0xf228c158 // vorr q6, q4, q4 .long 0xf310c1d2 // vbsl q6, q8, q1 .long 0xf26c0d6a // vsub.f32 q8, q6, q13 .long 0xf3022df0 // vmul.f32 q1, q9, q8 .long 0xf26e015e // vorr q8, q7, q7 .long 0xeec35aa1 // vdiv.f32 s11, s7, s3 .long 0xee835a01 // vdiv.f32 s10, s6, s2 .long 0xeec24aa0 // vdiv.f32 s9, s5, s1 .long 0xee824a00 // vdiv.f32 s8, s4, s0 .long 0xf20a2dc4 // vadd.f32 q1, q13, q2 .long 0xf352015c // vbsl q8, q1, q6 .long 0xf22e2dea // vsub.f32 q1, q15, q13 .long 0xf30a2dd2 // vmul.f32 q1, q13, q1 .long 0xeec35aab // vdiv.f32 s11, s7, s23 .long 0xee835a0b // vdiv.f32 s10, s6, s22 .long 0xeec24aaa // vdiv.f32 s9, s5, s21 .long 0xee824a0a // vdiv.f32 s8, s4, s20 .long 0xf20a2dc4 // vadd.f32 q1, q13, q2 .long 0xf31e81d2 // vbsl q4, q15, q1 .long 0xf268ed6a // vsub.f32 q15, q4, q13 .long 0xf3022dfe // vmul.f32 q1, q9, q15 .long 0xeec35aa1 // vdiv.f32 s11, s7, s3 .long 0xee835a01 // vdiv.f32 s10, s6, s2 .long 0xeec24aa0 // vdiv.f32 s9, s5, s1 .long 0xee824a00 // vdiv.f32 s8, s4, s0 .long 0xf24a2dc4 // vadd.f32 q9, q13, q2 .long 0xf312e1d8 // vbsl q7, q9, q4 .long 0xf2c72f50 // vmov.f32 q9, #1 .long 0xf262ade6 // vsub.f32 q13, q9, q11 .long 0xf2622dc6 // vsub.f32 q9, q9, q3 .long 0xf2466dc6 // vadd.f32 q11, q11, q3 .long 0xf342edf8 // vmul.f32 q15, q9, q12 .long 0xecd28b04 // vldmia r2, {d24-d25} .long 0xe28d2020 // add r2, sp, #32 .long 0xf2266dec // vsub.f32 q3, q11, q14 .long 0xec920b04 // vldmia r2, {d0-d1} .long 0xe28d2040 // add r2, sp, #64 .long 0xf24aecf8 // vfma.f32 q15, q13, q12 .long 0xecdd8b04 // vldmia sp, {d24-d25} .long 0xf3428df8 // vmul.f32 q12, q9, q12 .long 0xf24a8cd0 // vfma.f32 q12, q13, q0 .long 0xec920b04 // vldmia r2, {d0-d1} .long 0xe28d2030 // add r2, sp, #48 .long 0xf3422dd0 // vmul.f32 q9, q9, q0 .long 0xec920b04 // vldmia r2, {d0-d1} .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf24a2cd0 // vfma.f32 q9, q13, q0 .long 0xf2800050 // vmov.i32 q0, #0 .long 0xf2400fc0 // vmax.f32 q8, q8, q0 .long 0xf2444fc0 // vmax.f32 q10, q10, q0 .long 0xf24eaf40 // vmax.f32 q13, q7, q0 .long 0xf20e2de0 // vadd.f32 q1, q15, q8 .long 0xf2024de4 // vadd.f32 q2, q9, q10 .long 0xf2080dea // vadd.f32 q0, q12, q13 .long 0xe28dd068 // add sp, sp, #104 .long 0xecbd8b10 // vpop {d8-d15} .long 0xe8bd0030 // pop {r4, r5} .long 0xe12fff12 // bx r2 .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3de147ae // .word 0x3de147ae .long 0x3de147ae // .word 0x3de147ae .long 0x3de147ae // .word 0x3de147ae .long 0x3de147ae // .word 0x3de147ae HIDDEN _sk_color_vfp4 .globl _sk_color_vfp4 FUNCTION(_sk_color_vfp4) _sk_color_vfp4: .long 0xe92d0030 // push {r4, r5} .long 0xed2d8b10 // vpush {d8-d15} .long 0xe24dd068 // sub sp, sp, #104 .long 0xe28d2040 // add r2, sp, #64 .long 0xec824b04 // vstmia r2, {d4-d5} .long 0xe28d2030 // add r2, sp, #48 .long 0xec822b04 // vstmia r2, {d2-d3} .long 0xe28d2050 // add r2, sp, #80 .long 0xec820b04 // vstmia r2, {d0-d1} .long 0xe2802040 // add r2, r0, #64 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f2f81 // add r2, pc, #516 .long 0xf3462dd0 // vmul.f32 q9, q11, q0 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe28f2f82 // add r2, pc, #520 .long 0xf3460dd2 // vmul.f32 q8, q11, q1 .long 0xf462eacf // vld1.64 {d30-d31}, [r2] .long 0xe28f2f83 // add r2, pc, #524 .long 0xf3068dd4 // vmul.f32 q4, q11, q2 .long 0xf422cacf // vld1.64 {d12-d13}, [r2] .long 0xe2802010 // add r2, r0, #16 .long 0xf342adf8 // vmul.f32 q13, q9, q12 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe28d2020 // add r2, sp, #32 .long 0xf344cdf8 // vmul.f32 q14, q10, q12 .long 0xecc24b04 // vstmia r2, {d20-d21} .long 0xe2802020 // add r2, r0, #32 .long 0xf240acfe // vfma.f32 q13, q8, q15 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf244ccfe // vfma.f32 q14, q10, q15 .long 0xeccd4b04 // vstmia sp, {d20-d21} .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe28d2010 // add r2, sp, #16 .long 0xecc24b04 // vstmia r2, {d20-d21} .long 0xe28d2030 // add r2, sp, #48 .long 0xf248ac5c // vfma.f32 q13, q4, q6 .long 0xf244ccdc // vfma.f32 q14, q10, q6 .long 0xf34ccdd6 // vmul.f32 q14, q14, q3 .long 0xf26cadea // vsub.f32 q13, q14, q13 .long 0xf242cdea // vadd.f32 q14, q9, q13 .long 0xf2400dea // vadd.f32 q8, q8, q13 .long 0xf208ad6a // vadd.f32 q5, q4, q13 .long 0xf34c8df8 // vmul.f32 q12, q14, q12 .long 0xf2408cfe // vfma.f32 q12, q8, q15 .long 0xf24a8c5c // vfma.f32 q12, q5, q6 .long 0xf26a2d68 // vsub.f32 q9, q5, q12 .long 0xf308cdf2 // vmul.f32 q6, q12, q9 .long 0xf2602fca // vmin.f32 q9, q8, q5 .long 0xf26c2fe2 // vmin.f32 q9, q14, q9 .long 0xf2288de2 // vsub.f32 q4, q12, q9 .long 0xf3f924e2 // vcge.f32 q9, q9, #0 .long 0xf262e1f2 // vorr q15, q9, q9 .long 0xeecdfaa9 // vdiv.f32 s31, s27, s19 .long 0xee8dfa09 // vdiv.f32 s30, s26, s18 .long 0xeecceaa8 // vdiv.f32 s29, s25, s17 .long 0xee8cea08 // vdiv.f32 s28, s24, s16 .long 0xf248adce // vadd.f32 q13, q12, q7 .long 0xf35ae17a // vbsl q15, q5, q13 .long 0xf200afca // vmax.f32 q5, q8, q5 .long 0xf346add6 // vmul.f32 q13, q11, q3 .long 0xf22ecde8 // vsub.f32 q6, q15, q12 .long 0xf20cafca // vmax.f32 q5, q14, q5 .long 0xf26a4de8 // vsub.f32 q10, q13, q12 .long 0xf22aed68 // vsub.f32 q7, q5, q12 .long 0xf304cddc // vmul.f32 q6, q10, q6 .long 0xeecd5aaf // vdiv.f32 s11, s27, s31 .long 0xee8d5a0f // vdiv.f32 s10, s26, s30 .long 0xeecc4aae // vdiv.f32 s9, s25, s29 .long 0xee8c4a0e // vdiv.f32 s8, s24, s28 .long 0xf32ace6a // vcgt.f32 q6, q5, q13 .long 0xf2084dc4 // vadd.f32 q2, q12, q2 .long 0xf22ca15c // vorr q5, q6, q6 .long 0xf314a17e // vbsl q5, q2, q15 .long 0xf260ede8 // vsub.f32 q15, q8, q12 .long 0xf3084dfe // vmul.f32 q2, q12, q15 .long 0xeec53aa9 // vdiv.f32 s7, s11, s19 .long 0xee853a09 // vdiv.f32 s6, s10, s18 .long 0xeec42aa8 // vdiv.f32 s5, s9, s17 .long 0xee842a08 // vdiv.f32 s4, s8, s16 .long 0xf248edc2 // vadd.f32 q15, q12, q1 .long 0xf22221f2 // vorr q1, q9, q9 .long 0xf31021fe // vbsl q1, q8, q15 .long 0xf2620d68 // vsub.f32 q8, q1, q12 .long 0xf3044df0 // vmul.f32 q2, q10, q8 .long 0xf26c015c // vorr q8, q6, q6 .long 0xeec51aaf // vdiv.f32 s3, s11, s31 .long 0xee851a0f // vdiv.f32 s2, s10, s30 .long 0xeec40aae // vdiv.f32 s1, s9, s29 .long 0xee840a0e // vdiv.f32 s0, s8, s28 .long 0xf248edc0 // vadd.f32 q15, q12, q0 .long 0xf35e01d2 // vbsl q8, q15, q1 .long 0xf26cede8 // vsub.f32 q15, q14, q12 .long 0xf3080dfe // vmul.f32 q0, q12, q15 .long 0xeec13aa9 // vdiv.f32 s7, s3, s19 .long 0xee813a09 // vdiv.f32 s6, s2, s18 .long 0xeec02aa8 // vdiv.f32 s5, s1, s17 .long 0xee802a08 // vdiv.f32 s4, s0, s16 .long 0xf248edc2 // vadd.f32 q15, q12, q1 .long 0xf35c21fe // vbsl q9, q14, q15 .long 0xf262cde8 // vsub.f32 q14, q9, q12 .long 0xf3040dfc // vmul.f32 q0, q10, q14 .long 0xecddcb04 // vldmia sp, {d28-d29} .long 0xeec13aaf // vdiv.f32 s7, s3, s31 .long 0xee813a0f // vdiv.f32 s6, s2, s30 .long 0xeec02aae // vdiv.f32 s5, s1, s29 .long 0xee802a0e // vdiv.f32 s4, s0, s28 .long 0xf2484dc2 // vadd.f32 q10, q12, q1 .long 0xecd28b04 // vldmia r2, {d24-d25} .long 0xe28d2050 // add r2, sp, #80 .long 0xf314c1f2 // vbsl q6, q10, q9 .long 0xf2c72f50 // vmov.f32 q9, #1 .long 0xf2624dc6 // vsub.f32 q10, q9, q3 .long 0xf2622de6 // vsub.f32 q9, q9, q11 .long 0xf2466dc6 // vadd.f32 q11, q11, q3 .long 0xf3428df8 // vmul.f32 q12, q9, q12 .long 0xf2266dea // vsub.f32 q3, q11, q13 .long 0xf2448cfc // vfma.f32 q12, q10, q14 .long 0xecd2cb04 // vldmia r2, {d28-d29} .long 0xe28d2020 // add r2, sp, #32 .long 0xecd2eb04 // vldmia r2, {d30-d31} .long 0xe28d2040 // add r2, sp, #64 .long 0xf342cdfc // vmul.f32 q14, q9, q14 .long 0xf244ccfe // vfma.f32 q14, q10, q15 .long 0xecd2eb04 // vldmia r2, {d30-d31} .long 0xe28d2010 // add r2, sp, #16 .long 0xec920b04 // vldmia r2, {d0-d1} .long 0xf3422dfe // vmul.f32 q9, q9, q15 .long 0xf2c0e050 // vmov.i32 q15, #0 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2400fee // vmax.f32 q8, q8, q15 .long 0xf2442cd0 // vfma.f32 q9, q10, q0 .long 0xf24c4f6e // vmax.f32 q10, q6, q15 .long 0xf24aef6e // vmax.f32 q15, q5, q15 .long 0xf2082de0 // vadd.f32 q1, q12, q8 .long 0xf20c0de4 // vadd.f32 q0, q14, q10 .long 0xf2024dee // vadd.f32 q2, q9, q15 .long 0xe28dd068 // add sp, sp, #104 .long 0xecbd8b10 // vpop {d8-d15} .long 0xe8bd0030 // pop {r4, r5} .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3de147ae // .word 0x3de147ae .long 0x3de147ae // .word 0x3de147ae .long 0x3de147ae // .word 0x3de147ae .long 0x3de147ae // .word 0x3de147ae HIDDEN _sk_luminosity_vfp4 .globl _sk_luminosity_vfp4 FUNCTION(_sk_luminosity_vfp4) _sk_luminosity_vfp4: .long 0xe92d0030 // push {r4, r5} .long 0xed2d8b10 // vpush {d8-d15} .long 0xe24dd068 // sub sp, sp, #104 .long 0xe28d2020 // add r2, sp, #32 .long 0xec824b04 // vstmia r2, {d4-d5} .long 0xe28d2010 // add r2, sp, #16 .long 0xec8d2b04 // vstmia sp, {d2-d3} .long 0xec820b04 // vstmia r2, {d0-d1} .long 0xe2802010 // add r2, r0, #16 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe28d2050 // add r2, sp, #80 .long 0xf3402dd6 // vmul.f32 q9, q8, q3 .long 0xecc20b04 // vstmia r2, {d16-d17} .long 0xe28f2f7f // add r2, pc, #508 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe28d2040 // add r2, sp, #64 .long 0xf340cd78 // vmul.f32 q14, q0, q12 .long 0xecc20b04 // vstmia r2, {d16-d17} .long 0xe28f2e1f // add r2, pc, #496 .long 0xf3400dd6 // vmul.f32 q8, q8, q3 .long 0xf462eacf // vld1.64 {d30-d31}, [r2] .long 0xf342adf8 // vmul.f32 q13, q9, q12 .long 0xf242cc7e // vfma.f32 q14, q1, q15 .long 0xe2802030 // add r2, r0, #48 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe28d2030 // add r2, sp, #48 .long 0xf3048dd6 // vmul.f32 q4, q10, q3 .long 0xf240acfe // vfma.f32 q13, q8, q15 .long 0xecc24b04 // vstmia r2, {d20-d21} .long 0xe28f2f75 // add r2, pc, #468 .long 0xf422cacf // vld1.64 {d12-d13}, [r2] .long 0xe2802040 // add r2, r0, #64 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28d2040 // add r2, sp, #64 .long 0xf244cc5c // vfma.f32 q14, q2, q6 .long 0xf248ac5c // vfma.f32 q13, q4, q6 .long 0xf34ccdf6 // vmul.f32 q14, q14, q11 .long 0xf26cadea // vsub.f32 q13, q14, q13 .long 0xf242cdea // vadd.f32 q14, q9, q13 .long 0xf2400dea // vadd.f32 q8, q8, q13 .long 0xf208ad6a // vadd.f32 q5, q4, q13 .long 0xf34c8df8 // vmul.f32 q12, q14, q12 .long 0xf2408cfe // vfma.f32 q12, q8, q15 .long 0xf24a8c5c // vfma.f32 q12, q5, q6 .long 0xf26a2d68 // vsub.f32 q9, q5, q12 .long 0xf308cdf2 // vmul.f32 q6, q12, q9 .long 0xf2602fca // vmin.f32 q9, q8, q5 .long 0xf26c2fe2 // vmin.f32 q9, q14, q9 .long 0xf2288de2 // vsub.f32 q4, q12, q9 .long 0xf3f924e2 // vcge.f32 q9, q9, #0 .long 0xf262e1f2 // vorr q15, q9, q9 .long 0xeecdfaa9 // vdiv.f32 s31, s27, s19 .long 0xee8dfa09 // vdiv.f32 s30, s26, s18 .long 0xeecceaa8 // vdiv.f32 s29, s25, s17 .long 0xee8cea08 // vdiv.f32 s28, s24, s16 .long 0xf248adce // vadd.f32 q13, q12, q7 .long 0xf35ae17a // vbsl q15, q5, q13 .long 0xf200afca // vmax.f32 q5, q8, q5 .long 0xf346add6 // vmul.f32 q13, q11, q3 .long 0xf22ecde8 // vsub.f32 q6, q15, q12 .long 0xf20cafca // vmax.f32 q5, q14, q5 .long 0xf26a4de8 // vsub.f32 q10, q13, q12 .long 0xf22aed68 // vsub.f32 q7, q5, q12 .long 0xf304cddc // vmul.f32 q6, q10, q6 .long 0xeecd5aaf // vdiv.f32 s11, s27, s31 .long 0xee8d5a0f // vdiv.f32 s10, s26, s30 .long 0xeecc4aae // vdiv.f32 s9, s25, s29 .long 0xee8c4a0e // vdiv.f32 s8, s24, s28 .long 0xf32ace6a // vcgt.f32 q6, q5, q13 .long 0xf2084dc4 // vadd.f32 q2, q12, q2 .long 0xf22ca15c // vorr q5, q6, q6 .long 0xf314a17e // vbsl q5, q2, q15 .long 0xf260ede8 // vsub.f32 q15, q8, q12 .long 0xf3084dfe // vmul.f32 q2, q12, q15 .long 0xeec53aa9 // vdiv.f32 s7, s11, s19 .long 0xee853a09 // vdiv.f32 s6, s10, s18 .long 0xeec42aa8 // vdiv.f32 s5, s9, s17 .long 0xee842a08 // vdiv.f32 s4, s8, s16 .long 0xf248edc2 // vadd.f32 q15, q12, q1 .long 0xf22221f2 // vorr q1, q9, q9 .long 0xf31021fe // vbsl q1, q8, q15 .long 0xf2620d68 // vsub.f32 q8, q1, q12 .long 0xf3044df0 // vmul.f32 q2, q10, q8 .long 0xf26c015c // vorr q8, q6, q6 .long 0xeec51aaf // vdiv.f32 s3, s11, s31 .long 0xee851a0f // vdiv.f32 s2, s10, s30 .long 0xeec40aae // vdiv.f32 s1, s9, s29 .long 0xee840a0e // vdiv.f32 s0, s8, s28 .long 0xf248edc0 // vadd.f32 q15, q12, q0 .long 0xf35e01d2 // vbsl q8, q15, q1 .long 0xf26cede8 // vsub.f32 q15, q14, q12 .long 0xf3080dfe // vmul.f32 q0, q12, q15 .long 0xeec13aa9 // vdiv.f32 s7, s3, s19 .long 0xee813a09 // vdiv.f32 s6, s2, s18 .long 0xeec02aa8 // vdiv.f32 s5, s1, s17 .long 0xee802a08 // vdiv.f32 s4, s0, s16 .long 0xf248edc2 // vadd.f32 q15, q12, q1 .long 0xf35c21fe // vbsl q9, q14, q15 .long 0xf262cde8 // vsub.f32 q14, q9, q12 .long 0xf3040dfc // vmul.f32 q0, q10, q14 .long 0xecddcb04 // vldmia sp, {d28-d29} .long 0xeec13aaf // vdiv.f32 s7, s3, s31 .long 0xee813a0f // vdiv.f32 s6, s2, s30 .long 0xeec02aae // vdiv.f32 s5, s1, s29 .long 0xee802a0e // vdiv.f32 s4, s0, s28 .long 0xf2484dc2 // vadd.f32 q10, q12, q1 .long 0xecd28b04 // vldmia r2, {d24-d25} .long 0xe28d2050 // add r2, sp, #80 .long 0xf314c1f2 // vbsl q6, q10, q9 .long 0xf2c72f50 // vmov.f32 q9, #1 .long 0xf2624de6 // vsub.f32 q10, q9, q11 .long 0xf2622dc6 // vsub.f32 q9, q9, q3 .long 0xf2466dc6 // vadd.f32 q11, q11, q3 .long 0xf3428df8 // vmul.f32 q12, q9, q12 .long 0xf2266dea // vsub.f32 q3, q11, q13 .long 0xf2448cfc // vfma.f32 q12, q10, q14 .long 0xecd2cb04 // vldmia r2, {d28-d29} .long 0xe28d2010 // add r2, sp, #16 .long 0xecd2eb04 // vldmia r2, {d30-d31} .long 0xe28d2030 // add r2, sp, #48 .long 0xf342cdfc // vmul.f32 q14, q9, q14 .long 0xf244ccfe // vfma.f32 q14, q10, q15 .long 0xecd2eb04 // vldmia r2, {d30-d31} .long 0xe28d2020 // add r2, sp, #32 .long 0xec920b04 // vldmia r2, {d0-d1} .long 0xf3422dfe // vmul.f32 q9, q9, q15 .long 0xf2c0e050 // vmov.i32 q15, #0 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2400fee // vmax.f32 q8, q8, q15 .long 0xf2442cd0 // vfma.f32 q9, q10, q0 .long 0xf24c4f6e // vmax.f32 q10, q6, q15 .long 0xf24aef6e // vmax.f32 q15, q5, q15 .long 0xf2082de0 // vadd.f32 q1, q12, q8 .long 0xf20c0de4 // vadd.f32 q0, q14, q10 .long 0xf2024dee // vadd.f32 q2, q9, q15 .long 0xe28dd068 // add sp, sp, #104 .long 0xecbd8b10 // vpop {d8-d15} .long 0xe8bd0030 // pop {r4, r5} .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3f170a3d // .word 0x3f170a3d .long 0x3de147ae // .word 0x3de147ae .long 0x3de147ae // .word 0x3de147ae .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 0xe92d4070 // push {r4, r5, r6, lr} .long 0xed2d8b08 // vpush {d8-d11} .long 0xe5912000 // ldr r2, [r1] .long 0xe280c040 // add ip, r0, #64 .long 0xe5905004 // ldr r5, [r0, #4] .long 0xe280e030 // add lr, r0, #48 .long 0xe5906000 // ldr r6, [r0] .long 0xe5924000 // ldr r4, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe5903008 // ldr r3, [r0, #8] .long 0xe0020592 // mul r2, r2, r5 .long 0xe2805010 // add r5, r0, #16 .long 0xe3530000 // cmp r3, #0 .long 0xe0842102 // add r2, r4, r2, lsl #2 .long 0xe2804020 // add r4, r0, #32 .long 0xe0822106 // add r2, r2, r6, lsl #2 .long 0x1a000032 // bne 1ab0 .long 0xf4620a8f // vld1.32 {d16-d17}, [r2] .long 0xf3c7405f // vmov.i32 q10, #255 .long 0xe28f6f51 // add r6, pc, #324 .long 0xf3f02070 // vshr.u32 q9, q8, #16 .long 0xf4668acf // vld1.64 {d24-d25}, [r6] .long 0xf2c76f50 // vmov.f32 q11, #1 .long 0xe3530000 // cmp r3, #0 .long 0xf240e1f4 // vand q15, q8, q10 .long 0xf3a88070 // vshr.u32 q4, q8, #24 .long 0xf3f80070 // vshr.u32 q8, q8, #8 .long 0xf2666dc6 // vsub.f32 q11, q11, q3 .long 0xf24001f4 // vand q8, q8, q10 .long 0xf3bb8648 // vcvt.f32.s32 q4, q4 .long 0xf3066d78 // vmul.f32 q3, q3, q12 .long 0xf24221f4 // vand q9, q9, q10 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf3022d78 // vmul.f32 q1, q1, q12 .long 0xf3fbe66e // vcvt.f32.s32 q15, q15 .long 0xf3000d78 // vmul.f32 q0, q0, q12 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xf3044d78 // vmul.f32 q2, q2, q12 .long 0xf2086c76 // vfma.f32 q3, q4, q11 .long 0xf445eacf // vst1.64 {d30-d31}, [r5] .long 0xf2002cf6 // vfma.f32 q1, q8, q11 .long 0xf4440acf // vst1.64 {d16-d17}, [r4] .long 0xf20e0cf6 // vfma.f32 q0, q15, q11 .long 0xf44e2acf // vst1.64 {d18-d19}, [lr] .long 0xf2024cf6 // vfma.f32 q2, q9, q11 .long 0xf40c8acf // vst1.64 {d8-d9}, [ip] .long 0xf2c3a65f // vmov.i32 q13, #1056964608 .long 0xf206ad6a // vadd.f32 q5, q3, q13 .long 0xf2424d6a // vadd.f32 q10, q1, q13 .long 0xf240ed6a // vadd.f32 q15, q0, q13 .long 0xf244cd6a // vadd.f32 q14, q2, q13 .long 0xf3bba7ca // vcvt.u32.f32 q5, q5 .long 0xf3fb47e4 // vcvt.u32.f32 q10, q10 .long 0xf3fbe7ee // vcvt.u32.f32 q15, q15 .long 0xf3fbc7ec // vcvt.u32.f32 q14, q14 .long 0xf2b8a55a // vshl.s32 q5, q5, #24 .long 0xf2e84574 // vshl.s32 q10, q10, #8 .long 0xf26ae17e // vorr q15, q5, q15 .long 0xf2f0c57c // vshl.s32 q14, q14, #16 .long 0xf26e01f4 // vorr q8, q15, q10 .long 0xf26001fc // vorr q8, q8, q14 .long 0x1a000015 // bne 1af0 .long 0xf4420a8f // vst1.32 {d16-d17}, [r2] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xecbd8b08 // vpop {d8-d11} .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff12 // bx r2 .long 0xe2036003 // and r6, r3, #3 .long 0xe3560001 // cmp r6, #1 .long 0x0a000017 // beq 1b1c .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xe3560002 // cmp r6, #2 .long 0x0a000005 // beq 1ae0 .long 0xe3560003 // cmp r6, #3 .long 0x1affffc5 // bne 19e8 .long 0xe3a06000 // mov r6, #0 .long 0xeea06b90 // vdup.32 q8, r6 .long 0xe2826008 // add r6, r2, #8 .long 0xf4e6183f // vld1.32 {d17[0]}, [r6 :32] .long 0xedd22b00 // vldr d18, [r2] .long 0xf2f008e2 // vext.8 q8, q8, q9, #8 .long 0xf2f008e0 // vext.8 q8, q8, q8, #8 .long 0xeaffffbd // b 19e8 .long 0xe2033003 // and r3, r3, #3 .long 0xe3530001 // cmp r3, #1 .long 0x0a00000b // beq 1b2c .long 0xe3530002 // cmp r3, #2 .long 0x0a000003 // beq 1b14 .long 0xe3530003 // cmp r3, #3 .long 0x1affffe3 // bne 1a9c .long 0xe2823008 // add r3, r2, #8 .long 0xf4c3183f // vst1.32 {d17[0]}, [r3 :32] .long 0xedc20b00 // vstr d16, [r2] .long 0xeaffffdf // b 1a9c .long 0xe3a06000 // mov r6, #0 .long 0xeea06b90 // vdup.32 q8, r6 .long 0xf4e2083f // vld1.32 {d16[0]}, [r2 :32] .long 0xeaffffae // b 19e8 .long 0xf4c2083f // vst1.32 {d16[0]}, [r2 :32] .long 0xeaffffd9 // b 1a9c .long 0xe320f000 // nop {0} .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 HIDDEN _sk_clamp_0_vfp4 .globl _sk_clamp_0_vfp4 FUNCTION(_sk_clamp_0_vfp4) _sk_clamp_0_vfp4: .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2000f60 // vmax.f32 q0, q0, q8 .long 0xf2022f60 // vmax.f32 q1, q1, q8 .long 0xf2044f60 // vmax.f32 q2, q2, q8 .long 0xf2066f60 // vmax.f32 q3, q3, q8 .long 0xe12fff12 // bx r2 HIDDEN _sk_clamp_1_vfp4 .globl _sk_clamp_1_vfp4 FUNCTION(_sk_clamp_1_vfp4) _sk_clamp_1_vfp4: .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2200f60 // vmin.f32 q0, q0, q8 .long 0xf2222f60 // vmin.f32 q1, q1, q8 .long 0xf2244f60 // vmin.f32 q2, q2, q8 .long 0xf2266f60 // vmin.f32 q3, q3, q8 .long 0xe12fff12 // bx r2 HIDDEN _sk_clamp_a_vfp4 .globl _sk_clamp_a_vfp4 FUNCTION(_sk_clamp_a_vfp4) _sk_clamp_a_vfp4: .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2266f60 // vmin.f32 q3, q3, q8 .long 0xf2200f46 // vmin.f32 q0, q0, q3 .long 0xf2222f46 // vmin.f32 q1, q1, q3 .long 0xf2244f46 // vmin.f32 q2, q2, q3 .long 0xe12fff12 // bx r2 HIDDEN _sk_clamp_a_dst_vfp4 .globl _sk_clamp_a_dst_vfp4 FUNCTION(_sk_clamp_a_dst_vfp4) _sk_clamp_a_dst_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe280c040 // add ip, r0, #64 .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xf46c2acf // vld1.64 {d18-d19}, [ip] .long 0xe2802020 // add r2, r0, #32 .long 0xf2620fe0 // vmin.f32 q8, q9, q8 .long 0xe280e010 // add lr, r0, #16 .long 0xe2803030 // add r3, r0, #48 .long 0xf46e2acf // vld1.64 {d18-d19}, [lr] .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xf4636acf // vld1.64 {d22-d23}, [r3] .long 0xf2622fe0 // vmin.f32 q9, q9, q8 .long 0xf2644fe0 // vmin.f32 q10, q10, q8 .long 0xf44c0acf // vst1.64 {d16-d17}, [ip] .long 0xf2666fe0 // vmin.f32 q11, q11, q8 .long 0xf44e2acf // vst1.64 {d18-d19}, [lr] .long 0xf4424acf // vst1.64 {d20-d21}, [r2] .long 0xf4436acf // vst1.64 {d22-d23}, [r3] .long 0xe4912004 // ldr r2, [r1], #4 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff12 // bx r2 HIDDEN _sk_set_rgb_vfp4 .globl _sk_set_rgb_vfp4 FUNCTION(_sk_set_rgb_vfp4) _sk_set_rgb_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe5913000 // ldr r3, [r1] .long 0xe3a0c008 // mov ip, #8 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe283e004 // add lr, r3, #4 .long 0xf4a30cbc // vld1.32 {d0[]-d1[]}, [r3 :32], ip .long 0xf4ae2cbf // vld1.32 {d2[]-d3[]}, [lr :32] .long 0xf4a34cbf // vld1.32 {d4[]-d5[]}, [r3 :32] .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff12 // bx r2 HIDDEN _sk_swap_rb_vfp4 .globl _sk_swap_rb_vfp4 FUNCTION(_sk_swap_rb_vfp4) _sk_swap_rb_vfp4: .long 0xf2600150 // vorr q8, q0, q0 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2240154 // vorr q0, q2, q2 .long 0xf22041f0 // vorr q2, q8, q8 .long 0xe12fff12 // bx r2 HIDDEN _sk_invert_vfp4 .globl _sk_invert_vfp4 FUNCTION(_sk_invert_vfp4) _sk_invert_vfp4: .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2200dc0 // vsub.f32 q0, q8, q0 .long 0xf2202dc2 // vsub.f32 q1, q8, q1 .long 0xf2204dc4 // vsub.f32 q2, q8, q2 .long 0xf2206dc6 // vsub.f32 q3, q8, q3 .long 0xe12fff12 // bx r2 HIDDEN _sk_move_src_dst_vfp4 .globl _sk_move_src_dst_vfp4 FUNCTION(_sk_move_src_dst_vfp4) _sk_move_src_dst_vfp4: .long 0xe2802020 // add r2, r0, #32 .long 0xf4022acf // vst1.64 {d2-d3}, [r2] .long 0xe2802010 // add r2, r0, #16 .long 0xf4020acf // vst1.64 {d0-d1}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf4024acf // vst1.64 {d4-d5}, [r2] .long 0xe2802040 // add r2, r0, #64 .long 0xf4026acf // vst1.64 {d6-d7}, [r2] .long 0xe4912004 // ldr r2, [r1], #4 .long 0xe12fff12 // bx r2 HIDDEN _sk_move_dst_src_vfp4 .globl _sk_move_dst_src_vfp4 FUNCTION(_sk_move_dst_src_vfp4) _sk_move_dst_src_vfp4: .long 0xe2802040 // add r2, r0, #64 .long 0xe2803010 // add r3, r0, #16 .long 0xf4226acf // vld1.64 {d6-d7}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf4224acf // vld1.64 {d4-d5}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf4222acf // vld1.64 {d2-d3}, [r2] .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf4230acf // vld1.64 {d0-d1}, [r3] .long 0xe12fff12 // bx r2 HIDDEN _sk_premul_vfp4 .globl _sk_premul_vfp4 FUNCTION(_sk_premul_vfp4) _sk_premul_vfp4: .long 0xf3000d56 // vmul.f32 q0, q0, q3 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf3022d56 // vmul.f32 q1, q1, q3 .long 0xf3044d56 // vmul.f32 q2, q2, q3 .long 0xe12fff12 // bx r2 HIDDEN _sk_premul_dst_vfp4 .globl _sk_premul_dst_vfp4 FUNCTION(_sk_premul_dst_vfp4) _sk_premul_dst_vfp4: .long 0xe2802040 // add r2, r0, #64 .long 0xe2803020 // add r3, r0, #32 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xe280c010 // add ip, r0, #16 .long 0xf4634acf // vld1.64 {d20-d21}, [r3] .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xf3404df4 // vmul.f32 q10, q8, q10 .long 0xf46c2acf // vld1.64 {d18-d19}, [ip] .long 0xf3422df0 // vmul.f32 q9, q9, q8 .long 0xf3400df6 // vmul.f32 q8, q8, q11 .long 0xf44c2acf // vst1.64 {d18-d19}, [ip] .long 0xf4434acf // vst1.64 {d20-d21}, [r3] .long 0xf4420acf // vst1.64 {d16-d17}, [r2] .long 0xe4912004 // ldr r2, [r1], #4 .long 0xe12fff12 // bx r2 HIDDEN _sk_unpremul_vfp4 .globl _sk_unpremul_vfp4 FUNCTION(_sk_unpremul_vfp4) _sk_unpremul_vfp4: .long 0xed2dab04 // vpush {d10-d11} .long 0xed2d8b02 // vpush {d8} .long 0xeeb78a00 // vmov.f32 s16, #112 .long 0xf3f92546 // vceq.f32 q9, q3, #0 .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xeec8ba27 // vdiv.f32 s23, s16, s15 .long 0xee88ba07 // vdiv.f32 s22, s16, s14 .long 0xeec8aa26 // vdiv.f32 s21, s16, s13 .long 0xee88aa06 // vdiv.f32 s20, s16, s12 .long 0xf35021da // vbsl q9, q8, q5 .long 0xf3020dd0 // vmul.f32 q0, q9, q0 .long 0xf3022dd2 // vmul.f32 q1, q9, q1 .long 0xf3024dd4 // vmul.f32 q2, q9, q2 .long 0xecbd8b02 // vpop {d8} .long 0xecbdab04 // vpop {d10-d11} .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} HIDDEN _sk_from_srgb_vfp4 .globl _sk_from_srgb_vfp4 FUNCTION(_sk_from_srgb_vfp4) _sk_from_srgb_vfp4: .long 0xed2d8b04 // vpush {d8-d9} .long 0xe28f2094 // add r2, pc, #148 .long 0xf3408d50 // vmul.f32 q12, q0, q0 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe28f2098 // add r2, pc, #152 .long 0xf342ad52 // vmul.f32 q13, q1, q1 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f209c // add r2, pc, #156 .long 0xf26621f6 // vorr q9, q11, q11 .long 0xf26641f6 // vorr q10, q11, q11 .long 0xf462cacf // vld1.64 {d28-d29}, [r2] .long 0xf2402c70 // vfma.f32 q9, q0, q8 .long 0xe28f2098 // add r2, pc, #152 .long 0xf2424c70 // vfma.f32 q10, q1, q8 .long 0xf26ce1fc // vorr q15, q14, q14 .long 0xf2446c70 // vfma.f32 q11, q2, q8 .long 0xf22c81fc // vorr q4, q14, q14 .long 0xf248ecf2 // vfma.f32 q15, q12, q9 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe28f208c // add r2, pc, #140 .long 0xf20a8cf4 // vfma.f32 q4, q13, q10 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xf3680ec2 // vcgt.f32 q8, q12, q1 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf3022d7a // vmul.f32 q1, q1, q13 .long 0xf3682ec4 // vcgt.f32 q9, q12, q2 .long 0xf3684ec0 // vcgt.f32 q10, q12, q0 .long 0xf3448d7a // vmul.f32 q12, q2, q13 .long 0xf340ad7a // vmul.f32 q13, q0, q13 .long 0xf3040d54 // vmul.f32 q0, q2, q2 .long 0xf3520158 // vbsl q8, q1, q4 .long 0xf35a41fe // vbsl q10, q13, q15 .long 0xf240cc76 // vfma.f32 q14, q0, q11 .long 0xf35821fc // vbsl q9, q12, q14 .long 0xf22401f4 // vorr q0, q10, q10 .long 0xf22021f0 // vorr q1, q8, q8 .long 0xf22241f2 // vorr q2, q9, q9 .long 0xecbd8b04 // vpop {d8-d9} .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3f328f5c // .word 0x3f328f5c .long 0x3f328f5c // .word 0x3f328f5c .long 0x3f328f5c // .word 0x3f328f5c .long 0x3f328f5c // .word 0x3f328f5c .long 0x3b23d70a // .word 0x3b23d70a .long 0x3b23d70a // .word 0x3b23d70a .long 0x3b23d70a // .word 0x3b23d70a .long 0x3b23d70a // .word 0x3b23d70a .long 0x3d6147ae // .word 0x3d6147ae .long 0x3d6147ae // .word 0x3d6147ae .long 0x3d6147ae // .word 0x3d6147ae .long 0x3d6147ae // .word 0x3d6147ae .long 0x3d9e8391 // .word 0x3d9e8391 .long 0x3d9e8391 // .word 0x3d9e8391 .long 0x3d9e8391 // .word 0x3d9e8391 .long 0x3d9e8391 // .word 0x3d9e8391 HIDDEN _sk_from_srgb_dst_vfp4 .globl _sk_from_srgb_dst_vfp4 FUNCTION(_sk_from_srgb_dst_vfp4) _sk_from_srgb_dst_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xed2d8b10 // vpush {d8-d15} .long 0xe28f20b0 // add r2, pc, #176 .long 0xe280c010 // add ip, r0, #16 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe28f20b4 // add r2, pc, #180 .long 0xe280e020 // add lr, r0, #32 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf26061f0 // vorr q11, q8, q8 .long 0xf46c4acf // vld1.64 {d20-d21}, [ip] .long 0xf260a1f0 // vorr q13, q8, q8 .long 0xf2446cf2 // vfma.f32 q11, q10, q9 .long 0xf46e8acf // vld1.64 {d24-d25}, [lr] .long 0xf248acf2 // vfma.f32 q13, q12, q9 .long 0xf462eacf // vld1.64 {d30-d31}, [r2] .long 0xe28f3098 // add r3, pc, #152 .long 0xf344cdf4 // vmul.f32 q14, q10, q10 .long 0xf3088df8 // vmul.f32 q4, q12, q12 .long 0xf24e0cf2 // vfma.f32 q8, q15, q9 .long 0xf4632acf // vld1.64 {d18-d19}, [r3] .long 0xe28f3094 // add r3, pc, #148 .long 0xf222a1f2 // vorr q5, q9, q9 .long 0xf20cacf6 // vfma.f32 q5, q14, q11 .long 0xf4636acf // vld1.64 {d22-d23}, [r3] .long 0xe28f3094 // add r3, pc, #148 .long 0xf262c1f2 // vorr q14, q9, q9 .long 0xf248cc7a // vfma.f32 q14, q4, q13 .long 0xf463aacf // vld1.64 {d26-d27}, [r3] .long 0xf3268ee8 // vcgt.f32 q4, q11, q12 .long 0xf3488dfa // vmul.f32 q12, q12, q13 .long 0xf326ceee // vcgt.f32 q6, q11, q15 .long 0xf3666ee4 // vcgt.f32 q11, q11, q10 .long 0xf3444dfa // vmul.f32 q10, q10, q13 .long 0xf30eedfa // vmul.f32 q7, q15, q13 .long 0xf34eadfe // vmul.f32 q13, q15, q15 .long 0xf31881fc // vbsl q4, q12, q14 .long 0xf35461da // vbsl q11, q10, q5 .long 0xf24a2cf0 // vfma.f32 q9, q13, q8 .long 0xf31ec172 // vbsl q6, q7, q9 .long 0xf44c6acf // vst1.64 {d22-d23}, [ip] .long 0xf40e8acf // vst1.64 {d8-d9}, [lr] .long 0xf402cacf // vst1.64 {d12-d13}, [r2] .long 0xe4912004 // ldr r2, [r1], #4 .long 0xecbd8b10 // vpop {d8-d15} .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3e99999a // .word 0x3e99999a .long 0x3f328f5c // .word 0x3f328f5c .long 0x3f328f5c // .word 0x3f328f5c .long 0x3f328f5c // .word 0x3f328f5c .long 0x3f328f5c // .word 0x3f328f5c .long 0x3b23d70a // .word 0x3b23d70a .long 0x3b23d70a // .word 0x3b23d70a .long 0x3b23d70a // .word 0x3b23d70a .long 0x3b23d70a // .word 0x3b23d70a .long 0x3d6147ae // .word 0x3d6147ae .long 0x3d6147ae // .word 0x3d6147ae .long 0x3d6147ae // .word 0x3d6147ae .long 0x3d6147ae // .word 0x3d6147ae .long 0x3d9e8391 // .word 0x3d9e8391 .long 0x3d9e8391 // .word 0x3d9e8391 .long 0x3d9e8391 // .word 0x3d9e8391 .long 0x3d9e8391 // .word 0x3d9e8391 HIDDEN _sk_to_srgb_vfp4 .globl _sk_to_srgb_vfp4 FUNCTION(_sk_to_srgb_vfp4) _sk_to_srgb_vfp4: .long 0xed2d8b08 // vpush {d8-d11} .long 0xf3fb05c0 // vrsqrte.f32 q8, q0 .long 0xe28f20f8 // add r2, pc, #248 .long 0xf3402df0 // vmul.f32 q9, q8, q8 .long 0xf2602f72 // vrsqrts.f32 q9, q0, q9 .long 0xf3400df2 // vmul.f32 q8, q8, q9 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe28f20f4 // add r2, pc, #244 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe28f20fc // add r2, pc, #252 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xe28f2f41 // add r2, pc, #260 .long 0xf26ac1fa // vorr q14, q13, q13 .long 0xf240ccf8 // vfma.f32 q14, q8, q12 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f2f41 // add r2, pc, #260 .long 0xf22681f6 // vorr q4, q11, q11 .long 0xf2404de2 // vadd.f32 q10, q8, q9 .long 0xf3fbe564 // vrecpe.f32 q15, q10 .long 0xf2008cfc // vfma.f32 q4, q8, q14 .long 0xf3fb05c2 // vrsqrte.f32 q8, q1 .long 0xf2444ffe // vrecps.f32 q10, q10, q15 .long 0xf340cdf0 // vmul.f32 q14, q8, q8 .long 0xf262cf7c // vrsqrts.f32 q14, q1, q14 .long 0xf34e4df4 // vmul.f32 q10, q15, q10 .long 0xf266e1f6 // vorr q15, q11, q11 .long 0xf3400dfc // vmul.f32 q8, q8, q14 .long 0xf26ac1fa // vorr q14, q13, q13 .long 0xf240ccf8 // vfma.f32 q14, q8, q12 .long 0xf240ecfc // vfma.f32 q15, q8, q14 .long 0xf2400de2 // vadd.f32 q8, q8, q9 .long 0xf3fbc560 // vrecpe.f32 q14, q8 .long 0xf2400ffc // vrecps.f32 q8, q8, q14 .long 0xf34c0df0 // vmul.f32 q8, q14, q8 .long 0xf3fbc5c4 // vrsqrte.f32 q14, q2 .long 0xf30cadfc // vmul.f32 q5, q14, q14 .long 0xf224af5a // vrsqrts.f32 q5, q2, q5 .long 0xf34ccdda // vmul.f32 q14, q14, q5 .long 0xf24c2de2 // vadd.f32 q9, q14, q9 .long 0xf24cacf8 // vfma.f32 q13, q14, q12 .long 0xf3fb8562 // vrecpe.f32 q12, q9 .long 0xf2422ff8 // vrecps.f32 q9, q9, q12 .long 0xf24c6cfa // vfma.f32 q11, q14, q13 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xe28f20a0 // add r2, pc, #160 .long 0xf34ecdf0 // vmul.f32 q14, q15, q8 .long 0xf348ed74 // vmul.f32 q15, q4, q10 .long 0xf4228acf // vld1.64 {d8-d9}, [r2] .long 0xf36a0ec4 // vcgt.f32 q8, q13, q2 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf3044d58 // vmul.f32 q2, q2, q4 .long 0xf36a4ec0 // vcgt.f32 q10, q13, q0 .long 0xf3488df2 // vmul.f32 q12, q12, q9 .long 0xf36a2ec2 // vcgt.f32 q9, q13, q1 .long 0xf3022d58 // vmul.f32 q1, q1, q4 .long 0xf340ad58 // vmul.f32 q13, q0, q4 .long 0xf3466df8 // vmul.f32 q11, q11, q12 .long 0xf3540176 // vbsl q8, q2, q11 .long 0xf352217c // vbsl q9, q1, q14 .long 0xf35a41fe // vbsl q10, q13, q15 .long 0xf22221f2 // vorr q1, q9, q9 .long 0xf22401f4 // vorr q0, q10, q10 .long 0xf22041f0 // vorr q2, q8, q8 .long 0xecbd8b08 // vpop {d8-d11} .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} .long 0x3e10c64c // .word 0x3e10c64c .long 0x3e10c64c // .word 0x3e10c64c .long 0x3e10c64c // .word 0x3e10c64c .long 0x3e10c64c // .word 0x3e10c64c .long 0xbb20d739 // .word 0xbb20d739 .long 0xbb20d739 // .word 0xbb20d739 .long 0xbb20d739 // .word 0xbb20d739 .long 0xbb20d739 // .word 0xbb20d739 .long 0x3c629fba // .word 0x3c629fba .long 0x3c629fba // .word 0x3c629fba .long 0x3c629fba // .word 0x3c629fba .long 0x3c629fba // .word 0x3c629fba .long 0x3f90a3d7 // .word 0x3f90a3d7 .long 0x3f90a3d7 // .word 0x3f90a3d7 .long 0x3f90a3d7 // .word 0x3f90a3d7 .long 0x3f90a3d7 // .word 0x3f90a3d7 .long 0x3b98b1a8 // .word 0x3b98b1a8 .long 0x3b98b1a8 // .word 0x3b98b1a8 .long 0x3b98b1a8 // .word 0x3b98b1a8 .long 0x3b98b1a8 // .word 0x3b98b1a8 .long 0x414eb852 // .word 0x414eb852 .long 0x414eb852 // .word 0x414eb852 .long 0x414eb852 // .word 0x414eb852 .long 0x414eb852 // .word 0x414eb852 HIDDEN _sk_rgb_to_hsl_vfp4 .globl _sk_rgb_to_hsl_vfp4 FUNCTION(_sk_rgb_to_hsl_vfp4) _sk_rgb_to_hsl_vfp4: .long 0xed2d8b0c // vpush {d8-d13} .long 0xf2620f44 // vmin.f32 q8, q1, q2 .long 0xe28f20b8 // add r2, pc, #184 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe28f20c0 // add r2, pc, #192 .long 0xf2422f44 // vmax.f32 q9, q1, q2 .long 0xeeb7ca00 // vmov.f32 s24, #112 .long 0xf2600f60 // vmin.f32 q8, q0, q8 .long 0xf2404f62 // vmax.f32 q10, q0, q9 .long 0xf3646e42 // vcgt.f32 q11, q2, q1 .long 0xf2c02050 // vmov.i32 q9, #0 .long 0xf2248de0 // vsub.f32 q4, q10, q8 .long 0xf35861f2 // vbsl q11, q12, q9 .long 0xf2628d44 // vsub.f32 q12, q1, q2 .long 0xeeccba29 // vdiv.f32 s23, s24, s19 .long 0xee8cba09 // vdiv.f32 s22, s24, s18 .long 0xeeccaa28 // vdiv.f32 s21, s24, s17 .long 0xee8caa08 // vdiv.f32 s20, s24, s16 .long 0xf2486cda // vfma.f32 q11, q12, q5 .long 0xf2648d40 // vsub.f32 q12, q2, q0 .long 0xf2c4a650 // vmov.i32 q13, #1073741824 .long 0xf2c1ef50 // vmov.f32 q15, #4 .long 0xf26acde4 // vsub.f32 q14, q13, q10 .long 0xf248acda // vfma.f32 q13, q12, q5 .long 0xf2608d42 // vsub.f32 q12, q0, q1 .long 0xf248ecda // vfma.f32 q15, q12, q5 .long 0xf26c8de0 // vsub.f32 q12, q14, q8 .long 0xf244cde0 // vadd.f32 q14, q10, q8 .long 0xf283a65f // vmov.i32 q5, #1056964608 .long 0xf2440ee0 // vceq.f32 q8, q10, q8 .long 0xf30c4dda // vmul.f32 q2, q14, q5 .long 0xf324ce4a // vcgt.f32 q6, q2, q5 .long 0xf318c1fc // vbsl q6, q12, q14 .long 0xf2448ec0 // vceq.f32 q12, q10, q0 .long 0xeec9baad // vdiv.f32 s23, s19, s27 .long 0xee89ba0d // vdiv.f32 s22, s18, s26 .long 0xeec8aaac // vdiv.f32 s21, s17, s25 .long 0xee88aa0c // vdiv.f32 s20, s16, s24 .long 0xf2444ec2 // vceq.f32 q10, q10, q1 .long 0xf35a41fe // vbsl q10, q13, q15 .long 0xf35681f4 // vbsl q12, q11, q10 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xf26041f0 // vorr q10, q8, q8 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf35201da // vbsl q8, q9, q5 .long 0xf35241f8 // vbsl q10, q9, q12 .long 0xf22021f0 // vorr q1, q8, q8 .long 0xf3040df6 // vmul.f32 q0, q10, q11 .long 0xecbd8b0c // vpop {d8-d13} .long 0xe12fff12 // bx r2 .long 0x40c00000 // .word 0x40c00000 .long 0x40c00000 // .word 0x40c00000 .long 0x40c00000 // .word 0x40c00000 .long 0x40c00000 // .word 0x40c00000 .long 0x3e2aaaab // .word 0x3e2aaaab .long 0x3e2aaaab // .word 0x3e2aaaab .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 0xe92d0030 // push {r4, r5} .long 0xed2d8b10 // vpush {d8-d15} .long 0xe24dd028 // sub sp, sp, #40 .long 0xe28d2010 // add r2, sp, #16 .long 0xf3420d54 // vmul.f32 q8, q1, q2 .long 0xf2c3465f // vmov.i32 q10, #1056964608 .long 0xe28d3010 // add r3, sp, #16 .long 0xec826b04 // vstmia r2, {d6-d7} .long 0xf281cf50 // vmov.f32 q6, #4 .long 0xf280a050 // vmov.i32 q5, #0 .long 0xec8d2b04 // vstmia sp, {d2-d3} .long 0xe28f2f5f // add r2, pc, #380 .long 0xf2626d60 // vsub.f32 q11, q1, q8 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe28f2d06 // add r2, pc, #384 .long 0xf240ad62 // vadd.f32 q13, q0, q9 .long 0xf4228acf // vld1.64 {d8-d9}, [r2] .long 0xe28f2f61 // add r2, pc, #388 .long 0xf3442e64 // vcge.f32 q9, q2, q10 .long 0xf422eacf // vld1.64 {d14-d15}, [r2] .long 0xe28f2f62 // add r2, pc, #392 .long 0xf3fb876a // vcvt.s32.f32 q12, q13 .long 0xf35621f0 // vbsl q9, q11, q8 .long 0xf2446d44 // vadd.f32 q11, q2, q2 .long 0xf3fb0668 // vcvt.f32.s32 q8, q12 .long 0xf2422dc4 // vadd.f32 q9, q9, q2 .long 0xf3608eea // vcgt.f32 q12, q8, q13 .long 0xf2664de2 // vsub.f32 q10, q11, q9 .long 0xf2c06050 // vmov.i32 q11, #0 .long 0xf3588176 // vbsl q12, q4, q11 .long 0xf262ede4 // vsub.f32 q15, q9, q10 .long 0xf2600de8 // vsub.f32 q8, q8, q12 .long 0xf2c16f50 // vmov.f32 q11, #4 .long 0xf22421f4 // vorr q1, q10, q10 .long 0xf26a8de0 // vsub.f32 q12, q13, q8 .long 0xf2c10f58 // vmov.f32 q8, #6 .long 0xf264a1f4 // vorr q13, q10, q10 .long 0xf3480df0 // vmul.f32 q8, q12, q8 .long 0xf20e2cf0 // vfma.f32 q1, q15, q8 .long 0xf2660de0 // vsub.f32 q8, q11, q8 .long 0xf2c3665f // vmov.i32 q11, #1056964608 .long 0xf24eacf0 // vfma.f32 q13, q15, q8 .long 0xf3480ece // vcge.f32 q8, q12, q7 .long 0xf35401fa // vbsl q8, q10, q13 .long 0xf348aee6 // vcge.f32 q13, q12, q11 .long 0xf2c06050 // vmov.i32 q11, #0 .long 0xf350a1f2 // vbsl q13, q8, q9 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe28f2f4a // add r2, pc, #296 .long 0xf2400d60 // vadd.f32 q8, q0, q8 .long 0xf3bb6760 // vcvt.s32.f32 q3, q8 .long 0xf3bb6646 // vcvt.f32.s32 q3, q3 .long 0xf366ce60 // vcgt.f32 q14, q3, q8 .long 0xf358c176 // vbsl q14, q4, q11 .long 0xf2c16f58 // vmov.f32 q11, #6 .long 0xf266cd6c // vsub.f32 q14, q3, q14 .long 0xf2600dec // vsub.f32 q8, q8, q14 .long 0xf340cdf6 // vmul.f32 q14, q8, q11 .long 0xf26461f4 // vorr q11, q10, q10 .long 0xf22c6d6c // vsub.f32 q3, q6, q14 .long 0xf24e6cd6 // vfma.f32 q11, q15, q3 .long 0xf3006ece // vcge.f32 q3, q8, q7 .long 0xf31461f6 // vbsl q3, q10, q11 .long 0xf2c3665f // vmov.i32 q11, #1056964608 .long 0xf3406ee6 // vcge.f32 q11, q8, q11 .long 0xf3566172 // vbsl q11, q3, q9 .long 0xf22461f4 // vorr q3, q10, q10 .long 0xf20e6cfc // vfma.f32 q3, q15, q14 .long 0xf3fbc740 // vcvt.s32.f32 q14, q0 .long 0xf3fbc66c // vcvt.f32.s32 q14, q14 .long 0xf32ccec0 // vcgt.f32 q6, q14, q0 .long 0xf318c15a // vbsl q6, q4, q5 .long 0xf22481f4 // vorr q4, q10, q10 .long 0xf26ccdcc // vsub.f32 q14, q14, q6 .long 0xf281cf50 // vmov.f32 q6, #4 .long 0xf260cd6c // vsub.f32 q14, q0, q14 .long 0xf2810f58 // vmov.f32 q0, #6 .long 0xf30c0dd0 // vmul.f32 q0, q14, q0 .long 0xf20e8cd0 // vfma.f32 q4, q15, q0 .long 0xf22c0d40 // vsub.f32 q0, q6, q0 .long 0xf224c1f4 // vorr q6, q10, q10 .long 0xf20eccd0 // vfma.f32 q6, q15, q0 .long 0xf34ceece // vcge.f32 q15, q14, q7 .long 0xf354e1dc // vbsl q15, q10, q6 .long 0xf2c3465f // vmov.i32 q10, #1056964608 .long 0xf34c4ee4 // vcge.f32 q10, q14, q10 .long 0xf35e41f2 // vbsl q10, q15, q9 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xf3488ee2 // vcge.f32 q12, q12, q9 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf340eee2 // vcge.f32 q15, q8, q9 .long 0xecdd0b04 // vldmia sp, {d16-d17} .long 0xf34c2ee2 // vcge.f32 q9, q14, q9 .long 0xf35a81d2 // vbsl q12, q13, q1 .long 0xf3f90560 // vceq.f32 q8, q8, #0 .long 0xf22021f0 // vorr q1, q8, q8 .long 0xf22001f0 // vorr q0, q8, q8 .long 0xf3540178 // vbsl q8, q2, q12 .long 0xf356e1d6 // vbsl q15, q11, q3 .long 0xec936b04 // vldmia r3, {d6-d7} .long 0xf35421d8 // vbsl q9, q10, q4 .long 0xf3142172 // vbsl q1, q2, q9 .long 0xf314017e // vbsl q0, q2, q15 .long 0xf22041f0 // vorr q2, q8, q8 .long 0xe28dd028 // add sp, sp, #40 .long 0xecbd8b10 // vpop {d8-d15} .long 0xe8bd0030 // pop {r4, r5} .long 0xe12fff12 // bx r2 .long 0xbeaaaaab // .word 0xbeaaaaab .long 0xbeaaaaab // .word 0xbeaaaaab .long 0xbeaaaaab // .word 0xbeaaaaab .long 0xbeaaaaab // .word 0xbeaaaaab .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f2aaaab // .word 0x3f2aaaab .long 0x3f2aaaab // .word 0x3f2aaaab .long 0x3f2aaaab // .word 0x3f2aaaab .long 0x3f2aaaab // .word 0x3f2aaaab .long 0x3eaaaaab // .word 0x3eaaaaab .long 0x3eaaaaab // .word 0x3eaaaaab .long 0x3eaaaaab // .word 0x3eaaaaab .long 0x3eaaaaab // .word 0x3eaaaaab .long 0x3e2aaaab // .word 0x3e2aaaab .long 0x3e2aaaab // .word 0x3e2aaaab .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 0xe5913000 // ldr r3, [r1] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf4e30cbf // vld1.32 {d16[]-d17[]}, [r3 :32] .long 0xf3000dd0 // vmul.f32 q0, q8, q0 .long 0xf3002dd2 // vmul.f32 q1, q8, q1 .long 0xf3004dd4 // vmul.f32 q2, q8, q2 .long 0xf3006dd6 // vmul.f32 q3, q8, q3 .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} HIDDEN _sk_scale_u8_vfp4 .globl _sk_scale_u8_vfp4 FUNCTION(_sk_scale_u8_vfp4) _sk_scale_u8_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xe24dd008 // sub sp, sp, #8 .long 0xe5912000 // ldr r2, [r1] .long 0xe590e000 // ldr lr, [r0] .long 0xe9901008 // ldmib r0, {r3, ip} .long 0xe5924000 // ldr r4, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xe0224392 // mla r2, r2, r3, r4 .long 0xe082200e // add r2, r2, lr .long 0x1a000013 // bne 242c .long 0xe5922000 // ldr r2, [r2] .long 0xe58d2000 // str r2, [sp] .long 0xe1a0200d // mov r2, sp .long 0xf4e2083f // vld1.32 {d16[0]}, [r2 :32] .long 0xf3c80a30 // vmovl.u8 q8, d16 .long 0xf3c70b3f // vbic.i16 d16, #65280 .long 0xe28f209c // add r2, pc, #156 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf3fb06e0 // vcvt.f32.u32 q8, q8 .long 0xf3400df2 // vmul.f32 q8, q8, q9 .long 0xf3000dd0 // vmul.f32 q0, q8, q0 .long 0xf3002dd2 // vmul.f32 q1, q8, q1 .long 0xf3004dd4 // vmul.f32 q2, q8, q2 .long 0xf3006dd6 // vmul.f32 q3, q8, q3 .long 0xe28dd008 // add sp, sp, #8 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe20c3003 // and r3, ip, #3 .long 0xe3530001 // cmp r3, #1 .long 0x0a000012 // beq 2484 .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe3530002 // cmp r3, #2 .long 0x0a000005 // beq 245c .long 0xe3530003 // cmp r3, #3 .long 0x1affffe8 // bne 23f0 .long 0xe3a04000 // mov r4, #0 .long 0xe5d23002 // ldrb r3, [r2, #2] .long 0xee804bb0 // vdup.16 d16, r4 .long 0xee203bb0 // vmov.16 d16[2], r3 .long 0xe1d220b0 // ldrh r2, [r2] .long 0xe1cd20b4 // strh r2, [sp, #4] .long 0xe28d2004 // add r2, sp, #4 .long 0xf4e2241f // vld1.16 {d18[0]}, [r2 :16] .long 0xf3c82a32 // vmovl.u8 q9, d18 .long 0xf3d02a32 // vmovl.u16 q9, d18 .long 0xf3f62124 // vuzp.16 d18, d20 .long 0xf2f004a2 // vext.8 d16, d16, d18, #4 .long 0xf2f004a0 // vext.8 d16, d16, d16, #4 .long 0xeaffffda // b 23f0 .long 0xe3a03000 // mov r3, #0 .long 0xe5d22000 // ldrb r2, [r2] .long 0xee803bb0 // vdup.16 d16, r3 .long 0xee002bb0 // vmov.16 d16[0], r2 .long 0xeaffffd5 // b 23f0 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_scale_565_vfp4 .globl _sk_scale_565_vfp4 FUNCTION(_sk_scale_565_vfp4) _sk_scale_565_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xe5913000 // ldr r3, [r1] .long 0xe590c000 // ldr ip, [r0] .long 0xe9904004 // ldmib r0, {r2, lr} .long 0xe5934000 // ldr r4, [r3] .long 0xe5933004 // ldr r3, [r3, #4] .long 0xe35e0000 // cmp lr, #0 .long 0xe0020293 // mul r2, r3, r2 .long 0xe0842082 // add r2, r4, r2, lsl #1 .long 0xe082308c // add r3, r2, ip, lsl #1 .long 0xe280c040 // add ip, r0, #64 .long 0x1a000024 // bne 2570 .long 0xf463074f // vld1.16 {d16}, [r3] .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xe3a02e7e // mov r2, #2016 .long 0xf2c1205f // vmov.i32 q9, #31 .long 0xeea42b90 // vdup.32 q10, r2 .long 0xe28f20e0 // add r2, pc, #224 .long 0xf3c76258 // vmov.i32 q11, #63488 .long 0xf24021f2 // vand q9, q8, q9 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xf24041f4 // vand q10, q8, q10 .long 0xe28f20dc // add r2, pc, #220 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xe28f20e0 // add r2, pc, #224 .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xf24001f6 // vand q8, q8, q11 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xf3422df8 // vmul.f32 q9, q9, q12 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf3444dfa // vmul.f32 q10, q10, q13 .long 0xf3024dd4 // vmul.f32 q2, q9, q2 .long 0xf3400df6 // vmul.f32 q8, q8, q11 .long 0xf46c6acf // vld1.64 {d22-d23}, [ip] .long 0xf3666ec6 // vcgt.f32 q11, q11, q3 .long 0xf2648fe2 // vmin.f32 q12, q10, q9 .long 0xf244afe2 // vmax.f32 q13, q10, q9 .long 0xf3000dd0 // vmul.f32 q0, q8, q0 .long 0xf2608fe8 // vmin.f32 q12, q8, q12 .long 0xf240afea // vmax.f32 q13, q8, q13 .long 0xf3042dd2 // vmul.f32 q1, q10, q1 .long 0xf35861fa // vbsl q11, q12, q13 .long 0xf3066dd6 // vmul.f32 q3, q11, q3 .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe20e2003 // and r2, lr, #3 .long 0xe3520001 // cmp r2, #1 .long 0x0a000011 // beq 25c4 .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe3520002 // cmp r2, #2 .long 0x0a000005 // beq 25a0 .long 0xe3520003 // cmp r2, #3 .long 0x1affffd3 // bne 24e0 .long 0xe3a02000 // mov r2, #0 .long 0xee802bb0 // vdup.16 d16, r2 .long 0xe2832004 // add r2, r3, #4 .long 0xf4e2049f // vld1.16 {d16[2]}, [r2 :16] .long 0xe5932000 // ldr r2, [r3] .long 0xe58d2000 // str r2, [sp] .long 0xe1a0200d // mov r2, sp .long 0xf4e2183f // vld1.32 {d17[0]}, [r2 :32] .long 0xf3d02a31 // vmovl.u16 q9, d17 .long 0xf3f62121 // vuzp.16 d18, d17 .long 0xf2f004a2 // vext.8 d16, d16, d18, #4 .long 0xf2f004a0 // vext.8 d16, d16, d16, #4 .long 0xeaffffc6 // b 24e0 .long 0xe3a02000 // mov r2, #0 .long 0xee802bb0 // vdup.16 d16, r2 .long 0xf4e3041f // vld1.16 {d16[0]}, [r3 :16] .long 0xeaffffc2 // b 24e0 .long 0xe320f000 // nop {0} .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 HIDDEN _sk_lerp_1_float_vfp4 .globl _sk_lerp_1_float_vfp4 FUNCTION(_sk_lerp_1_float_vfp4) _sk_lerp_1_float_vfp4: .long 0xe2802030 // add r2, r0, #48 .long 0xe8911008 // ldm r1, {r3, ip} .long 0xe2811008 // add r1, r1, #8 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe2802010 // add r2, r0, #16 .long 0xf2648d60 // vsub.f32 q12, q2, q8 .long 0xf4e3ecbf // vld1.32 {d30[]-d31[]}, [r3 :32] .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe2802020 // add r2, r0, #32 .long 0xf260ad62 // vsub.f32 q13, q0, q9 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe2802040 // add r2, r0, #64 .long 0xf262cd64 // vsub.f32 q14, q1, q10 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xf2260d66 // vsub.f32 q0, q3, q11 .long 0xf2480cfe // vfma.f32 q8, q12, q15 .long 0xf24c4cfe // vfma.f32 q10, q14, q15 .long 0xf2406c7e // vfma.f32 q11, q0, q15 .long 0xf24a2cfe // vfma.f32 q9, q13, q15 .long 0xf22041f0 // vorr q2, q8, q8 .long 0xf22421f4 // vorr q1, q10, q10 .long 0xf22661f6 // vorr q3, q11, q11 .long 0xf22201f2 // vorr q0, q9, q9 .long 0xe12fff1c // bx ip HIDDEN _sk_lerp_u8_vfp4 .globl _sk_lerp_u8_vfp4 FUNCTION(_sk_lerp_u8_vfp4) _sk_lerp_u8_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe24dd008 // sub sp, sp, #8 .long 0xe5912000 // ldr r2, [r1] .long 0xe280c040 // add ip, r0, #64 .long 0xe8900058 // ldm r0, {r3, r4, r6} .long 0xe280e030 // add lr, r0, #48 .long 0xe5925000 // ldr r5, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe3560000 // cmp r6, #0 .long 0xe0225492 // mla r2, r2, r4, r5 .long 0xe0824003 // add r4, r2, r3 .long 0xe2803020 // add r3, r0, #32 .long 0xe2802010 // add r2, r0, #16 .long 0x1a00001f // bne 2720 .long 0xe5944000 // ldr r4, [r4] .long 0xe58d4000 // str r4, [sp] .long 0xe1a0400d // mov r4, sp .long 0xf4e4083f // vld1.32 {d16[0]}, [r4 :32] .long 0xf3c80a30 // vmovl.u8 q8, d16 .long 0xf3c70b3f // vbic.i16 d16, #65280 .long 0xf4634acf // vld1.64 {d20-d21}, [r3] .long 0xf262cd64 // vsub.f32 q14, q1, q10 .long 0xf3d02a30 // vmovl.u16 q9, d16 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xf2608d60 // vsub.f32 q12, q0, q8 .long 0xf3fb66e2 // vcvt.f32.u32 q11, q9 .long 0xf46e2acf // vld1.64 {d18-d19}, [lr] .long 0xe28f20b4 // add r2, pc, #180 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xf264ed62 // vsub.f32 q15, q2, q9 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf346adfa // vmul.f32 q13, q11, q13 .long 0xf46c6acf // vld1.64 {d22-d23}, [ip] .long 0xf2260d66 // vsub.f32 q0, q3, q11 .long 0xf24c4cfa // vfma.f32 q10, q14, q13 .long 0xf24e2cfa // vfma.f32 q9, q15, q13 .long 0xf2406c7a // vfma.f32 q11, q0, q13 .long 0xf2480cfa // vfma.f32 q8, q12, q13 .long 0xf22421f4 // vorr q1, q10, q10 .long 0xf22241f2 // vorr q2, q9, q9 .long 0xf22661f6 // vorr q3, q11, q11 .long 0xf22001f0 // vorr q0, q8, q8 .long 0xe28dd008 // add sp, sp, #8 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff12 // bx r2 .long 0xe2065003 // and r5, r6, #3 .long 0xe3550001 // cmp r5, #1 .long 0x0a000012 // beq 2778 .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe3550002 // cmp r5, #2 .long 0x0a000005 // beq 2750 .long 0xe3550003 // cmp r5, #3 .long 0x1affffdc // bne 26b4 .long 0xe3a06000 // mov r6, #0 .long 0xe5d45002 // ldrb r5, [r4, #2] .long 0xee806bb0 // vdup.16 d16, r6 .long 0xee205bb0 // vmov.16 d16[2], r5 .long 0xe1d440b0 // ldrh r4, [r4] .long 0xe1cd40b4 // strh r4, [sp, #4] .long 0xe28d4004 // add r4, sp, #4 .long 0xf4e4241f // vld1.16 {d18[0]}, [r4 :16] .long 0xf3c82a32 // vmovl.u8 q9, d18 .long 0xf3d02a32 // vmovl.u16 q9, d18 .long 0xf3f62124 // vuzp.16 d18, d20 .long 0xf2f004a2 // vext.8 d16, d16, d18, #4 .long 0xf2f004a0 // vext.8 d16, d16, d16, #4 .long 0xeaffffce // b 26b4 .long 0xe3a05000 // mov r5, #0 .long 0xe5d44000 // ldrb r4, [r4] .long 0xee805bb0 // vdup.16 d16, r5 .long 0xee004bb0 // vmov.16 d16[0], r4 .long 0xeaffffc9 // b 26b4 .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_lerp_565_vfp4 .globl _sk_lerp_565_vfp4 FUNCTION(_sk_lerp_565_vfp4) _sk_lerp_565_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xe5912000 // ldr r2, [r1] .long 0xe280e040 // add lr, r0, #64 .long 0xe8900058 // ldm r0, {r3, r4, r6} .long 0xe280c020 // add ip, r0, #32 .long 0xe5925000 // ldr r5, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe3560000 // cmp r6, #0 .long 0xe0020492 // mul r2, r2, r4 .long 0xe0852082 // add r2, r5, r2, lsl #1 .long 0xe0824083 // add r4, r2, r3, lsl #1 .long 0xe2802030 // add r2, r0, #48 .long 0xe2803010 // add r3, r0, #16 .long 0x1a00002f // bne 289c .long 0xf464074f // vld1.16 {d16}, [r4] .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xe3a04e7e // mov r4, #2016 .long 0xf2c1205f // vmov.i32 q9, #31 .long 0xeea44b90 // vdup.32 q10, r4 .long 0xe28f4f42 // add r4, pc, #264 .long 0xf3c76258 // vmov.i32 q11, #63488 .long 0xf24021f2 // vand q9, q8, q9 .long 0xf4648acf // vld1.64 {d24-d25}, [r4] .long 0xf24041f4 // vand q10, q8, q10 .long 0xe28f4f41 // add r4, pc, #260 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xf464aacf // vld1.64 {d26-d27}, [r4] .long 0xe28f4f42 // add r4, pc, #264 .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xf24001f6 // vand q8, q8, q11 .long 0xf3428df8 // vmul.f32 q12, q9, q12 .long 0xf4642acf // vld1.64 {d18-d19}, [r4] .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf344adfa // vmul.f32 q13, q10, q13 .long 0xf3406df2 // vmul.f32 q11, q8, q9 .long 0xf4630acf // vld1.64 {d16-d17}, [r3] .long 0xf260ed60 // vsub.f32 q15, q0, q8 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xf26a4fe8 // vmin.f32 q10, q13, q12 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf24acfe8 // vmax.f32 q14, q13, q12 .long 0xf24e0cf6 // vfma.f32 q8, q15, q11 .long 0xf2260fe4 // vmin.f32 q0, q11, q10 .long 0xf46e4acf // vld1.64 {d20-d21}, [lr] .long 0xf266ed64 // vsub.f32 q15, q3, q10 .long 0xf3246ec6 // vcgt.f32 q3, q10, q3 .long 0xf246cfec // vmax.f32 q14, q11, q14 .long 0xf46c6acf // vld1.64 {d22-d23}, [ip] .long 0xf2244d62 // vsub.f32 q2, q2, q9 .long 0xf310617c // vbsl q3, q0, q14 .long 0xf262cd66 // vsub.f32 q14, q1, q11 .long 0xf2442c78 // vfma.f32 q9, q2, q12 .long 0xf24e4cd6 // vfma.f32 q10, q15, q3 .long 0xf24c6cfa // vfma.f32 q11, q14, q13 .long 0xf22001f0 // vorr q0, q8, q8 .long 0xf22241f2 // vorr q2, q9, q9 .long 0xf22461f4 // vorr q3, q10, q10 .long 0xf22621f6 // vorr q1, q11, q11 .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff12 // bx r2 .long 0xe2065003 // and r5, r6, #3 .long 0xe3550001 // cmp r5, #1 .long 0x0a000011 // beq 28f0 .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe3550002 // cmp r5, #2 .long 0x0a000005 // beq 28cc .long 0xe3550003 // cmp r5, #3 .long 0x1affffc8 // bne 27e0 .long 0xe3a05000 // mov r5, #0 .long 0xee805bb0 // vdup.16 d16, r5 .long 0xe2845004 // add r5, r4, #4 .long 0xf4e5049f // vld1.16 {d16[2]}, [r5 :16] .long 0xe5944000 // ldr r4, [r4] .long 0xe58d4000 // str r4, [sp] .long 0xe1a0400d // mov r4, sp .long 0xf4e4183f // vld1.32 {d17[0]}, [r4 :32] .long 0xf3d02a31 // vmovl.u16 q9, d17 .long 0xf3f62121 // vuzp.16 d18, d17 .long 0xf2f004a2 // vext.8 d16, d16, d18, #4 .long 0xf2f004a0 // vext.8 d16, d16, d16, #4 .long 0xeaffffbb // b 27e0 .long 0xe3a05000 // mov r5, #0 .long 0xee805bb0 // vdup.16 d16, r5 .long 0xf4e4041f // vld1.16 {d16[0]}, [r4 :16] .long 0xeaffffb7 // b 27e0 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 HIDDEN _sk_load_tables_vfp4 .globl _sk_load_tables_vfp4 FUNCTION(_sk_load_tables_vfp4) _sk_load_tables_vfp4: .long 0xe92d4bf0 // push {r4, r5, r6, r7, r8, r9, fp, lr} .long 0xe5915000 // ldr r5, [r1] .long 0xe5902000 // ldr r2, [r0] .long 0xe5903008 // ldr r3, [r0, #8] .long 0xe5954000 // ldr r4, [r5] .long 0xe3530000 // cmp r3, #0 .long 0xe084e102 // add lr, r4, r2, lsl #2 .long 0x1a000036 // bne 2a2c .long 0xf46e0a8f // vld1.32 {d16-d17}, [lr] .long 0xf3c7405f // vmov.i32 q10, #255 .long 0xe5956004 // ldr r6, [r5, #4] .long 0xf3f02070 // vshr.u32 q9, q8, #16 .long 0xe5953008 // ldr r3, [r5, #8] .long 0xf24061f4 // vand q11, q8, q10 .long 0xe595200c // ldr r2, [r5, #12] .long 0xf3f8a070 // vshr.u32 q13, q8, #8 .long 0xe28f7f42 // add r7, pc, #264 .long 0xf24221f4 // vand q9, q9, q10 .long 0xf4678acf // vld1.64 {d24-d25}, [r7] .long 0xf24a41f4 // vand q10, q13, q10 .long 0xee374b90 // vmov.32 r4, d23[1] .long 0xf3e80070 // vshr.u32 q8, q8, #24 .long 0xee17eb90 // vmov.32 lr, d23[0] .long 0xee368b90 // vmov.32 r8, d22[1] .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xee169b90 // vmov.32 r9, d22[0] .long 0xee355b90 // vmov.32 r5, d21[1] .long 0xee157b90 // vmov.32 r7, d21[0] .long 0xee32cb90 // vmov.32 ip, d18[1] .long 0xf3006df8 // vmul.f32 q3, q8, q12 .long 0xe0864104 // add r4, r6, r4, lsl #2 .long 0xedd41a00 // vldr s3, [r4] .long 0xe086410e // add r4, r6, lr, lsl #2 .long 0xed941a00 // vldr s2, [r4] .long 0xe0864108 // add r4, r6, r8, lsl #2 .long 0xe0866109 // add r6, r6, r9, lsl #2 .long 0xe0837107 // add r7, r3, r7, lsl #2 .long 0xedd40a00 // vldr s1, [r4] .long 0xe082c10c // add ip, r2, ip, lsl #2 .long 0xee344b90 // vmov.32 r4, d20[1] .long 0xed960a00 // vldr s0, [r6] .long 0xe0836105 // add r6, r3, r5, lsl #2 .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xedd63a00 // vldr s7, [r6] .long 0xee146b90 // vmov.32 r6, d20[0] .long 0xed973a00 // vldr s6, [r7] .long 0xe0837104 // add r7, r3, r4, lsl #2 .long 0xee134b90 // vmov.32 r4, d19[0] .long 0xedd72a00 // vldr s5, [r7] .long 0xe0827105 // add r7, r2, r5, lsl #2 .long 0xee125b90 // vmov.32 r5, d18[0] .long 0xe0833106 // add r3, r3, r6, lsl #2 .long 0xedd75a00 // vldr s11, [r7] .long 0xed932a00 // vldr s4, [r3] .long 0xe0823104 // add r3, r2, r4, lsl #2 .long 0xed935a00 // vldr s10, [r3] .long 0xe0822105 // add r2, r2, r5, lsl #2 .long 0xeddc4a00 // vldr s9, [ip] .long 0xed924a00 // vldr s8, [r2] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4bf0 // pop {r4, r5, r6, r7, r8, r9, fp, lr} .long 0xe12fff12 // bx r2 .long 0xe203c003 // and ip, r3, #3 .long 0xe35c0001 // cmp ip, #1 .long 0x0a00000c // beq 2a6c .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xe35c0002 // cmp ip, #2 .long 0x0a000005 // beq 2a5c .long 0xe35c0003 // cmp ip, #3 .long 0x1affffc1 // bne 2954 .long 0xe3a02000 // mov r2, #0 .long 0xeea02b90 // vdup.32 q8, r2 .long 0xe28e2008 // add r2, lr, #8 .long 0xf4e2183f // vld1.32 {d17[0]}, [r2 :32] .long 0xedde2b00 // vldr d18, [lr] .long 0xf2f008e2 // vext.8 q8, q8, q9, #8 .long 0xf2f008e0 // vext.8 q8, q8, q8, #8 .long 0xeaffffb9 // b 2954 .long 0xe3a02000 // mov r2, #0 .long 0xeea02b90 // vdup.32 q8, r2 .long 0xf4ee083f // vld1.32 {d16[0]}, [lr :32] .long 0xeaffffb5 // b 2954 .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 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 0xe92d41f0 // push {r4, r5, r6, r7, r8, lr} .long 0xe5918000 // ldr r8, [r1] .long 0xe5903000 // ldr r3, [r0] .long 0xe590e008 // ldr lr, [r0, #8] .long 0xe5982000 // ldr r2, [r8] .long 0xe35e0000 // cmp lr, #0 .long 0xe082c183 // add ip, r2, r3, lsl #3 .long 0x1a000039 // bne 2b98 .long 0xf46c004f // vld4.16 {d16-d19}, [ip] .long 0xf3c72b3f // vbic.i16 d18, #65280 .long 0xe5986004 // ldr r6, [r8, #4] .long 0xf3c70b3f // vbic.i16 d16, #65280 .long 0xe5983008 // ldr r3, [r8, #8] .long 0xe598200c // ldr r2, [r8, #12] .long 0xe28f40f0 // add r4, pc, #240 .long 0xf3d04a32 // vmovl.u16 q10, d18 .long 0xf4646acf // vld1.64 {d22-d23}, [r4] .long 0xf3d08a30 // vmovl.u16 q12, d16 .long 0xf3c71b3f // vbic.i16 d17, #65280 .long 0xf2d80533 // vshl.s16 d16, d19, #8 .long 0xee355b90 // vmov.32 r5, d21[1] .long 0xee397b90 // vmov.32 r7, d25[1] .long 0xee198b90 // vmov.32 r8, d25[0] .long 0xee34cb90 // vmov.32 ip, d20[1] .long 0xe082e105 // add lr, r2, r5, lsl #2 .long 0xee385b90 // vmov.32 r5, d24[1] .long 0xe0864107 // add r4, r6, r7, lsl #2 .long 0xee187b90 // vmov.32 r7, d24[0] .long 0xf3d08a31 // vmovl.u16 q12, d17 .long 0xedde5a00 // vldr s11, [lr] .long 0xedd41a00 // vldr s3, [r4] .long 0xe0864108 // add r4, r6, r8, lsl #2 .long 0xe082c10c // add ip, r2, ip, lsl #2 .long 0xed941a00 // vldr s2, [r4] .long 0xe0864105 // add r4, r6, r5, lsl #2 .long 0xee395b90 // vmov.32 r5, d25[1] .long 0xedd40a00 // vldr s1, [r4] .long 0xe0864107 // add r4, r6, r7, lsl #2 .long 0xee196b90 // vmov.32 r6, d25[0] .long 0xed940a00 // vldr s0, [r4] .long 0xe0834105 // add r4, r3, r5, lsl #2 .long 0xee385b90 // vmov.32 r5, d24[1] .long 0xedd43a00 // vldr s7, [r4] .long 0xe0834106 // add r4, r3, r6, lsl #2 .long 0xee186b90 // vmov.32 r6, d24[0] .long 0xed943a00 // vldr s6, [r4] .long 0xe0834105 // add r4, r3, r5, lsl #2 .long 0xee155b90 // vmov.32 r5, d21[0] .long 0xedd42a00 // vldr s5, [r4] .long 0xee144b90 // vmov.32 r4, d20[0] .long 0xf3d84033 // vshr.u16 d20, d19, #8 .long 0xe0833106 // add r3, r3, r6, lsl #2 .long 0xf26001b4 // vorr d16, d16, d20 .long 0xed932a00 // vldr s4, [r3] .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xf3fb06e0 // vcvt.f32.u32 q8, q8 .long 0xf3006df6 // vmul.f32 q3, q8, q11 .long 0xe0823105 // add r3, r2, r5, lsl #2 .long 0xed935a00 // vldr s10, [r3] .long 0xe0822104 // add r2, r2, r4, lsl #2 .long 0xeddc4a00 // vldr s9, [ip] .long 0xed924a00 // vldr s8, [r2] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd41f0 // pop {r4, r5, r6, r7, r8, lr} .long 0xe12fff12 // bx r2 .long 0xf4ec070f // vld4.16 {d16[0],d17[0],d18[0],d19[0]}, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0x0affffc3 // beq 2ab4 .long 0xe28c2008 // add r2, ip, #8 .long 0xe35e0003 // cmp lr, #3 .long 0xf4e2074f // vld4.16 {d16[1],d17[1],d18[1],d19[1]}, [r2] .long 0x3affffbf // bcc 2ab4 .long 0xe28c2010 // add r2, ip, #16 .long 0xf4e2078f // vld4.16 {d16[2],d17[2],d18[2],d19[2]}, [r2] .long 0xeaffffbc // b 2ab4 .long 0x37800080 // .word 0x37800080 .long 0x37800080 // .word 0x37800080 .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 0xe92d4bf0 // push {r4, r5, r6, r7, r8, r9, fp, lr} .long 0xe5903000 // ldr r3, [r0] .long 0xe5918000 // ldr r8, [r1] .long 0xe590e008 // ldr lr, [r0, #8] .long 0xe0833083 // add r3, r3, r3, lsl #1 .long 0xe5982000 // ldr r2, [r8] .long 0xe35e0000 // cmp lr, #0 .long 0xe082c083 // add ip, r2, r3, lsl #1 .long 0x1a000033 // bne 2cc4 .long 0xf46c044f // vld3.16 {d16-d18}, [ip] .long 0xf3c72b3f // vbic.i16 d18, #65280 .long 0xe28f60ec // add r6, pc, #236 .long 0xf3c70b3f // vbic.i16 d16, #65280 .long 0xe5987004 // ldr r7, [r8, #4] .long 0xe5983008 // ldr r3, [r8, #8] .long 0xf3d04a32 // vmovl.u16 q10, d18 .long 0xe598200c // ldr r2, [r8, #12] .long 0xf3d06a30 // vmovl.u16 q11, d16 .long 0xf4266acf // vld1.64 {d6-d7}, [r6] .long 0xf3c71b3f // vbic.i16 d17, #65280 .long 0xee344b90 // vmov.32 r4, d20[1] .long 0xee375b90 // vmov.32 r5, d23[1] .long 0xf3d00a31 // vmovl.u16 q8, d17 .long 0xee17eb90 // vmov.32 lr, d23[0] .long 0xee368b90 // vmov.32 r8, d22[1] .long 0xee169b90 // vmov.32 r9, d22[0] .long 0xe082c104 // add ip, r2, r4, lsl #2 .long 0xe0874105 // add r4, r7, r5, lsl #2 .long 0xee115b90 // vmov.32 r5, d17[0] .long 0xe087610e // add r6, r7, lr, lsl #2 .long 0xedd41a00 // vldr s3, [r4] .long 0xee314b90 // vmov.32 r4, d17[1] .long 0xed961a00 // vldr s2, [r6] .long 0xe0876108 // add r6, r7, r8, lsl #2 .long 0xe0877109 // add r7, r7, r9, lsl #2 .long 0xedd60a00 // vldr s1, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xed970a00 // vldr s0, [r7] .long 0xe0837104 // add r7, r3, r4, lsl #2 .long 0xee354b90 // vmov.32 r4, d21[1] .long 0xedd73a00 // vldr s7, [r7] .long 0xe0837105 // add r7, r3, r5, lsl #2 .long 0xee105b90 // vmov.32 r5, d16[0] .long 0xed973a00 // vldr s6, [r7] .long 0xe0837106 // add r7, r3, r6, lsl #2 .long 0xee156b90 // vmov.32 r6, d21[0] .long 0xedd72a00 // vldr s5, [r7] .long 0xe0827104 // add r7, r2, r4, lsl #2 .long 0xee144b90 // vmov.32 r4, d20[0] .long 0xedd75a00 // vldr s11, [r7] .long 0xe0833105 // add r3, r3, r5, lsl #2 .long 0xed932a00 // vldr s4, [r3] .long 0xe0823106 // add r3, r2, r6, lsl #2 .long 0xed935a00 // vldr s10, [r3] .long 0xeddc4a00 // vldr s9, [ip] .long 0xe0822104 // add r2, r2, r4, lsl #2 .long 0xed924a00 // vldr s8, [r2] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4bf0 // pop {r4, r5, r6, r7, r8, r9, fp, lr} .long 0xe12fff12 // bx r2 .long 0xf4ec060f // vld3.16 {d16[0],d17[0],d18[0]}, [ip] .long 0xe35e0001 // cmp lr, #1 .long 0x0affffc9 // beq 2bf8 .long 0xe28c2006 // add r2, ip, #6 .long 0xe35e0003 // cmp lr, #3 .long 0xf4e2064f // vld3.16 {d16[1],d17[1],d18[1]}, [r2] .long 0x3affffc5 // bcc 2bf8 .long 0xe28c200c // add r2, ip, #12 .long 0xf4e2068f // vld3.16 {d16[2],d17[2],d18[2]}, [r2] .long 0xeaffffc2 // b 2bf8 .long 0xe320f000 // nop {0} .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 HIDDEN _sk_byte_tables_vfp4 .globl _sk_byte_tables_vfp4 FUNCTION(_sk_byte_tables_vfp4) _sk_byte_tables_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe28f2f57 // add r2, pc, #348 .long 0xf2c3065f // vmov.i32 q8, #1056964608 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xf2c3465f // vmov.i32 q10, #1056964608 .long 0xf2400c7a // vfma.f32 q8, q0, q13 .long 0xe8911004 // ldm r1, {r2, ip} .long 0xe2811008 // add r1, r1, #8 .long 0xf2464c7a // vfma.f32 q10, q3, q13 .long 0xe5926000 // ldr r6, [r2] .long 0xe5924004 // ldr r4, [r2, #4] .long 0xe5923008 // ldr r3, [r2, #8] .long 0xe592e00c // ldr lr, [r2, #12] .long 0xf3fb27e0 // vcvt.u32.f32 q9, q8 .long 0xf2c3065f // vmov.i32 q8, #1056964608 .long 0xf2420c7a // vfma.f32 q8, q1, q13 .long 0xee125b90 // vmov.32 r5, d18[0] .long 0xf3fb67e0 // vcvt.u32.f32 q11, q8 .long 0xf2c3065f // vmov.i32 q8, #1056964608 .long 0xf2440c7a // vfma.f32 q8, q2, q13 .long 0xf3fba7e4 // vcvt.u32.f32 q13, q10 .long 0xf3fb87e0 // vcvt.u32.f32 q12, q8 .long 0xe7d62005 // ldrb r2, [r6, r5] .long 0xee165b90 // vmov.32 r5, d22[0] .long 0xee002bb0 // vmov.16 d16[0], r2 .long 0xe7d42005 // ldrb r2, [r4, r5] .long 0xee185b90 // vmov.32 r5, d24[0] .long 0xee012bb0 // vmov.16 d17[0], r2 .long 0xe7d32005 // ldrb r2, [r3, r5] .long 0xee1a5b90 // vmov.32 r5, d26[0] .long 0xee042bb0 // vmov.16 d20[0], r2 .long 0xe7de2005 // ldrb r2, [lr, r5] .long 0xee325b90 // vmov.32 r5, d18[1] .long 0xee052bb0 // vmov.16 d21[0], r2 .long 0xe7d62005 // ldrb r2, [r6, r5] .long 0xee365b90 // vmov.32 r5, d22[1] .long 0xee002bf0 // vmov.16 d16[1], r2 .long 0xe7d42005 // ldrb r2, [r4, r5] .long 0xee385b90 // vmov.32 r5, d24[1] .long 0xee012bf0 // vmov.16 d17[1], r2 .long 0xe7d32005 // ldrb r2, [r3, r5] .long 0xee3a5b90 // vmov.32 r5, d26[1] .long 0xee042bf0 // vmov.16 d20[1], r2 .long 0xe7de2005 // ldrb r2, [lr, r5] .long 0xee135b90 // vmov.32 r5, d19[0] .long 0xee052bf0 // vmov.16 d21[1], r2 .long 0xe7d62005 // ldrb r2, [r6, r5] .long 0xee175b90 // vmov.32 r5, d23[0] .long 0xee202bb0 // vmov.16 d16[2], r2 .long 0xe7d42005 // ldrb r2, [r4, r5] .long 0xee1b5b90 // vmov.32 r5, d27[0] .long 0xee212bb0 // vmov.16 d17[2], r2 .long 0xe7de2005 // ldrb r2, [lr, r5] .long 0xee195b90 // vmov.32 r5, d25[0] .long 0xee252bb0 // vmov.16 d21[2], r2 .long 0xee332b90 // vmov.32 r2, d19[1] .long 0xe7d35005 // ldrb r5, [r3, r5] .long 0xee245bb0 // vmov.16 d20[2], r5 .long 0xee375b90 // vmov.32 r5, d23[1] .long 0xe7d62002 // ldrb r2, [r6, r2] .long 0xee3b6b90 // vmov.32 r6, d27[1] .long 0xee202bf0 // vmov.16 d16[3], r2 .long 0xf3c70b3f // vbic.i16 d16, #65280 .long 0xf3d02a30 // vmovl.u16 q9, d16 .long 0xf3fb26e2 // vcvt.f32.u32 q9, q9 .long 0xe7d44005 // ldrb r4, [r4, r5] .long 0xee395b90 // vmov.32 r5, d25[1] .long 0xe7de2006 // ldrb r2, [lr, r6] .long 0xee214bf0 // vmov.16 d17[3], r4 .long 0xee252bf0 // vmov.16 d21[3], r2 .long 0xf3c71b3f // vbic.i16 d17, #65280 .long 0xf3c75b3f // vbic.i16 d21, #65280 .long 0xf3d00a31 // vmovl.u16 q8, d17 .long 0xf3fb06e0 // vcvt.f32.u32 q8, q8 .long 0xe7d33005 // ldrb r3, [r3, r5] .long 0xe28f2044 // add r2, pc, #68 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xf3020df8 // vmul.f32 q0, q9, q12 .long 0xee243bf0 // vmov.16 d20[3], r3 .long 0xf3002df8 // vmul.f32 q1, q8, q12 .long 0xf3c74b3f // vbic.i16 d20, #65280 .long 0xf3d06a34 // vmovl.u16 q11, d20 .long 0xf3d04a35 // vmovl.u16 q10, d21 .long 0xf3fb66e6 // vcvt.f32.u32 q11, q11 .long 0xf3fb46e4 // vcvt.f32.u32 q10, q10 .long 0xf3064df8 // vmul.f32 q2, q11, q12 .long 0xf3046df8 // vmul.f32 q3, q10, q12 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .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 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe8911010 // ldm r1, {r4, ip} .long 0xf2c3665f // vmov.i32 q11, #1056964608 .long 0xe2811008 // add r1, r1, #8 .long 0xe5943000 // ldr r3, [r4] .long 0xe9944004 // ldmib r4, {r2, lr} .long 0xe594400c // ldr r4, [r4, #12] .long 0xe2444001 // sub r4, r4, #1 .long 0xeea04b90 // vdup.32 q8, r4 .long 0xf3fb4660 // vcvt.f32.s32 q10, q8 .long 0xf2c3065f // vmov.i32 q8, #1056964608 .long 0xf2400c74 // vfma.f32 q8, q0, q10 .long 0xf2446c74 // vfma.f32 q11, q2, q10 .long 0xf3fb27e0 // vcvt.u32.f32 q9, q8 .long 0xf2c3065f // vmov.i32 q8, #1056964608 .long 0xf2420c74 // vfma.f32 q8, q1, q10 .long 0xf3fb47e6 // vcvt.u32.f32 q10, q11 .long 0xee124b90 // vmov.32 r4, d18[0] .long 0xee356b90 // vmov.32 r6, d21[1] .long 0xf3fb07e0 // vcvt.u32.f32 q8, q8 .long 0xee105b90 // vmov.32 r5, d16[0] .long 0xe7d34004 // ldrb r4, [r3, r4] .long 0xee064bb0 // vmov.16 d22[0], r4 .long 0xe7de6006 // ldrb r6, [lr, r6] .long 0xe7d24005 // ldrb r4, [r2, r5] .long 0xee145b90 // vmov.32 r5, d20[0] .long 0xee074bb0 // vmov.16 d23[0], r4 .long 0xe7de4005 // ldrb r4, [lr, r5] .long 0xee325b90 // vmov.32 r5, d18[1] .long 0xee084bb0 // vmov.16 d24[0], r4 .long 0xe7d34005 // ldrb r4, [r3, r5] .long 0xee305b90 // vmov.32 r5, d16[1] .long 0xee064bf0 // vmov.16 d22[1], r4 .long 0xe7d24005 // ldrb r4, [r2, r5] .long 0xee345b90 // vmov.32 r5, d20[1] .long 0xee074bf0 // vmov.16 d23[1], r4 .long 0xe7de4005 // ldrb r4, [lr, r5] .long 0xee115b90 // vmov.32 r5, d17[0] .long 0xee084bf0 // vmov.16 d24[1], r4 .long 0xe7d24005 // ldrb r4, [r2, r5] .long 0xee135b90 // vmov.32 r5, d19[0] .long 0xee274bb0 // vmov.16 d23[2], r4 .long 0xee154b90 // vmov.32 r4, d21[0] .long 0xe7d35005 // ldrb r5, [r3, r5] .long 0xee265bb0 // vmov.16 d22[2], r5 .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xe7de4004 // ldrb r4, [lr, r4] .long 0xee284bb0 // vmov.16 d24[2], r4 .long 0xee286bf0 // vmov.16 d24[3], r6 .long 0xf3c78b3f // vbic.i16 d24, #65280 .long 0xf3d04a38 // vmovl.u16 q10, d24 .long 0xf3fb46e4 // vcvt.f32.u32 q10, q10 .long 0xe7d33005 // ldrb r3, [r3, r5] .long 0xee315b90 // vmov.32 r5, d17[1] .long 0xee263bf0 // vmov.16 d22[3], r3 .long 0xf3c76b3f // vbic.i16 d22, #65280 .long 0xf3d00a36 // vmovl.u16 q8, d22 .long 0xf3fb06e0 // vcvt.f32.u32 q8, q8 .long 0xe7d22005 // ldrb r2, [r2, r5] .long 0xee272bf0 // vmov.16 d23[3], r2 .long 0xe28f2020 // add r2, pc, #32 .long 0xf3c77b3f // vbic.i16 d23, #65280 .long 0xf3d02a37 // vmovl.u16 q9, d23 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xf3000df6 // vmul.f32 q0, q8, q11 .long 0xf3fb26e2 // vcvt.f32.u32 q9, q9 .long 0xf3044df6 // vmul.f32 q2, q10, q11 .long 0xf3022df6 // vmul.f32 q1, q9, q11 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff1c // bx ip .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .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 0xe8911008 // ldm r1, {r3, ip} .long 0xf2c3265f // vmov.i32 q9, #1056964608 .long 0xe2811008 // add r1, r1, #8 .long 0xe893000c // ldm r3, {r2, r3} .long 0xe2433001 // sub r3, r3, #1 .long 0xeea03b90 // vdup.32 q8, r3 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf2402c70 // vfma.f32 q9, q0, q8 .long 0xf3fb07e2 // vcvt.u32.f32 q8, q9 .long 0xee313b90 // vmov.32 r3, d17[1] .long 0xee114b90 // vmov.32 r4, d17[0] .long 0xee30eb90 // vmov.32 lr, d16[1] .long 0xee105b90 // vmov.32 r5, d16[0] .long 0xe0823103 // add r3, r2, r3, lsl #2 .long 0xedd31a00 // vldr s3, [r3] .long 0xe0823104 // add r3, r2, r4, lsl #2 .long 0xe082e10e // add lr, r2, lr, lsl #2 .long 0xe0822105 // add r2, r2, r5, lsl #2 .long 0xed931a00 // vldr s2, [r3] .long 0xedde0a00 // vldr s1, [lr] .long 0xed920a00 // vldr s0, [r2] .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 0xe8911008 // ldm r1, {r3, ip} .long 0xf2c3265f // vmov.i32 q9, #1056964608 .long 0xe2811008 // add r1, r1, #8 .long 0xe893000c // ldm r3, {r2, r3} .long 0xe2433001 // sub r3, r3, #1 .long 0xeea03b90 // vdup.32 q8, r3 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf2422c70 // vfma.f32 q9, q1, q8 .long 0xf3fb07e2 // vcvt.u32.f32 q8, q9 .long 0xee313b90 // vmov.32 r3, d17[1] .long 0xee114b90 // vmov.32 r4, d17[0] .long 0xee30eb90 // vmov.32 lr, d16[1] .long 0xee105b90 // vmov.32 r5, d16[0] .long 0xe0823103 // add r3, r2, r3, lsl #2 .long 0xedd33a00 // vldr s7, [r3] .long 0xe0823104 // add r3, r2, r4, lsl #2 .long 0xe082e10e // add lr, r2, lr, lsl #2 .long 0xe0822105 // add r2, r2, r5, lsl #2 .long 0xed933a00 // vldr s6, [r3] .long 0xedde2a00 // vldr s5, [lr] .long 0xed922a00 // vldr s4, [r2] .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 0xe8911008 // ldm r1, {r3, ip} .long 0xf2c3265f // vmov.i32 q9, #1056964608 .long 0xe2811008 // add r1, r1, #8 .long 0xe893000c // ldm r3, {r2, r3} .long 0xe2433001 // sub r3, r3, #1 .long 0xeea03b90 // vdup.32 q8, r3 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf2442c70 // vfma.f32 q9, q2, q8 .long 0xf3fb07e2 // vcvt.u32.f32 q8, q9 .long 0xee313b90 // vmov.32 r3, d17[1] .long 0xee114b90 // vmov.32 r4, d17[0] .long 0xee30eb90 // vmov.32 lr, d16[1] .long 0xee105b90 // vmov.32 r5, d16[0] .long 0xe0823103 // add r3, r2, r3, lsl #2 .long 0xedd35a00 // vldr s11, [r3] .long 0xe0823104 // add r3, r2, r4, lsl #2 .long 0xe082e10e // add lr, r2, lr, lsl #2 .long 0xe0822105 // add r2, r2, r5, lsl #2 .long 0xed935a00 // vldr s10, [r3] .long 0xedde4a00 // vldr s9, [lr] .long 0xed924a00 // vldr s8, [r2] .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 0xe8911008 // ldm r1, {r3, ip} .long 0xf2c3265f // vmov.i32 q9, #1056964608 .long 0xe2811008 // add r1, r1, #8 .long 0xe893000c // ldm r3, {r2, r3} .long 0xe2433001 // sub r3, r3, #1 .long 0xeea03b90 // vdup.32 q8, r3 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf2462c70 // vfma.f32 q9, q3, q8 .long 0xf3fb07e2 // vcvt.u32.f32 q8, q9 .long 0xee313b90 // vmov.32 r3, d17[1] .long 0xee114b90 // vmov.32 r4, d17[0] .long 0xee30eb90 // vmov.32 lr, d16[1] .long 0xee105b90 // vmov.32 r5, d16[0] .long 0xe0823103 // add r3, r2, r3, lsl #2 .long 0xedd37a00 // vldr s15, [r3] .long 0xe0823104 // add r3, r2, r4, lsl #2 .long 0xe082e10e // add lr, r2, lr, lsl #2 .long 0xe0822105 // add r2, r2, r5, lsl #2 .long 0xed937a00 // vldr s14, [r3] .long 0xedde6a00 // vldr s13, [lr] .long 0xed926a00 // vldr s12, [r2] .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 0xed2d8b0c // vpush {d8-d13} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xe3a0e014 // mov lr, #20 .long 0xe2811008 // add r1, r1, #8 .long 0xe2832004 // add r2, r3, #4 .long 0xed9fca62 // vldr s24, [pc, #392] .long 0xe1a04003 // mov r4, r3 .long 0xf4e20cbf // vld1.32 {d16[]-d17[]}, [r2 :32] .long 0xe2832008 // add r2, r3, #8 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe28f2f41 // add r2, pc, #260 .long 0xf2402cd0 // vfma.f32 q9, q8, q0 .long 0xf2c70d5f // vmov.i32 q8, #8388607 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe28f2f41 // add r2, pc, #260 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f2f43 // add r2, pc, #268 .long 0xf24201f0 // vand q8, q9, q8 .long 0xf2c3075f // vorr.i32 q8, #1056964608 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xf200ade4 // vadd.f32 q5, q8, q10 .long 0xf2c34654 // vmov.i32 q10, #872415232 .long 0xf2426cf4 // vfma.f32 q11, q9, q10 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xeecc9a2b // vdiv.f32 s19, s24, s23 .long 0xee8c9a0b // vdiv.f32 s18, s24, s22 .long 0xeecc8a2a // vdiv.f32 s17, s24, s21 .long 0xee8c8a0a // vdiv.f32 s16, s24, s20 .long 0xf2606cf2 // vfms.f32 q11, q8, q9 .long 0xf4e42cbe // vld1.32 {d18[]-d19[]}, [r4 :32], lr .long 0xe28f20e4 // add r2, pc, #228 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe28f20ec // add r2, pc, #236 .long 0xed9faa47 // vldr s20, [pc, #284] .long 0xf2660dc8 // vsub.f32 q8, q11, q4 .long 0xf3422df0 // vmul.f32 q9, q9, q8 .long 0xf3fb0762 // vcvt.s32.f32 q8, q9 .long 0xf3fb4660 // vcvt.f32.s32 q10, q8 .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xf3646ee2 // vcgt.f32 q11, q10, q9 .long 0xf35861f0 // vbsl q11, q12, q8 .long 0xf2644de6 // vsub.f32 q10, q10, q11 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f20d0 // add r2, pc, #208 .long 0xf2624de4 // vsub.f32 q10, q9, q10 .long 0xf226cde4 // vsub.f32 q6, q11, q10 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f20d0 // add r2, pc, #208 .long 0xf4e48cbf // vld1.32 {d24[]-d25[]}, [r4 :32] .long 0xf2422de6 // vadd.f32 q9, q9, q11 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe283200c // add r2, r3, #12 .long 0xeeca9a2d // vdiv.f32 s19, s20, s27 .long 0xee8a9a0d // vdiv.f32 s18, s20, s26 .long 0xeeca8a2c // vdiv.f32 s17, s20, s25 .long 0xee8a8a0c // vdiv.f32 s16, s20, s24 .long 0xf2642cf6 // vfms.f32 q9, q10, q11 .long 0xf2c4465b // vmov.i32 q10, #1258291200 .long 0xf2c3665f // vmov.i32 q11, #1056964608 .long 0xf2422dc8 // vadd.f32 q9, q9, q4 .long 0xf2426cf4 // vfma.f32 q11, q9, q10 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe2832018 // add r2, r3, #24 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xe2832010 // add r2, r3, #16 .long 0xf2424cd0 // vfma.f32 q10, q9, q0 .long 0xf3fb27e6 // vcvt.u32.f32 q9, q11 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xf3466ec0 // vcge.f32 q11, q11, q0 .long 0xf2482de2 // vadd.f32 q9, q12, q9 .long 0xf35461f2 // vbsl q11, q10, q9 .long 0xf2c72f50 // vmov.f32 q9, #1 .long 0xf2460fe0 // vmax.f32 q8, q11, q8 .long 0xf2200fe2 // vmin.f32 q0, q8, q9 .long 0xecbd8b0c // vpop {d8-d13} .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff1c // bx ip .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .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 0xed2d8b0c // vpush {d8-d13} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xe3a0e014 // mov lr, #20 .long 0xe2811008 // add r1, r1, #8 .long 0xe2832004 // add r2, r3, #4 .long 0xed9fca62 // vldr s24, [pc, #392] .long 0xe1a04003 // mov r4, r3 .long 0xf4e20cbf // vld1.32 {d16[]-d17[]}, [r2 :32] .long 0xe2832008 // add r2, r3, #8 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe28f2f41 // add r2, pc, #260 .long 0xf2402cd2 // vfma.f32 q9, q8, q1 .long 0xf2c70d5f // vmov.i32 q8, #8388607 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe28f2f41 // add r2, pc, #260 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f2f43 // add r2, pc, #268 .long 0xf24201f0 // vand q8, q9, q8 .long 0xf2c3075f // vorr.i32 q8, #1056964608 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xf200ade4 // vadd.f32 q5, q8, q10 .long 0xf2c34654 // vmov.i32 q10, #872415232 .long 0xf2426cf4 // vfma.f32 q11, q9, q10 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xeecc9a2b // vdiv.f32 s19, s24, s23 .long 0xee8c9a0b // vdiv.f32 s18, s24, s22 .long 0xeecc8a2a // vdiv.f32 s17, s24, s21 .long 0xee8c8a0a // vdiv.f32 s16, s24, s20 .long 0xf2606cf2 // vfms.f32 q11, q8, q9 .long 0xf4e42cbe // vld1.32 {d18[]-d19[]}, [r4 :32], lr .long 0xe28f20e4 // add r2, pc, #228 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe28f20ec // add r2, pc, #236 .long 0xed9faa47 // vldr s20, [pc, #284] .long 0xf2660dc8 // vsub.f32 q8, q11, q4 .long 0xf3422df0 // vmul.f32 q9, q9, q8 .long 0xf3fb0762 // vcvt.s32.f32 q8, q9 .long 0xf3fb4660 // vcvt.f32.s32 q10, q8 .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xf3646ee2 // vcgt.f32 q11, q10, q9 .long 0xf35861f0 // vbsl q11, q12, q8 .long 0xf2644de6 // vsub.f32 q10, q10, q11 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f20d0 // add r2, pc, #208 .long 0xf2624de4 // vsub.f32 q10, q9, q10 .long 0xf226cde4 // vsub.f32 q6, q11, q10 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f20d0 // add r2, pc, #208 .long 0xf4e48cbf // vld1.32 {d24[]-d25[]}, [r4 :32] .long 0xf2422de6 // vadd.f32 q9, q9, q11 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe283200c // add r2, r3, #12 .long 0xeeca9a2d // vdiv.f32 s19, s20, s27 .long 0xee8a9a0d // vdiv.f32 s18, s20, s26 .long 0xeeca8a2c // vdiv.f32 s17, s20, s25 .long 0xee8a8a0c // vdiv.f32 s16, s20, s24 .long 0xf2642cf6 // vfms.f32 q9, q10, q11 .long 0xf2c4465b // vmov.i32 q10, #1258291200 .long 0xf2c3665f // vmov.i32 q11, #1056964608 .long 0xf2422dc8 // vadd.f32 q9, q9, q4 .long 0xf2426cf4 // vfma.f32 q11, q9, q10 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe2832018 // add r2, r3, #24 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xe2832010 // add r2, r3, #16 .long 0xf2424cd2 // vfma.f32 q10, q9, q1 .long 0xf3fb27e6 // vcvt.u32.f32 q9, q11 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xf3466ec2 // vcge.f32 q11, q11, q1 .long 0xf2482de2 // vadd.f32 q9, q12, q9 .long 0xf35461f2 // vbsl q11, q10, q9 .long 0xf2c72f50 // vmov.f32 q9, #1 .long 0xf2460fe0 // vmax.f32 q8, q11, q8 .long 0xf2202fe2 // vmin.f32 q1, q8, q9 .long 0xecbd8b0c // vpop {d8-d13} .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff1c // bx ip .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .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 0xed2d8b0c // vpush {d8-d13} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xe3a0e014 // mov lr, #20 .long 0xe2811008 // add r1, r1, #8 .long 0xe2832004 // add r2, r3, #4 .long 0xed9fca62 // vldr s24, [pc, #392] .long 0xe1a04003 // mov r4, r3 .long 0xf4e20cbf // vld1.32 {d16[]-d17[]}, [r2 :32] .long 0xe2832008 // add r2, r3, #8 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe28f2f41 // add r2, pc, #260 .long 0xf2402cd4 // vfma.f32 q9, q8, q2 .long 0xf2c70d5f // vmov.i32 q8, #8388607 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe28f2f41 // add r2, pc, #260 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f2f43 // add r2, pc, #268 .long 0xf24201f0 // vand q8, q9, q8 .long 0xf2c3075f // vorr.i32 q8, #1056964608 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xf200ade4 // vadd.f32 q5, q8, q10 .long 0xf2c34654 // vmov.i32 q10, #872415232 .long 0xf2426cf4 // vfma.f32 q11, q9, q10 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xeecc9a2b // vdiv.f32 s19, s24, s23 .long 0xee8c9a0b // vdiv.f32 s18, s24, s22 .long 0xeecc8a2a // vdiv.f32 s17, s24, s21 .long 0xee8c8a0a // vdiv.f32 s16, s24, s20 .long 0xf2606cf2 // vfms.f32 q11, q8, q9 .long 0xf4e42cbe // vld1.32 {d18[]-d19[]}, [r4 :32], lr .long 0xe28f20e4 // add r2, pc, #228 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe28f20ec // add r2, pc, #236 .long 0xed9faa47 // vldr s20, [pc, #284] .long 0xf2660dc8 // vsub.f32 q8, q11, q4 .long 0xf3422df0 // vmul.f32 q9, q9, q8 .long 0xf3fb0762 // vcvt.s32.f32 q8, q9 .long 0xf3fb4660 // vcvt.f32.s32 q10, q8 .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xf3646ee2 // vcgt.f32 q11, q10, q9 .long 0xf35861f0 // vbsl q11, q12, q8 .long 0xf2644de6 // vsub.f32 q10, q10, q11 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f20d0 // add r2, pc, #208 .long 0xf2624de4 // vsub.f32 q10, q9, q10 .long 0xf226cde4 // vsub.f32 q6, q11, q10 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f20d0 // add r2, pc, #208 .long 0xf4e48cbf // vld1.32 {d24[]-d25[]}, [r4 :32] .long 0xf2422de6 // vadd.f32 q9, q9, q11 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe283200c // add r2, r3, #12 .long 0xeeca9a2d // vdiv.f32 s19, s20, s27 .long 0xee8a9a0d // vdiv.f32 s18, s20, s26 .long 0xeeca8a2c // vdiv.f32 s17, s20, s25 .long 0xee8a8a0c // vdiv.f32 s16, s20, s24 .long 0xf2642cf6 // vfms.f32 q9, q10, q11 .long 0xf2c4465b // vmov.i32 q10, #1258291200 .long 0xf2c3665f // vmov.i32 q11, #1056964608 .long 0xf2422dc8 // vadd.f32 q9, q9, q4 .long 0xf2426cf4 // vfma.f32 q11, q9, q10 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe2832018 // add r2, r3, #24 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xe2832010 // add r2, r3, #16 .long 0xf2424cd4 // vfma.f32 q10, q9, q2 .long 0xf3fb27e6 // vcvt.u32.f32 q9, q11 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xf3466ec4 // vcge.f32 q11, q11, q2 .long 0xf2482de2 // vadd.f32 q9, q12, q9 .long 0xf35461f2 // vbsl q11, q10, q9 .long 0xf2c72f50 // vmov.f32 q9, #1 .long 0xf2460fe0 // vmax.f32 q8, q11, q8 .long 0xf2204fe2 // vmin.f32 q2, q8, q9 .long 0xecbd8b0c // vpop {d8-d13} .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff1c // bx ip .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .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 0xed2d8b0c // vpush {d8-d13} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xe3a0e014 // mov lr, #20 .long 0xe2811008 // add r1, r1, #8 .long 0xe2832004 // add r2, r3, #4 .long 0xed9fca62 // vldr s24, [pc, #392] .long 0xe1a04003 // mov r4, r3 .long 0xf4e20cbf // vld1.32 {d16[]-d17[]}, [r2 :32] .long 0xe2832008 // add r2, r3, #8 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe28f2f41 // add r2, pc, #260 .long 0xf2402cd6 // vfma.f32 q9, q8, q3 .long 0xf2c70d5f // vmov.i32 q8, #8388607 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe28f2f41 // add r2, pc, #260 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f2f43 // add r2, pc, #268 .long 0xf24201f0 // vand q8, q9, q8 .long 0xf2c3075f // vorr.i32 q8, #1056964608 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xf200ade4 // vadd.f32 q5, q8, q10 .long 0xf2c34654 // vmov.i32 q10, #872415232 .long 0xf2426cf4 // vfma.f32 q11, q9, q10 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xeecc9a2b // vdiv.f32 s19, s24, s23 .long 0xee8c9a0b // vdiv.f32 s18, s24, s22 .long 0xeecc8a2a // vdiv.f32 s17, s24, s21 .long 0xee8c8a0a // vdiv.f32 s16, s24, s20 .long 0xf2606cf2 // vfms.f32 q11, q8, q9 .long 0xf4e42cbe // vld1.32 {d18[]-d19[]}, [r4 :32], lr .long 0xe28f20e4 // add r2, pc, #228 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe28f20ec // add r2, pc, #236 .long 0xed9faa47 // vldr s20, [pc, #284] .long 0xf2660dc8 // vsub.f32 q8, q11, q4 .long 0xf3422df0 // vmul.f32 q9, q9, q8 .long 0xf3fb0762 // vcvt.s32.f32 q8, q9 .long 0xf3fb4660 // vcvt.f32.s32 q10, q8 .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xf3646ee2 // vcgt.f32 q11, q10, q9 .long 0xf35861f0 // vbsl q11, q12, q8 .long 0xf2644de6 // vsub.f32 q10, q10, q11 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f20d0 // add r2, pc, #208 .long 0xf2624de4 // vsub.f32 q10, q9, q10 .long 0xf226cde4 // vsub.f32 q6, q11, q10 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f20d0 // add r2, pc, #208 .long 0xf4e48cbf // vld1.32 {d24[]-d25[]}, [r4 :32] .long 0xf2422de6 // vadd.f32 q9, q9, q11 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe283200c // add r2, r3, #12 .long 0xeeca9a2d // vdiv.f32 s19, s20, s27 .long 0xee8a9a0d // vdiv.f32 s18, s20, s26 .long 0xeeca8a2c // vdiv.f32 s17, s20, s25 .long 0xee8a8a0c // vdiv.f32 s16, s20, s24 .long 0xf2642cf6 // vfms.f32 q9, q10, q11 .long 0xf2c4465b // vmov.i32 q10, #1258291200 .long 0xf2c3665f // vmov.i32 q11, #1056964608 .long 0xf2422dc8 // vadd.f32 q9, q9, q4 .long 0xf2426cf4 // vfma.f32 q11, q9, q10 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe2832018 // add r2, r3, #24 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xe2832010 // add r2, r3, #16 .long 0xf2424cd6 // vfma.f32 q10, q9, q3 .long 0xf3fb27e6 // vcvt.u32.f32 q9, q11 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xf3466ec6 // vcge.f32 q11, q11, q3 .long 0xf2482de2 // vadd.f32 q9, q12, q9 .long 0xf35461f2 // vbsl q11, q10, q9 .long 0xf2c72f50 // vmov.f32 q9, #1 .long 0xf2460fe0 // vmax.f32 q8, q11, q8 .long 0xf2206fe2 // vmin.f32 q3, q8, q9 .long 0xecbd8b0c // vpop {d8-d13} .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff1c // bx ip .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fdce9a3 // .word 0x3fdce9a3 .long 0x41ddd2fe // .word 0x41ddd2fe HIDDEN _sk_gamma_vfp4 .globl _sk_gamma_vfp4 FUNCTION(_sk_gamma_vfp4) _sk_gamma_vfp4: .long 0xe92d0030 // push {r4, r5} .long 0xed2d8b10 // vpush {d8-d15} .long 0xe24dd028 // sub sp, sp, #40 .long 0xf2c70d5f // vmov.i32 q8, #8388607 .long 0xe28d2010 // add r2, sp, #16 .long 0xf2628152 // vorr q12, q1, q1 .long 0xed9faa9a // vldr s20, [pc, #616] .long 0xf2440170 // vand q8, q2, q8 .long 0xec826b04 // vstmia r2, {d6-d7} .long 0xe28f2f7b // add r2, pc, #492 .long 0xf2c3075f // vorr.i32 q8, #1056964608 .long 0xf4222acf // vld1.64 {d2-d3}, [r2] .long 0xf3fb4644 // vcvt.f32.s32 q10, q2 .long 0xe28f2f7b // add r2, pc, #492 .long 0xf2008dc2 // vadd.f32 q4, q8, q1 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe28f2e1f // add r2, pc, #496 .long 0xf2c3a654 // vmov.i32 q13, #872415232 .long 0xf462cacf // vld1.64 {d28-d29}, [r2] .long 0xf26261f2 // vorr q11, q9, q9 .long 0xf2446cfa // vfma.f32 q11, q10, q13 .long 0xe5913000 // ldr r3, [r1] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xeeca5a29 // vdiv.f32 s11, s20, s19 .long 0xf4e3ecbf // vld1.32 {d30[]-d31[]}, [r3 :32] .long 0xe28f3f76 // add r3, pc, #472 .long 0xf2606cfc // vfms.f32 q11, q8, q14 .long 0xee8a5a09 // vdiv.f32 s10, s20, s18 .long 0xeeca4a28 // vdiv.f32 s9, s20, s17 .long 0xee8a4a08 // vdiv.f32 s8, s20, s16 .long 0xf2660dc4 // vsub.f32 q8, q11, q2 .long 0xf423cacf // vld1.64 {d12-d13}, [r3] .long 0xf2804050 // vmov.i32 q2, #0 .long 0xed9fba7f // vldr s22, [pc, #508] .long 0xf2876d5f // vmov.i32 q3, #8388607 .long 0xf2c0a050 // vmov.i32 q13, #0 .long 0xf3406dfe // vmul.f32 q11, q8, q15 .long 0xf3fb0766 // vcvt.s32.f32 q8, q11 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf3604ee6 // vcgt.f32 q10, q8, q11 .long 0xf35c4154 // vbsl q10, q6, q2 .long 0xf2600de4 // vsub.f32 q8, q8, q10 .long 0xf3fb4668 // vcvt.f32.s32 q10, q12 .long 0xf2660de0 // vsub.f32 q8, q11, q8 .long 0xeccd0b04 // vstmia sp, {d16-d17} .long 0xe28f3f66 // add r3, pc, #408 .long 0xf423eacf // vld1.64 {d14-d15}, [r3] .long 0xe28f3e1a // add r3, pc, #416 .long 0xf22e8d60 // vsub.f32 q4, q7, q8 .long 0xf24801d6 // vand q8, q12, q3 .long 0xf2c3075f // vorr.i32 q8, #1056964608 .long 0xf26281f2 // vorr q12, q9, q9 .long 0xeecb5a29 // vdiv.f32 s11, s22, s19 .long 0xee8b5a09 // vdiv.f32 s10, s22, s18 .long 0xeecb4a28 // vdiv.f32 s9, s22, s17 .long 0xee8b4a08 // vdiv.f32 s8, s22, s16 .long 0xf2008dc2 // vadd.f32 q4, q8, q1 .long 0xeeca7a29 // vdiv.f32 s15, s20, s19 .long 0xee8a7a09 // vdiv.f32 s14, s20, s18 .long 0xeeca6a28 // vdiv.f32 s13, s20, s17 .long 0xee8a6a08 // vdiv.f32 s12, s20, s16 .long 0xf2838654 // vmov.i32 q4, #872415232 .long 0xf2448cd8 // vfma.f32 q12, q10, q4 .long 0xf2608cfc // vfms.f32 q12, q8, q14 .long 0xf2680dc6 // vsub.f32 q8, q12, q3 .long 0xf3400dfe // vmul.f32 q8, q8, q15 .long 0xf3fb4760 // vcvt.s32.f32 q10, q8 .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xf3648ee0 // vcgt.f32 q12, q10, q8 .long 0xf35c817a // vbsl q12, q6, q13 .long 0xf2644de8 // vsub.f32 q10, q10, q12 .long 0xf260ade4 // vsub.f32 q13, q8, q10 .long 0xf4634acf // vld1.64 {d20-d21}, [r3] .long 0xe28f3f52 // add r3, pc, #328 .long 0xf2408de4 // vadd.f32 q12, q8, q10 .long 0xf4630acf // vld1.64 {d16-d17}, [r3] .long 0xe28d3010 // add r3, sp, #16 .long 0xf22e6d6a // vsub.f32 q3, q7, q13 .long 0xf26a8cf0 // vfms.f32 q12, q13, q8 .long 0xf260a150 // vorr q13, q0, q0 .long 0xf2870d5f // vmov.i32 q0, #8388607 .long 0xeecb9a27 // vdiv.f32 s19, s22, s15 .long 0xee8b9a07 // vdiv.f32 s18, s22, s14 .long 0xeecb8a26 // vdiv.f32 s17, s22, s13 .long 0xf20a01d0 // vand q0, q13, q0 .long 0xf283075f // vorr.i32 q0, #1056964608 .long 0xee8b8a06 // vdiv.f32 s16, s22, s12 .long 0xf2002d42 // vadd.f32 q1, q0, q1 .long 0xf3fba66a // vcvt.f32.s32 q13, q13 .long 0xeeca7a23 // vdiv.f32 s15, s20, s7 .long 0xee8a7a03 // vdiv.f32 s14, s20, s6 .long 0xeeca6a22 // vdiv.f32 s13, s20, s5 .long 0xee8a6a02 // vdiv.f32 s12, s20, s4 .long 0xf2832654 // vmov.i32 q1, #872415232 .long 0xf24a2cd2 // vfma.f32 q9, q13, q1 .long 0xf2602c7c // vfms.f32 q9, q0, q14 .long 0xf2622dc6 // vsub.f32 q9, q9, q3 .long 0xec936b04 // vldmia r3, {d6-d7} .long 0xf3422dfe // vmul.f32 q9, q9, q15 .long 0xf2c0e050 // vmov.i32 q15, #0 .long 0xf3fba762 // vcvt.s32.f32 q13, q9 .long 0xf3fba66a // vcvt.f32.s32 q13, q13 .long 0xf36acee2 // vcgt.f32 q14, q13, q9 .long 0xf35cc17e // vbsl q14, q6, q15 .long 0xf26aadec // vsub.f32 q13, q13, q14 .long 0xf262adea // vsub.f32 q13, q9, q13 .long 0xf2422de4 // vadd.f32 q9, q9, q10 .long 0xf2464de4 // vadd.f32 q10, q11, q10 .long 0xecdd6b04 // vldmia sp, {d22-d23} .long 0xf22e0d6a // vsub.f32 q0, q7, q13 .long 0xf26a2cf0 // vfms.f32 q9, q13, q8 .long 0xf2664cf0 // vfms.f32 q10, q11, q8 .long 0xeecb3a21 // vdiv.f32 s7, s22, s3 .long 0xee8b3a01 // vdiv.f32 s6, s22, s2 .long 0xeecb2a20 // vdiv.f32 s5, s22, s1 .long 0xee8b2a00 // vdiv.f32 s4, s22, s0 .long 0xf2420dc2 // vadd.f32 q8, q9, q1 .long 0xf2482dc8 // vadd.f32 q9, q12, q4 .long 0xf2444dc4 // vadd.f32 q10, q10, q2 .long 0xf2c4665b // vmov.i32 q11, #1258291200 .long 0xf2c3a65f // vmov.i32 q13, #1056964608 .long 0xf2c3865f // vmov.i32 q12, #1056964608 .long 0xf240acf6 // vfma.f32 q13, q8, q11 .long 0xf2c3065f // vmov.i32 q8, #1056964608 .long 0xf2420cf6 // vfma.f32 q8, q9, q11 .long 0xf2448cf6 // vfma.f32 q12, q10, q11 .long 0xf3bb07ea // vcvt.u32.f32 q0, q13 .long 0xf3bb27e0 // vcvt.u32.f32 q1, q8 .long 0xf3bb47e8 // vcvt.u32.f32 q2, q12 .long 0xe28dd028 // add sp, sp, #40 .long 0xecbd8b10 // vpop {d8-d15} .long 0xe8bd0030 // pop {r4, r5} .long 0xe12fff12 // bx r2 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0x3eb444f9 // .word 0x3eb444f9 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0xc2f87377 // .word 0xc2f87377 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3fbfbf75 // .word 0x3fbfbf75 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x409af5f8 // .word 0x409af5f8 .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x42f28c51 // .word 0x42f28c51 .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .long 0x3fbebc8d // .word 0x3fbebc8d .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 0xed2d8b04 // vpush {d8-d9} .long 0xe28f20d4 // add r2, pc, #212 .long 0xf2c30f50 // vmov.f32 q8, #16 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe28f20d8 // add r2, pc, #216 .long 0xf2400c72 // vfma.f32 q8, q0, q9 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe28f20dc // add r2, pc, #220 .long 0xf3c46653 // vmov.i32 q11, #-1023410176 .long 0xf3c42653 // vmov.i32 q9, #-1023410176 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xf2426c74 // vfma.f32 q11, q1, q10 .long 0xe28f20d8 // add r2, pc, #216 .long 0xf2442c74 // vfma.f32 q9, q2, q10 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe28f20dc // add r2, pc, #220 .long 0xf3400df8 // vmul.f32 q8, q8, q12 .long 0xf26081f0 // vorr q12, q8, q8 .long 0xf2468cf4 // vfma.f32 q12, q11, q10 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xe28f20d8 // add r2, pc, #216 .long 0xf26061f0 // vorr q11, q8, q8 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xf2626cf4 // vfms.f32 q11, q9, q10 .long 0xe28f20d8 // add r2, pc, #216 .long 0xf4228acf // vld1.64 {d8-d9}, [r2] .long 0xe28f20e0 // add r2, pc, #224 .long 0xf3404df0 // vmul.f32 q10, q8, q8 .long 0xf248edea // vadd.f32 q15, q12, q13 .long 0xf3482df8 // vmul.f32 q9, q12, q12 .long 0xf3404df4 // vmul.f32 q10, q8, q10 .long 0xf346cdf6 // vmul.f32 q14, q11, q11 .long 0xf2400dea // vadd.f32 q8, q8, q13 .long 0xf34eedd8 // vmul.f32 q15, q15, q4 .long 0xf3482df2 // vmul.f32 q9, q12, q9 .long 0xf2468dea // vadd.f32 q12, q11, q13 .long 0xf3466dfc // vmul.f32 q11, q11, q14 .long 0xf462cacf // vld1.64 {d28-d29}, [r2] .long 0xf3242eec // vcgt.f32 q1, q10, q14 .long 0xe28f20bc // add r2, pc, #188 .long 0xf3220eec // vcgt.f32 q0, q9, q14 .long 0xf366aeec // vcgt.f32 q13, q11, q14 .long 0xf3488dd8 // vmul.f32 q12, q12, q4 .long 0xf31201fe // vbsl q0, q9, q15 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe28f20b4 // add r2, pc, #180 .long 0xf356a1f8 // vbsl q13, q11, q12 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xf3400dd8 // vmul.f32 q8, q8, q4 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf3000d72 // vmul.f32 q0, q0, q9 .long 0xf30a4df6 // vmul.f32 q2, q13, q11 .long 0xf31421f0 // vbsl q1, q10, q8 .long 0xecbd8b04 // vpop {d8-d9} .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} .long 0x42c80000 // .word 0x42c80000 .long 0x42c80000 // .word 0x42c80000 .long 0x42c80000 // .word 0x42c80000 .long 0x42c80000 // .word 0x42c80000 .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 .long 0x3c0d3dcb // .word 0x3c0d3dcb .long 0x3c0d3dcb // .word 0x3c0d3dcb .long 0x3c0d3dcb // .word 0x3c0d3dcb .long 0x3c0d3dcb // .word 0x3c0d3dcb .long 0x3b03126f // .word 0x3b03126f .long 0x3b03126f // .word 0x3b03126f .long 0x3b03126f // .word 0x3b03126f .long 0x3b03126f // .word 0x3b03126f .long 0x3ba3d70a // .word 0x3ba3d70a .long 0x3ba3d70a // .word 0x3ba3d70a .long 0x3ba3d70a // .word 0x3ba3d70a .long 0x3ba3d70a // .word 0x3ba3d70a .long 0xbe0d3dcb // .word 0xbe0d3dcb .long 0xbe0d3dcb // .word 0xbe0d3dcb .long 0xbe0d3dcb // .word 0xbe0d3dcb .long 0xbe0d3dcb // .word 0xbe0d3dcb .long 0x3e038050 // .word 0x3e038050 .long 0x3e038050 // .word 0x3e038050 .long 0x3e038050 // .word 0x3e038050 .long 0x3e038050 // .word 0x3e038050 .long 0x3c1118c2 // .word 0x3c1118c2 .long 0x3c1118c2 // .word 0x3c1118c2 .long 0x3c1118c2 // .word 0x3c1118c2 .long 0x3c1118c2 // .word 0x3c1118c2 .long 0x3f76d71f // .word 0x3f76d71f .long 0x3f76d71f // .word 0x3f76d71f .long 0x3f76d71f // .word 0x3f76d71f .long 0x3f76d71f // .word 0x3f76d71f .long 0x3f5340f6 // .word 0x3f5340f6 .long 0x3f5340f6 // .word 0x3f5340f6 .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 0xe92d4010 // push {r4, lr} .long 0xe24dd008 // sub sp, sp, #8 .long 0xe5912000 // ldr r2, [r1] .long 0xe590e000 // ldr lr, [r0] .long 0xe9901008 // ldmib r0, {r3, ip} .long 0xe5924000 // ldr r4, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xe0224392 // mla r2, r2, r3, r4 .long 0xe082200e // add r2, r2, lr .long 0x1a000012 // bne 3c78 .long 0xe5922000 // ldr r2, [r2] .long 0xe58d2000 // str r2, [sp] .long 0xe1a0200d // mov r2, sp .long 0xf4e2083f // vld1.32 {d16[0]}, [r2 :32] .long 0xf3c80a30 // vmovl.u8 q8, d16 .long 0xf3c70b3f // vbic.i16 d16, #65280 .long 0xe28f209c // add r2, pc, #156 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xf2800050 // vmov.i32 q0, #0 .long 0xf2802050 // vmov.i32 q1, #0 .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf2804050 // vmov.i32 q2, #0 .long 0xf3fb06e0 // vcvt.f32.u32 q8, q8 .long 0xf3006df2 // vmul.f32 q3, q8, q9 .long 0xe28dd008 // add sp, sp, #8 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe20c3003 // and r3, ip, #3 .long 0xe3530001 // cmp r3, #1 .long 0x0a000012 // beq 3cd0 .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe3530002 // cmp r3, #2 .long 0x0a000005 // beq 3ca8 .long 0xe3530003 // cmp r3, #3 .long 0x1affffe9 // bne 3c40 .long 0xe3a04000 // mov r4, #0 .long 0xe5d23002 // ldrb r3, [r2, #2] .long 0xee804bb0 // vdup.16 d16, r4 .long 0xee203bb0 // vmov.16 d16[2], r3 .long 0xe1d220b0 // ldrh r2, [r2] .long 0xe1cd20b4 // strh r2, [sp, #4] .long 0xe28d2004 // add r2, sp, #4 .long 0xf4e2241f // vld1.16 {d18[0]}, [r2 :16] .long 0xf3c82a32 // vmovl.u8 q9, d18 .long 0xf3d02a32 // vmovl.u16 q9, d18 .long 0xf3f62124 // vuzp.16 d18, d20 .long 0xf2f004a2 // vext.8 d16, d16, d18, #4 .long 0xf2f004a0 // vext.8 d16, d16, d16, #4 .long 0xeaffffdb // b 3c40 .long 0xe3a03000 // mov r3, #0 .long 0xe5d22000 // ldrb r2, [r2] .long 0xee803bb0 // vdup.16 d16, r3 .long 0xee002bb0 // vmov.16 d16[0], r2 .long 0xeaffffd6 // b 3c40 .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_load_a8_dst_vfp4 .globl _sk_load_a8_dst_vfp4 FUNCTION(_sk_load_a8_dst_vfp4) _sk_load_a8_dst_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe24dd008 // sub sp, sp, #8 .long 0xe5913000 // ldr r3, [r1] .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xe590c000 // ldr ip, [r0] .long 0xe2805030 // add r5, r0, #48 .long 0xe9904004 // ldmib r0, {r2, lr} .long 0xe5934000 // ldr r4, [r3] .long 0xe5933004 // ldr r3, [r3, #4] .long 0xe35e0000 // cmp lr, #0 .long 0xf4450acf // vst1.64 {d16-d17}, [r5] .long 0xe0224293 // mla r2, r3, r2, r4 .long 0xe2803020 // add r3, r0, #32 .long 0xf4430acf // vst1.64 {d16-d17}, [r3] .long 0xe2803010 // add r3, r0, #16 .long 0xf4430acf // vst1.64 {d16-d17}, [r3] .long 0xe082300c // add r3, r2, ip .long 0xe280c040 // add ip, r0, #64 .long 0x1a000011 // bne 3d8c .long 0xe5932000 // ldr r2, [r3] .long 0xe58d2000 // str r2, [sp] .long 0xe1a0200d // mov r2, sp .long 0xf4e2083f // vld1.32 {d16[0]}, [r2 :32] .long 0xf3c80a30 // vmovl.u8 q8, d16 .long 0xf3c70b3f // vbic.i16 d16, #65280 .long 0xe28f2094 // add r2, pc, #148 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xf3fb06e0 // vcvt.f32.u32 q8, q8 .long 0xf3400df2 // vmul.f32 q8, q8, q9 .long 0xf44c0acf // vst1.64 {d16-d17}, [ip] .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe28dd008 // add sp, sp, #8 .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff13 // bx r3 .long 0xe20e2003 // and r2, lr, #3 .long 0xe3520001 // cmp r2, #1 .long 0x0a000012 // beq 3de4 .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe3520002 // cmp r2, #2 .long 0x0a000005 // beq 3dbc .long 0xe3520003 // cmp r2, #3 .long 0x1affffea // bne 3d58 .long 0xe3a05000 // mov r5, #0 .long 0xe5d32002 // ldrb r2, [r3, #2] .long 0xee805bb0 // vdup.16 d16, r5 .long 0xee202bb0 // vmov.16 d16[2], r2 .long 0xe1d320b0 // ldrh r2, [r3] .long 0xe1cd20b4 // strh r2, [sp, #4] .long 0xe28d2004 // add r2, sp, #4 .long 0xf4e2241f // vld1.16 {d18[0]}, [r2 :16] .long 0xf3c82a32 // vmovl.u8 q9, d18 .long 0xf3d02a32 // vmovl.u16 q9, d18 .long 0xf3f62124 // vuzp.16 d18, d20 .long 0xf2f004a2 // vext.8 d16, d16, d18, #4 .long 0xf2f004a0 // vext.8 d16, d16, d16, #4 .long 0xeaffffdc // b 3d58 .long 0xe5d32000 // ldrb r2, [r3] .long 0xe3a03000 // mov r3, #0 .long 0xee803bb0 // vdup.16 d16, r3 .long 0xee002bb0 // vmov.16 d16[0], r2 .long 0xeaffffd7 // b 3d58 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_gather_a8_vfp4 .globl _sk_gather_a8_vfp4 FUNCTION(_sk_gather_a8_vfp4) _sk_gather_a8_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xf3fb0742 // vcvt.s32.f32 q8, q1 .long 0xe2811008 // add r1, r1, #8 .long 0xf3fb2740 // vcvt.s32.f32 q9, q0 .long 0xe4932004 // ldr r2, [r3], #4 .long 0xf2800050 // vmov.i32 q0, #0 .long 0xf4e34cbf // vld1.32 {d20[]-d21[]}, [r3 :32] .long 0xf2802050 // vmov.i32 q1, #0 .long 0xf2804050 // vmov.i32 q2, #0 .long 0xf26429e0 // vmla.i32 q9, q10, q8 .long 0xee323b90 // vmov.32 r3, d18[1] .long 0xee12eb90 // vmov.32 lr, d18[0] .long 0xee134b90 // vmov.32 r4, d19[0] .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xe7d26003 // ldrb r6, [r2, r3] .long 0xe7d2300e // ldrb r3, [r2, lr] .long 0xee003bb0 // vmov.16 d16[0], r3 .long 0xe7d23004 // ldrb r3, [r2, r4] .long 0xe7d22005 // ldrb r2, [r2, r5] .long 0xee006bf0 // vmov.16 d16[1], r6 .long 0xee203bb0 // vmov.16 d16[2], r3 .long 0xee202bf0 // vmov.16 d16[3], r2 .long 0xe28f201c // add r2, pc, #28 .long 0xf3c70b3f // vbic.i16 d16, #65280 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xf3fb06e0 // vcvt.f32.u32 q8, q8 .long 0xf3006df2 // vmul.f32 q3, q8, q9 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .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 0xe28f2094 // add r2, pc, #148 .long 0xf2c3065f // vmov.i32 q8, #1056964608 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xf2460c72 // vfma.f32 q8, q3, q9 .long 0xe5912000 // ldr r2, [r1] .long 0xe590e000 // ldr lr, [r0] .long 0xe9901008 // ldmib r0, {r3, ip} .long 0xe5924000 // ldr r4, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xf3fb07e0 // vcvt.u32.f32 q8, q8 .long 0xe0224392 // mla r2, r2, r3, r4 .long 0xe082200e // add r2, r2, lr .long 0xf3f60220 // vmovn.i32 d16, q8 .long 0x1a000005 // bne 3ef0 .long 0xf3f20121 // vuzp.8 d16, d17 .long 0xf4c2080f // vst1.32 {d16[0]}, [r2] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe20c3003 // and r3, ip, #3 .long 0xe3530001 // cmp r3, #1 .long 0x0a00000a // beq 3f28 .long 0xe3530002 // cmp r3, #2 .long 0x0a000003 // beq 3f14 .long 0xe3530003 // cmp r3, #3 .long 0x1afffff4 // bne 3ee0 .long 0xeeb03bb0 // vmov.u16 r3, d16[2] .long 0xe5c23002 // strb r3, [r2, #2] .long 0xee903bf0 // vmov.u16 r3, d16[1] .long 0xee904bb0 // vmov.u16 r4, d16[0] .long 0xe5c23001 // strb r3, [r2, #1] .long 0xe5c24000 // strb r4, [r2] .long 0xeaffffed // b 3ee0 .long 0xee903bb0 // vmov.u16 r3, d16[0] .long 0xe5c23000 // strb r3, [r2] .long 0xeaffffea // b 3ee0 .long 0xe320f000 // nop {0} .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 .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 0xe92d4010 // push {r4, lr} .long 0xe24dd008 // sub sp, sp, #8 .long 0xe5912000 // ldr r2, [r1] .long 0xe590e000 // ldr lr, [r0] .long 0xe9901008 // ldmib r0, {r3, ip} .long 0xe5924000 // ldr r4, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xe0224392 // mla r2, r2, r3, r4 .long 0xe082200e // add r2, r2, lr .long 0x1a000013 // bne 3fc4 .long 0xe5922000 // ldr r2, [r2] .long 0xe58d2000 // str r2, [sp] .long 0xe1a0200d // mov r2, sp .long 0xf4e2083f // vld1.32 {d16[0]}, [r2 :32] .long 0xf3c80a30 // vmovl.u8 q8, d16 .long 0xf3c70b3f // vbic.i16 d16, #65280 .long 0xe28f209c // add r2, pc, #156 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe28f20a4 // add r2, pc, #164 .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xf4226acf // vld1.64 {d6-d7}, [r2] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf3fb06e0 // vcvt.f32.u32 q8, q8 .long 0xf3000df2 // vmul.f32 q0, q8, q9 .long 0xf2202150 // vorr q1, q0, q0 .long 0xf2204150 // vorr q2, q0, q0 .long 0xe28dd008 // add sp, sp, #8 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe20c3003 // and r3, ip, #3 .long 0xe3530001 // cmp r3, #1 .long 0x0a000012 // beq 401c .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe3530002 // cmp r3, #2 .long 0x0a000005 // beq 3ff4 .long 0xe3530003 // cmp r3, #3 .long 0x1affffe8 // bne 3f88 .long 0xe3a04000 // mov r4, #0 .long 0xe5d23002 // ldrb r3, [r2, #2] .long 0xee804bb0 // vdup.16 d16, r4 .long 0xee203bb0 // vmov.16 d16[2], r3 .long 0xe1d220b0 // ldrh r2, [r2] .long 0xe1cd20b4 // strh r2, [sp, #4] .long 0xe28d2004 // add r2, sp, #4 .long 0xf4e2241f // vld1.16 {d18[0]}, [r2 :16] .long 0xf3c82a32 // vmovl.u8 q9, d18 .long 0xf3d02a32 // vmovl.u16 q9, d18 .long 0xf3f62124 // vuzp.16 d18, d20 .long 0xf2f004a2 // vext.8 d16, d16, d18, #4 .long 0xf2f004a0 // vext.8 d16, d16, d16, #4 .long 0xeaffffda // b 3f88 .long 0xe3a03000 // mov r3, #0 .long 0xe5d22000 // ldrb r2, [r2] .long 0xee803bb0 // vdup.16 d16, r3 .long 0xee002bb0 // vmov.16 d16[0], r2 .long 0xeaffffd5 // b 3f88 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 HIDDEN _sk_load_g8_dst_vfp4 .globl _sk_load_g8_dst_vfp4 FUNCTION(_sk_load_g8_dst_vfp4) _sk_load_g8_dst_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe24dd008 // sub sp, sp, #8 .long 0xe5912000 // ldr r2, [r1] .long 0xe280c040 // add ip, r0, #64 .long 0xe8900058 // ldm r0, {r3, r4, r6} .long 0xe280e030 // add lr, r0, #48 .long 0xe5925000 // ldr r5, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe3560000 // cmp r6, #0 .long 0xe0225492 // mla r2, r2, r4, r5 .long 0xe0824003 // add r4, r2, r3 .long 0xe2802020 // add r2, r0, #32 .long 0xe2803010 // add r3, r0, #16 .long 0x1a000015 // bne 40e0 .long 0xe5944000 // ldr r4, [r4] .long 0xe58d4000 // str r4, [sp] .long 0xe1a0400d // mov r4, sp .long 0xf4e4083f // vld1.32 {d16[0]}, [r4 :32] .long 0xf3c80a30 // vmovl.u8 q8, d16 .long 0xf3c70b3f // vbic.i16 d16, #65280 .long 0xe28f40a8 // add r4, pc, #168 .long 0xf4642acf // vld1.64 {d18-d19}, [r4] .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xf3fb06e0 // vcvt.f32.u32 q8, q8 .long 0xf3400df2 // vmul.f32 q8, q8, q9 .long 0xf2c72f50 // vmov.f32 q9, #1 .long 0xf44e0acf // vst1.64 {d16-d17}, [lr] .long 0xf4420acf // vst1.64 {d16-d17}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xf4430acf // vst1.64 {d16-d17}, [r3] .long 0xf44c2acf // vst1.64 {d18-d19}, [ip] .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe28dd008 // add sp, sp, #8 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff13 // bx r3 .long 0xe2065003 // and r5, r6, #3 .long 0xe3550001 // cmp r5, #1 .long 0x0a000012 // beq 4138 .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe3550002 // cmp r5, #2 .long 0x0a000005 // beq 4110 .long 0xe3550003 // cmp r5, #3 .long 0x1affffe6 // bne 409c .long 0xe3a06000 // mov r6, #0 .long 0xe5d45002 // ldrb r5, [r4, #2] .long 0xee806bb0 // vdup.16 d16, r6 .long 0xee205bb0 // vmov.16 d16[2], r5 .long 0xe1d440b0 // ldrh r4, [r4] .long 0xe1cd40b4 // strh r4, [sp, #4] .long 0xe28d4004 // add r4, sp, #4 .long 0xf4e4241f // vld1.16 {d18[0]}, [r4 :16] .long 0xf3c82a32 // vmovl.u8 q9, d18 .long 0xf3d02a32 // vmovl.u16 q9, d18 .long 0xf3f62124 // vuzp.16 d18, d20 .long 0xf2f004a2 // vext.8 d16, d16, d18, #4 .long 0xf2f004a0 // vext.8 d16, d16, d16, #4 .long 0xeaffffd8 // b 409c .long 0xe3a05000 // mov r5, #0 .long 0xe5d44000 // ldrb r4, [r4] .long 0xee805bb0 // vdup.16 d16, r5 .long 0xee004bb0 // vmov.16 d16[0], r4 .long 0xeaffffd3 // b 409c .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_gather_g8_vfp4 .globl _sk_gather_g8_vfp4 FUNCTION(_sk_gather_g8_vfp4) _sk_gather_g8_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xf3fb0742 // vcvt.s32.f32 q8, q1 .long 0xe2811008 // add r1, r1, #8 .long 0xf3fb2740 // vcvt.s32.f32 q9, q0 .long 0xe4932004 // ldr r2, [r3], #4 .long 0xf4e34cbf // vld1.32 {d20[]-d21[]}, [r3 :32] .long 0xf26429e0 // vmla.i32 q9, q10, q8 .long 0xee323b90 // vmov.32 r3, d18[1] .long 0xee12eb90 // vmov.32 lr, d18[0] .long 0xee134b90 // vmov.32 r4, d19[0] .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xe7d26003 // ldrb r6, [r2, r3] .long 0xe7d2300e // ldrb r3, [r2, lr] .long 0xee003bb0 // vmov.16 d16[0], r3 .long 0xe7d23004 // ldrb r3, [r2, r4] .long 0xe7d22005 // ldrb r2, [r2, r5] .long 0xee006bf0 // vmov.16 d16[1], r6 .long 0xee203bb0 // vmov.16 d16[2], r3 .long 0xee202bf0 // vmov.16 d16[3], r2 .long 0xe28f2028 // add r2, pc, #40 .long 0xf3c70b3f // vbic.i16 d16, #65280 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe28f202c // add r2, pc, #44 .long 0xf4226acf // vld1.64 {d6-d7}, [r2] .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xf3fb06e0 // vcvt.f32.u32 q8, q8 .long 0xf3000df2 // vmul.f32 q0, q8, q9 .long 0xf2202150 // vorr q1, q0, q0 .long 0xf2204150 // vorr q2, q0, q0 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff1c // bx ip .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 HIDDEN _sk_load_565_vfp4 .globl _sk_load_565_vfp4 FUNCTION(_sk_load_565_vfp4) _sk_load_565_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xe5912000 // ldr r2, [r1] .long 0xe590e000 // ldr lr, [r0] .long 0xe9901008 // ldmib r0, {r3, ip} .long 0xe5924000 // ldr r4, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xe0020392 // mul r2, r2, r3 .long 0xe0842082 // add r2, r4, r2, lsl #1 .long 0xe082208e // add r2, r2, lr, lsl #1 .long 0x1a00001b // bne 42a0 .long 0xf462074f // vld1.16 {d16}, [r2] .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xe3a02e7e // mov r2, #2016 .long 0xf3c74258 // vmov.i32 q10, #63488 .long 0xeea22b90 // vdup.32 q9, r2 .long 0xf2c1605f // vmov.i32 q11, #31 .long 0xe28f20b8 // add r2, pc, #184 .long 0xf24021f2 // vand q9, q8, q9 .long 0xf24041f4 // vand q10, q8, q10 .long 0xf24001f6 // vand q8, q8, q11 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xe28f20b0 // add r2, pc, #176 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe28f20b8 // add r2, pc, #184 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xe28f20bc // add r2, pc, #188 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf4226acf // vld1.64 {d6-d7}, [r2] .long 0xf3040df6 // vmul.f32 q0, q10, q11 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xf3022df8 // vmul.f32 q1, q9, q12 .long 0xe2811008 // add r1, r1, #8 .long 0xf3004dfa // vmul.f32 q2, q8, q13 .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe20c3003 // and r3, ip, #3 .long 0xe3530001 // cmp r3, #1 .long 0x0a000011 // beq 42f4 .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe3530002 // cmp r3, #2 .long 0x0a000005 // beq 42d0 .long 0xe3530003 // cmp r3, #3 .long 0x1affffdc // bne 4234 .long 0xe3a03000 // mov r3, #0 .long 0xee803bb0 // vdup.16 d16, r3 .long 0xe2823004 // add r3, r2, #4 .long 0xf4e3049f // vld1.16 {d16[2]}, [r3 :16] .long 0xe5922000 // ldr r2, [r2] .long 0xe58d2000 // str r2, [sp] .long 0xe1a0200d // mov r2, sp .long 0xf4e2183f // vld1.32 {d17[0]}, [r2 :32] .long 0xf3d02a31 // vmovl.u16 q9, d17 .long 0xf3f62121 // vuzp.16 d18, d17 .long 0xf2f004a2 // vext.8 d16, d16, d18, #4 .long 0xf2f004a0 // vext.8 d16, d16, d16, #4 .long 0xeaffffcf // b 4234 .long 0xe3a03000 // mov r3, #0 .long 0xee803bb0 // vdup.16 d16, r3 .long 0xf4e2041f // vld1.16 {d16[0]}, [r2 :16] .long 0xeaffffcb // b 4234 .long 0xe320f000 // nop {0} .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 HIDDEN _sk_load_565_dst_vfp4 .globl _sk_load_565_dst_vfp4 FUNCTION(_sk_load_565_dst_vfp4) _sk_load_565_dst_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xe5912000 // ldr r2, [r1] .long 0xe280c040 // add ip, r0, #64 .long 0xe8900058 // ldm r0, {r3, r4, r6} .long 0xe280e030 // add lr, r0, #48 .long 0xe5925000 // ldr r5, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe3560000 // cmp r6, #0 .long 0xe0020492 // mul r2, r2, r4 .long 0xe0852082 // add r2, r5, r2, lsl #1 .long 0xe0824083 // add r4, r2, r3, lsl #1 .long 0xe2802020 // add r2, r0, #32 .long 0xe2803010 // add r3, r0, #16 .long 0x1a00001f // bne 4404 .long 0xf464074f // vld1.16 {d16}, [r4] .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xe3a04e7e // mov r4, #2016 .long 0xf3c72258 // vmov.i32 q9, #63488 .long 0xeea44b90 // vdup.32 q10, r4 .long 0xf2c1605f // vmov.i32 q11, #31 .long 0xe28f40c4 // add r4, pc, #196 .long 0xf24021f2 // vand q9, q8, q9 .long 0xf24041f4 // vand q10, q8, q10 .long 0xf24001f6 // vand q8, q8, q11 .long 0xf4646acf // vld1.64 {d22-d23}, [r4] .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xe28f40bc // add r4, pc, #188 .long 0xf4648acf // vld1.64 {d24-d25}, [r4] .long 0xe28f40c4 // add r4, pc, #196 .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf3422df6 // vmul.f32 q9, q9, q11 .long 0xf4646acf // vld1.64 {d22-d23}, [r4] .long 0xf3444df8 // vmul.f32 q10, q10, q12 .long 0xf3400df6 // vmul.f32 q8, q8, q11 .long 0xf2c76f50 // vmov.f32 q11, #1 .long 0xf4432acf // vst1.64 {d18-d19}, [r3] .long 0xf4424acf // vst1.64 {d20-d21}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xf44e0acf // vst1.64 {d16-d17}, [lr] .long 0xf44c6acf // vst1.64 {d22-d23}, [ip] .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff13 // bx r3 .long 0xe2065003 // and r5, r6, #3 .long 0xe3550001 // cmp r5, #1 .long 0x0a000011 // beq 4458 .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe3550002 // cmp r5, #2 .long 0x0a000005 // beq 4434 .long 0xe3550003 // cmp r5, #3 .long 0x1affffd8 // bne 4388 .long 0xe3a05000 // mov r5, #0 .long 0xee805bb0 // vdup.16 d16, r5 .long 0xe2845004 // add r5, r4, #4 .long 0xf4e5049f // vld1.16 {d16[2]}, [r5 :16] .long 0xe5944000 // ldr r4, [r4] .long 0xe58d4000 // str r4, [sp] .long 0xe1a0400d // mov r4, sp .long 0xf4e4183f // vld1.32 {d17[0]}, [r4 :32] .long 0xf3d02a31 // vmovl.u16 q9, d17 .long 0xf3f62121 // vuzp.16 d18, d17 .long 0xf2f004a2 // vext.8 d16, d16, d18, #4 .long 0xf2f004a0 // vext.8 d16, d16, d16, #4 .long 0xeaffffcb // b 4388 .long 0xe3a05000 // mov r5, #0 .long 0xee805bb0 // vdup.16 d16, r5 .long 0xf4e4041f // vld1.16 {d16[0]}, [r4 :16] .long 0xeaffffc7 // b 4388 .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 HIDDEN _sk_gather_565_vfp4 .globl _sk_gather_565_vfp4 FUNCTION(_sk_gather_565_vfp4) _sk_gather_565_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xf3fb0742 // vcvt.s32.f32 q8, q1 .long 0xe2811008 // add r1, r1, #8 .long 0xf3fb2740 // vcvt.s32.f32 q9, q0 .long 0xe4932004 // ldr r2, [r3], #4 .long 0xf2c1605f // vmov.i32 q11, #31 .long 0xf4e34cbf // vld1.32 {d20[]-d21[]}, [r3 :32] .long 0xf26429e0 // vmla.i32 q9, q10, q8 .long 0xf3c74258 // vmov.i32 q10, #63488 .long 0xee123b90 // vmov.32 r3, d18[0] .long 0xee324b90 // vmov.32 r4, d18[1] .long 0xee13eb90 // vmov.32 lr, d19[0] .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xe0823083 // add r3, r2, r3, lsl #1 .long 0xe0824084 // add r4, r2, r4, lsl #1 .long 0xf4e3041f // vld1.16 {d16[0]}, [r3 :16] .long 0xe082308e // add r3, r2, lr, lsl #1 .long 0xe0822085 // add r2, r2, r5, lsl #1 .long 0xf4e4045f // vld1.16 {d16[1]}, [r4 :16] .long 0xe1d330b0 // ldrh r3, [r3] .long 0xe1d220b0 // ldrh r2, [r2] .long 0xee203bb0 // vmov.16 d16[2], r3 .long 0xee202bf0 // vmov.16 d16[3], r2 .long 0xe3a02e7e // mov r2, #2016 .long 0xeea22b90 // vdup.32 q9, r2 .long 0xe28f2048 // add r2, pc, #72 .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xf24021f2 // vand q9, q8, q9 .long 0xf24041f4 // vand q10, q8, q10 .long 0xf24001f6 // vand q8, q8, q11 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xe28f203c // add r2, pc, #60 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe28f2044 // add r2, pc, #68 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xe28f2048 // add r2, pc, #72 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf4226acf // vld1.64 {d6-d7}, [r2] .long 0xf3040df6 // vmul.f32 q0, q10, q11 .long 0xf3022df8 // vmul.f32 q1, q9, q12 .long 0xf3004dfa // vmul.f32 q2, q8, q13 .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x37842108 // .word 0x37842108 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3a020821 // .word 0x3a020821 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x3d042108 // .word 0x3d042108 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 HIDDEN _sk_store_565_vfp4 .globl _sk_store_565_vfp4 FUNCTION(_sk_store_565_vfp4) _sk_store_565_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xe28f20c4 // add r2, pc, #196 .long 0xf2c30f5f // vmov.f32 q8, #31 .long 0xf2c3465f // vmov.i32 q10, #1056964608 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xf2c3865f // vmov.i32 q12, #1056964608 .long 0xf2404c70 // vfma.f32 q10, q0, q8 .long 0xe5912000 // ldr r2, [r1] .long 0xe590e000 // ldr lr, [r0] .long 0xf2428c76 // vfma.f32 q12, q1, q11 .long 0xe9901008 // ldmib r0, {r3, ip} .long 0xf2c3265f // vmov.i32 q9, #1056964608 .long 0xe5924000 // ldr r4, [r2] .long 0xf2442c70 // vfma.f32 q9, q2, q8 .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xe0020392 // mul r2, r2, r3 .long 0xf3fb07e4 // vcvt.u32.f32 q8, q10 .long 0xf3fb47e8 // vcvt.u32.f32 q10, q12 .long 0xf3fb27e2 // vcvt.u32.f32 q9, q9 .long 0xe0842082 // add r2, r4, r2, lsl #1 .long 0xe082208e // add r2, r2, lr, lsl #1 .long 0xf2eb0570 // vshl.s32 q8, q8, #11 .long 0xf2e54574 // vshl.s32 q10, q10, #5 .long 0xf26401f0 // vorr q8, q10, q8 .long 0xf26001f2 // vorr q8, q8, q9 .long 0xf3f60220 // vmovn.i32 d16, q8 .long 0x1a000004 // bne 4614 .long 0xf442074f // vst1.16 {d16}, [r2] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe20c3003 // and r3, ip, #3 .long 0xe3530001 // cmp r3, #1 .long 0x0a00000c // beq 4654 .long 0xe3530002 // cmp r3, #2 .long 0x0a000003 // beq 4638 .long 0xe3530003 // cmp r3, #3 .long 0x1afffff4 // bne 4604 .long 0xe2823004 // add r3, r2, #4 .long 0xf4c3049f // vst1.16 {d16[2]}, [r3 :16] .long 0xee903bb0 // vmov.u16 r3, d16[0] .long 0xee904bf0 // vmov.u16 r4, d16[1] .long 0xee003b90 // vmov.32 d16[0], r3 .long 0xee204b90 // vmov.32 d16[1], r4 .long 0xf3f60121 // vuzp.16 d16, d17 .long 0xf4c2080f // vst1.32 {d16[0]}, [r2] .long 0xeaffffeb // b 4604 .long 0xf4c2041f // vst1.16 {d16[0]}, [r2 :16] .long 0xeaffffe9 // b 4604 .long 0xe320f000 // nop {0} .long 0x427c0000 // .word 0x427c0000 .long 0x427c0000 // .word 0x427c0000 .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 0xe92d4010 // push {r4, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xe5912000 // ldr r2, [r1] .long 0xe590e000 // ldr lr, [r0] .long 0xe9901008 // ldmib r0, {r3, ip} .long 0xe5924000 // ldr r4, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xe0020392 // mul r2, r2, r3 .long 0xe0842082 // add r2, r4, r2, lsl #1 .long 0xe082208e // add r2, r2, lr, lsl #1 .long 0x1a00001e // bne 471c .long 0xf462074f // vld1.16 {d16}, [r2] .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xe28f20d0 // add r2, pc, #208 .long 0xf3c72250 // vmov.i32 q9, #61440 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xf3c74050 // vmov.i32 q10, #240 .long 0xe28f20d0 // add r2, pc, #208 .long 0xf24021f2 // vand q9, q8, q9 .long 0xf2c0625f // vmov.i32 q11, #3840 .long 0xf2c0805f // vmov.i32 q12, #15 .long 0xf24041f4 // vand q10, q8, q10 .long 0xf24061f6 // vand q11, q8, q11 .long 0xf24001f8 // vand q8, q8, q12 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xe28f20bc // add r2, pc, #188 .long 0xf462cacf // vld1.64 {d28-d29}, [r2] .long 0xe28f20c4 // add r2, pc, #196 .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xf3fb6666 // vcvt.f32.s32 q11, q11 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf3020df8 // vmul.f32 q0, q9, q12 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xf3062dfc // vmul.f32 q1, q11, q14 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xf3044dfa // vmul.f32 q2, q10, q13 .long 0xf3006df2 // vmul.f32 q3, q8, q9 .long 0xe2811008 // add r1, r1, #8 .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe20c3003 // and r3, ip, #3 .long 0xe3530001 // cmp r3, #1 .long 0x0a000011 // beq 4770 .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe3530002 // cmp r3, #2 .long 0x0a000005 // beq 474c .long 0xe3530003 // cmp r3, #3 .long 0x1affffd9 // bne 46a4 .long 0xe3a03000 // mov r3, #0 .long 0xee803bb0 // vdup.16 d16, r3 .long 0xe2823004 // add r3, r2, #4 .long 0xf4e3049f // vld1.16 {d16[2]}, [r3 :16] .long 0xe5922000 // ldr r2, [r2] .long 0xe58d2000 // str r2, [sp] .long 0xe1a0200d // mov r2, sp .long 0xf4e2183f // vld1.32 {d17[0]}, [r2 :32] .long 0xf3d02a31 // vmovl.u16 q9, d17 .long 0xf3f62121 // vuzp.16 d18, d17 .long 0xf2f004a2 // vext.8 d16, d16, d18, #4 .long 0xf2f004a0 // vext.8 d16, d16, d16, #4 .long 0xeaffffcc // b 46a4 .long 0xe3a03000 // mov r3, #0 .long 0xee803bb0 // vdup.16 d16, r3 .long 0xf4e2041f // vld1.16 {d16[0]}, [r2 :16] .long 0xeaffffc8 // b 46a4 .long 0x3b888889 // .word 0x3b888889 .long 0x3b888889 // .word 0x3b888889 .long 0x3b888889 // .word 0x3b888889 .long 0x3b888889 // .word 0x3b888889 .long 0x37888889 // .word 0x37888889 .long 0x37888889 // .word 0x37888889 .long 0x37888889 // .word 0x37888889 .long 0x37888889 // .word 0x37888889 .long 0x39888889 // .word 0x39888889 .long 0x39888889 // .word 0x39888889 .long 0x39888889 // .word 0x39888889 .long 0x39888889 // .word 0x39888889 .long 0x3d888889 // .word 0x3d888889 .long 0x3d888889 // .word 0x3d888889 .long 0x3d888889 // .word 0x3d888889 .long 0x3d888889 // .word 0x3d888889 HIDDEN _sk_load_4444_dst_vfp4 .globl _sk_load_4444_dst_vfp4 FUNCTION(_sk_load_4444_dst_vfp4) _sk_load_4444_dst_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe24dd004 // sub sp, sp, #4 .long 0xe5912000 // ldr r2, [r1] .long 0xe280c040 // add ip, r0, #64 .long 0xe8900058 // ldm r0, {r3, r4, r6} .long 0xe280e030 // add lr, r0, #48 .long 0xe5925000 // ldr r5, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe3560000 // cmp r6, #0 .long 0xe0020492 // mul r2, r2, r4 .long 0xe0852082 // add r2, r5, r2, lsl #1 .long 0xe0824083 // add r4, r2, r3, lsl #1 .long 0xe2802020 // add r2, r0, #32 .long 0xe2803010 // add r3, r0, #16 .long 0x1a000023 // bne 488c .long 0xf464074f // vld1.16 {d16}, [r4] .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xe28f40e4 // add r4, pc, #228 .long 0xf3c72250 // vmov.i32 q9, #61440 .long 0xf464aacf // vld1.64 {d26-d27}, [r4] .long 0xf2c0425f // vmov.i32 q10, #3840 .long 0xe28f40e4 // add r4, pc, #228 .long 0xf24021f2 // vand q9, q8, q9 .long 0xf24041f4 // vand q10, q8, q10 .long 0xf3c76050 // vmov.i32 q11, #240 .long 0xf2c0805f // vmov.i32 q12, #15 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xf24061f6 // vand q11, q8, q11 .long 0xf24001f8 // vand q8, q8, q12 .long 0xf4648acf // vld1.64 {d24-d25}, [r4] .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xe28f40cc // add r4, pc, #204 .long 0xf3fb6666 // vcvt.f32.s32 q11, q11 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf3422dfa // vmul.f32 q9, q9, q13 .long 0xf464aacf // vld1.64 {d26-d27}, [r4] .long 0xe28f40c8 // add r4, pc, #200 .long 0xf3444df8 // vmul.f32 q10, q10, q12 .long 0xf4648acf // vld1.64 {d24-d25}, [r4] .long 0xf3466dfa // vmul.f32 q11, q11, q13 .long 0xf3400df8 // vmul.f32 q8, q8, q12 .long 0xf4432acf // vst1.64 {d18-d19}, [r3] .long 0xf4424acf // vst1.64 {d20-d21}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xf44e6acf // vst1.64 {d22-d23}, [lr] .long 0xf44c0acf // vst1.64 {d16-d17}, [ip] .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff13 // bx r3 .long 0xe2065003 // and r5, r6, #3 .long 0xe3550001 // cmp r5, #1 .long 0x0a000011 // beq 48e0 .long 0xf2c00010 // vmov.i32 d16, #0 .long 0xe3550002 // cmp r5, #2 .long 0x0a000005 // beq 48bc .long 0xe3550003 // cmp r5, #3 .long 0x1affffd4 // bne 4800 .long 0xe3a05000 // mov r5, #0 .long 0xee805bb0 // vdup.16 d16, r5 .long 0xe2845004 // add r5, r4, #4 .long 0xf4e5049f // vld1.16 {d16[2]}, [r5 :16] .long 0xe5944000 // ldr r4, [r4] .long 0xe58d4000 // str r4, [sp] .long 0xe1a0400d // mov r4, sp .long 0xf4e4183f // vld1.32 {d17[0]}, [r4 :32] .long 0xf3d02a31 // vmovl.u16 q9, d17 .long 0xf3f62121 // vuzp.16 d18, d17 .long 0xf2f004a2 // vext.8 d16, d16, d18, #4 .long 0xf2f004a0 // vext.8 d16, d16, d16, #4 .long 0xeaffffc7 // b 4800 .long 0xe3a05000 // mov r5, #0 .long 0xee805bb0 // vdup.16 d16, r5 .long 0xf4e4041f // vld1.16 {d16[0]}, [r4 :16] .long 0xeaffffc3 // b 4800 .long 0x37888889 // .word 0x37888889 .long 0x37888889 // .word 0x37888889 .long 0x37888889 // .word 0x37888889 .long 0x37888889 // .word 0x37888889 .long 0x39888889 // .word 0x39888889 .long 0x39888889 // .word 0x39888889 .long 0x39888889 // .word 0x39888889 .long 0x39888889 // .word 0x39888889 .long 0x3b888889 // .word 0x3b888889 .long 0x3b888889 // .word 0x3b888889 .long 0x3b888889 // .word 0x3b888889 .long 0x3b888889 // .word 0x3b888889 .long 0x3d888889 // .word 0x3d888889 .long 0x3d888889 // .word 0x3d888889 .long 0x3d888889 // .word 0x3d888889 .long 0x3d888889 // .word 0x3d888889 HIDDEN _sk_gather_4444_vfp4 .globl _sk_gather_4444_vfp4 FUNCTION(_sk_gather_4444_vfp4) _sk_gather_4444_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xf3fb0742 // vcvt.s32.f32 q8, q1 .long 0xe2811008 // add r1, r1, #8 .long 0xf3fb2740 // vcvt.s32.f32 q9, q0 .long 0xe4932004 // ldr r2, [r3], #4 .long 0xf2c0625f // vmov.i32 q11, #3840 .long 0xf4e34cbf // vld1.32 {d20[]-d21[]}, [r3 :32] .long 0xf2c0805f // vmov.i32 q12, #15 .long 0xf26429e0 // vmla.i32 q9, q10, q8 .long 0xf3c74050 // vmov.i32 q10, #240 .long 0xee123b90 // vmov.32 r3, d18[0] .long 0xee324b90 // vmov.32 r4, d18[1] .long 0xee13eb90 // vmov.32 lr, d19[0] .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xf3c72250 // vmov.i32 q9, #61440 .long 0xe0823083 // add r3, r2, r3, lsl #1 .long 0xe0824084 // add r4, r2, r4, lsl #1 .long 0xf4e3041f // vld1.16 {d16[0]}, [r3 :16] .long 0xe082308e // add r3, r2, lr, lsl #1 .long 0xe0822085 // add r2, r2, r5, lsl #1 .long 0xf4e4045f // vld1.16 {d16[1]}, [r4 :16] .long 0xe1d330b0 // ldrh r3, [r3] .long 0xe1d220b0 // ldrh r2, [r2] .long 0xee203bb0 // vmov.16 d16[2], r3 .long 0xee202bf0 // vmov.16 d16[3], r2 .long 0xe28f2058 // add r2, pc, #88 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xe28f2060 // add r2, pc, #96 .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xf24021f2 // vand q9, q8, q9 .long 0xf24041f4 // vand q10, q8, q10 .long 0xf24061f6 // vand q11, q8, q11 .long 0xf24001f8 // vand q8, q8, q12 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xe28f2050 // add r2, pc, #80 .long 0xf462cacf // vld1.64 {d28-d29}, [r2] .long 0xe28f2058 // add r2, pc, #88 .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xf3fb6666 // vcvt.f32.s32 q11, q11 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf3020df8 // vmul.f32 q0, q9, q12 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xf3062dfc // vmul.f32 q1, q11, q14 .long 0xf3044dfa // vmul.f32 q2, q10, q13 .long 0xf3006df2 // vmul.f32 q3, q8, q9 .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3b888889 // .word 0x3b888889 .long 0x3b888889 // .word 0x3b888889 .long 0x3b888889 // .word 0x3b888889 .long 0x3b888889 // .word 0x3b888889 .long 0x37888889 // .word 0x37888889 .long 0x37888889 // .word 0x37888889 .long 0x37888889 // .word 0x37888889 .long 0x37888889 // .word 0x37888889 .long 0x39888889 // .word 0x39888889 .long 0x39888889 // .word 0x39888889 .long 0x39888889 // .word 0x39888889 .long 0x39888889 // .word 0x39888889 .long 0x3d888889 // .word 0x3d888889 .long 0x3d888889 // .word 0x3d888889 .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 0xe92d4010 // push {r4, lr} .long 0xf2c20f5e // vmov.f32 q8, #15 .long 0xe5912000 // ldr r2, [r1] .long 0xf2c3465f // vmov.i32 q10, #1056964608 .long 0xe590e000 // ldr lr, [r0] .long 0xf2c3665f // vmov.i32 q11, #1056964608 .long 0xe9901008 // ldmib r0, {r3, ip} .long 0xf2404c70 // vfma.f32 q10, q0, q8 .long 0xe5924000 // ldr r4, [r2] .long 0xf2426c70 // vfma.f32 q11, q1, q8 .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xf2c3865f // vmov.i32 q12, #1056964608 .long 0xf2448c70 // vfma.f32 q12, q2, q8 .long 0xe0020392 // mul r2, r2, r3 .long 0xf2c3265f // vmov.i32 q9, #1056964608 .long 0xf2462c70 // vfma.f32 q9, q3, q8 .long 0xf3fb07e4 // vcvt.u32.f32 q8, q10 .long 0xe0842082 // add r2, r4, r2, lsl #1 .long 0xf3fb47e6 // vcvt.u32.f32 q10, q11 .long 0xe082208e // add r2, r2, lr, lsl #1 .long 0xf3fb67e8 // vcvt.u32.f32 q11, q12 .long 0xf2ec0570 // vshl.s32 q8, q8, #12 .long 0xf3fb27e2 // vcvt.u32.f32 q9, q9 .long 0xf2e84574 // vshl.s32 q10, q10, #8 .long 0xf2e46576 // vshl.s32 q11, q11, #4 .long 0xf26401f0 // vorr q8, q10, q8 .long 0xf26001f6 // vorr q8, q8, q11 .long 0xf26001f2 // vorr q8, q8, q9 .long 0xf3f60220 // vmovn.i32 d16, q8 .long 0x1a000004 // bne 4ac8 .long 0xf442074f // vst1.16 {d16}, [r2] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe20c3003 // and r3, ip, #3 .long 0xe3530001 // cmp r3, #1 .long 0x0a00000c // beq 4b08 .long 0xe3530002 // cmp r3, #2 .long 0x0a000003 // beq 4aec .long 0xe3530003 // cmp r3, #3 .long 0x1afffff4 // bne 4ab8 .long 0xe2823004 // add r3, r2, #4 .long 0xf4c3049f // vst1.16 {d16[2]}, [r3 :16] .long 0xee903bb0 // vmov.u16 r3, d16[0] .long 0xee904bf0 // vmov.u16 r4, d16[1] .long 0xee003b90 // vmov.32 d16[0], r3 .long 0xee204b90 // vmov.32 d16[1], r4 .long 0xf3f60121 // vuzp.16 d16, d17 .long 0xf4c2080f // vst1.32 {d16[0]}, [r2] .long 0xeaffffeb // b 4ab8 .long 0xf4c2041f // vst1.16 {d16[0]}, [r2 :16] .long 0xeaffffe9 // b 4ab8 HIDDEN _sk_load_8888_vfp4 .globl _sk_load_8888_vfp4 FUNCTION(_sk_load_8888_vfp4) _sk_load_8888_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xe5912000 // ldr r2, [r1] .long 0xe590e000 // ldr lr, [r0] .long 0xe9901008 // ldmib r0, {r3, ip} .long 0xe5924000 // ldr r4, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xe0020392 // mul r2, r2, r3 .long 0xe0842102 // add r2, r4, r2, lsl #2 .long 0xe082210e // add r2, r2, lr, lsl #2 .long 0x1a000015 // bne 4b94 .long 0xf4620a8f // vld1.32 {d16-d17}, [r2] .long 0xf3c7205f // vmov.i32 q9, #255 .long 0xe28f209c // add r2, pc, #156 .long 0xf3f84070 // vshr.u32 q10, q8, #8 .long 0xf3f08070 // vshr.u32 q12, q8, #16 .long 0xf3e86070 // vshr.u32 q11, q8, #24 .long 0xf24001f2 // vand q8, q8, q9 .long 0xf24441f2 // vand q10, q10, q9 .long 0xf24821f2 // vand q9, q12, q9 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xf3fb6666 // vcvt.f32.s32 q11, q11 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xf3066df8 // vmul.f32 q3, q11, q12 .long 0xf3000df8 // vmul.f32 q0, q8, q12 .long 0xf3042df8 // vmul.f32 q1, q10, q12 .long 0xf3024df8 // vmul.f32 q2, q9, q12 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe20c3003 // and r3, ip, #3 .long 0xe3530001 // cmp r3, #1 .long 0x0a00000c // beq 4bd4 .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xe3530002 // cmp r3, #2 .long 0x0a000005 // beq 4bc4 .long 0xe3530003 // cmp r3, #3 .long 0x1affffe2 // bne 4b40 .long 0xe3a03000 // mov r3, #0 .long 0xeea03b90 // vdup.32 q8, r3 .long 0xe2823008 // add r3, r2, #8 .long 0xf4e3183f // vld1.32 {d17[0]}, [r3 :32] .long 0xedd22b00 // vldr d18, [r2] .long 0xf2f008e2 // vext.8 q8, q8, q9, #8 .long 0xf2f008e0 // vext.8 q8, q8, q8, #8 .long 0xeaffffda // b 4b40 .long 0xe3a03000 // mov r3, #0 .long 0xeea03b90 // vdup.32 q8, r3 .long 0xf4e2083f // vld1.32 {d16[0]}, [r2 :32] .long 0xeaffffd6 // b 4b40 .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_load_8888_dst_vfp4 .globl _sk_load_8888_dst_vfp4 FUNCTION(_sk_load_8888_dst_vfp4) _sk_load_8888_dst_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe5912000 // ldr r2, [r1] .long 0xe280c040 // add ip, r0, #64 .long 0xe8900058 // ldm r0, {r3, r4, r6} .long 0xe280e030 // add lr, r0, #48 .long 0xe5925000 // ldr r5, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe3560000 // cmp r6, #0 .long 0xe0020492 // mul r2, r2, r4 .long 0xe0852102 // add r2, r5, r2, lsl #2 .long 0xe0824103 // add r4, r2, r3, lsl #2 .long 0xe2802020 // add r2, r0, #32 .long 0xe2803010 // add r3, r0, #16 .long 0x1a00001a // bne 4c9c .long 0xf4640a8f // vld1.32 {d16-d17}, [r4] .long 0xf3c7205f // vmov.i32 q9, #255 .long 0xe28f40b0 // add r4, pc, #176 .long 0xf3f84070 // vshr.u32 q10, q8, #8 .long 0xf3f08070 // vshr.u32 q12, q8, #16 .long 0xf24061f2 // vand q11, q8, q9 .long 0xf24441f2 // vand q10, q10, q9 .long 0xf24821f2 // vand q9, q12, q9 .long 0xf4648acf // vld1.64 {d24-d25}, [r4] .long 0xf3e80070 // vshr.u32 q8, q8, #24 .long 0xf3fb6666 // vcvt.f32.s32 q11, q11 .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf3466df8 // vmul.f32 q11, q11, q12 .long 0xf3444df8 // vmul.f32 q10, q10, q12 .long 0xf3422df8 // vmul.f32 q9, q9, q12 .long 0xf3400df8 // vmul.f32 q8, q8, q12 .long 0xf4436acf // vst1.64 {d22-d23}, [r3] .long 0xf4424acf // vst1.64 {d20-d21}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xf44e2acf // vst1.64 {d18-d19}, [lr] .long 0xf44c0acf // vst1.64 {d16-d17}, [ip] .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff13 // bx r3 .long 0xe2065003 // and r5, r6, #3 .long 0xe3550001 // cmp r5, #1 .long 0x0a00000c // beq 4cdc .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xe3550002 // cmp r5, #2 .long 0x0a000005 // beq 4ccc .long 0xe3550003 // cmp r5, #3 .long 0x1affffdd // bne 4c34 .long 0xe3a05000 // mov r5, #0 .long 0xeea05b90 // vdup.32 q8, r5 .long 0xe2845008 // add r5, r4, #8 .long 0xf4e5183f // vld1.32 {d17[0]}, [r5 :32] .long 0xedd42b00 // vldr d18, [r4] .long 0xf2f008e2 // vext.8 q8, q8, q9, #8 .long 0xf2f008e0 // vext.8 q8, q8, q8, #8 .long 0xeaffffd5 // b 4c34 .long 0xe3a05000 // mov r5, #0 .long 0xeea05b90 // vdup.32 q8, r5 .long 0xf4e4083f // vld1.32 {d16[0]}, [r4 :32] .long 0xeaffffd1 // b 4c34 .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_gather_8888_vfp4 .globl _sk_gather_8888_vfp4 FUNCTION(_sk_gather_8888_vfp4) _sk_gather_8888_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xf3fb0742 // vcvt.s32.f32 q8, q1 .long 0xe2811008 // add r1, r1, #8 .long 0xf3fb2740 // vcvt.s32.f32 q9, q0 .long 0xe4932004 // ldr r2, [r3], #4 .long 0xf4e34cbf // vld1.32 {d20[]-d21[]}, [r3 :32] .long 0xf26429e0 // vmla.i32 q9, q10, q8 .long 0xee133b90 // vmov.32 r3, d19[0] .long 0xee12eb90 // vmov.32 lr, d18[0] .long 0xee334b90 // vmov.32 r4, d19[1] .long 0xee325b90 // vmov.32 r5, d18[1] .long 0xf3c7205f // vmov.i32 q9, #255 .long 0xe0823103 // add r3, r2, r3, lsl #2 .long 0xf4e3183f // vld1.32 {d17[0]}, [r3 :32] .long 0xe082310e // add r3, r2, lr, lsl #2 .long 0xf4e3083f // vld1.32 {d16[0]}, [r3 :32] .long 0xe0823104 // add r3, r2, r4, lsl #2 .long 0xe0822105 // add r2, r2, r5, lsl #2 .long 0xf4e318bf // vld1.32 {d17[1]}, [r3 :32] .long 0xf4e208bf // vld1.32 {d16[1]}, [r2 :32] .long 0xe28f2044 // add r2, pc, #68 .long 0xf3f84070 // vshr.u32 q10, q8, #8 .long 0xf24061f2 // vand q11, q8, q9 .long 0xf3e88070 // vshr.u32 q12, q8, #24 .long 0xf3f00070 // vshr.u32 q8, q8, #16 .long 0xf24441f2 // vand q10, q10, q9 .long 0xf24001f2 // vand q8, q8, q9 .long 0xf3fb2664 // vcvt.f32.s32 q9, q10 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xf3fb6666 // vcvt.f32.s32 q11, q11 .long 0xf3fb8668 // vcvt.f32.s32 q12, q12 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf3060df4 // vmul.f32 q0, q11, q10 .long 0xf3086df4 // vmul.f32 q3, q12, q10 .long 0xf3022df4 // vmul.f32 q1, q9, q10 .long 0xf3004df4 // vmul.f32 q2, q8, q10 .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .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 0xe92d4010 // push {r4, lr} .long 0xe28f20bc // add r2, pc, #188 .long 0xf2c3465f // vmov.i32 q10, #1056964608 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xf2c3665f // vmov.i32 q11, #1056964608 .long 0xf2444c72 // vfma.f32 q10, q2, q9 .long 0xe5912000 // ldr r2, [r1] .long 0xf2426c72 // vfma.f32 q11, q1, q9 .long 0xe590e000 // ldr lr, [r0] .long 0xe9901008 // ldmib r0, {r3, ip} .long 0xf2c3065f // vmov.i32 q8, #1056964608 .long 0xf2c3865f // vmov.i32 q12, #1056964608 .long 0xe5924000 // ldr r4, [r2] .long 0xf2400c72 // vfma.f32 q8, q0, q9 .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xf2468c72 // vfma.f32 q12, q3, q9 .long 0xe0020392 // mul r2, r2, r3 .long 0xf3fb27e4 // vcvt.u32.f32 q9, q10 .long 0xf3fb47e6 // vcvt.u32.f32 q10, q11 .long 0xf3fb07e0 // vcvt.u32.f32 q8, q8 .long 0xe0842102 // add r2, r4, r2, lsl #2 .long 0xe082210e // add r2, r2, lr, lsl #2 .long 0xf3fb67e8 // vcvt.u32.f32 q11, q12 .long 0xf2e84574 // vshl.s32 q10, q10, #8 .long 0xf2f02572 // vshl.s32 q9, q9, #16 .long 0xf26401f0 // vorr q8, q10, q8 .long 0xf2f84576 // vshl.s32 q10, q11, #24 .long 0xf26001f2 // vorr q8, q8, q9 .long 0xf26001f4 // vorr q8, q8, q10 .long 0x1a000004 // bne 4e40 .long 0xf4420a8f // vst1.32 {d16-d17}, [r2] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe20c3003 // and r3, ip, #3 .long 0xe3530001 // cmp r3, #1 .long 0x0a000007 // beq 4e6c .long 0xe3530002 // cmp r3, #2 .long 0x0a000003 // beq 4e64 .long 0xe3530003 // cmp r3, #3 .long 0x1afffff4 // bne 4e30 .long 0xe2823008 // add r3, r2, #8 .long 0xf4c3183f // vst1.32 {d17[0]}, [r3 :32] .long 0xedc20b00 // vstr d16, [r2] .long 0xeafffff0 // b 4e30 .long 0xf4c2083f // vst1.32 {d16[0]}, [r2 :32] .long 0xeaffffee // b 4e30 .long 0xe320f000 // nop {0} .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 .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 0xe92d4010 // push {r4, lr} .long 0xe5912000 // ldr r2, [r1] .long 0xe590e000 // ldr lr, [r0] .long 0xe9901008 // ldmib r0, {r3, ip} .long 0xe5924000 // ldr r4, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xe0020392 // mul r2, r2, r3 .long 0xe0842102 // add r2, r4, r2, lsl #2 .long 0xe082210e // add r2, r2, lr, lsl #2 .long 0x1a000015 // bne 4f0c .long 0xf4620a8f // vld1.32 {d16-d17}, [r2] .long 0xf3c7205f // vmov.i32 q9, #255 .long 0xe28f209c // add r2, pc, #156 .long 0xf3f04070 // vshr.u32 q10, q8, #16 .long 0xf3f88070 // vshr.u32 q12, q8, #8 .long 0xf3e86070 // vshr.u32 q11, q8, #24 .long 0xf24001f2 // vand q8, q8, q9 .long 0xf24441f2 // vand q10, q10, q9 .long 0xf24821f2 // vand q9, q12, q9 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xf3fb6666 // vcvt.f32.s32 q11, q11 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xf3066df8 // vmul.f32 q3, q11, q12 .long 0xf3004df8 // vmul.f32 q2, q8, q12 .long 0xf3040df8 // vmul.f32 q0, q10, q12 .long 0xf3022df8 // vmul.f32 q1, q9, q12 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe20c3003 // and r3, ip, #3 .long 0xe3530001 // cmp r3, #1 .long 0x0a00000c // beq 4f4c .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xe3530002 // cmp r3, #2 .long 0x0a000005 // beq 4f3c .long 0xe3530003 // cmp r3, #3 .long 0x1affffe2 // bne 4eb8 .long 0xe3a03000 // mov r3, #0 .long 0xeea03b90 // vdup.32 q8, r3 .long 0xe2823008 // add r3, r2, #8 .long 0xf4e3183f // vld1.32 {d17[0]}, [r3 :32] .long 0xedd22b00 // vldr d18, [r2] .long 0xf2f008e2 // vext.8 q8, q8, q9, #8 .long 0xf2f008e0 // vext.8 q8, q8, q8, #8 .long 0xeaffffda // b 4eb8 .long 0xe3a03000 // mov r3, #0 .long 0xeea03b90 // vdup.32 q8, r3 .long 0xf4e2083f // vld1.32 {d16[0]}, [r2 :32] .long 0xeaffffd6 // b 4eb8 .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_load_bgra_dst_vfp4 .globl _sk_load_bgra_dst_vfp4 FUNCTION(_sk_load_bgra_dst_vfp4) _sk_load_bgra_dst_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe5912000 // ldr r2, [r1] .long 0xe280c040 // add ip, r0, #64 .long 0xe8900058 // ldm r0, {r3, r4, r6} .long 0xe280e030 // add lr, r0, #48 .long 0xe5925000 // ldr r5, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe3560000 // cmp r6, #0 .long 0xe0020492 // mul r2, r2, r4 .long 0xe0852102 // add r2, r5, r2, lsl #2 .long 0xe0824103 // add r4, r2, r3, lsl #2 .long 0xe2802020 // add r2, r0, #32 .long 0xe2803010 // add r3, r0, #16 .long 0x1a00001a // bne 5014 .long 0xf4640a8f // vld1.32 {d16-d17}, [r4] .long 0xf3c7205f // vmov.i32 q9, #255 .long 0xe28f40b0 // add r4, pc, #176 .long 0xf3f84070 // vshr.u32 q10, q8, #8 .long 0xf3f08070 // vshr.u32 q12, q8, #16 .long 0xf24061f2 // vand q11, q8, q9 .long 0xf24441f2 // vand q10, q10, q9 .long 0xf24821f2 // vand q9, q12, q9 .long 0xf4648acf // vld1.64 {d24-d25}, [r4] .long 0xf3e80070 // vshr.u32 q8, q8, #24 .long 0xf3fb6666 // vcvt.f32.s32 q11, q11 .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf3466df8 // vmul.f32 q11, q11, q12 .long 0xf3444df8 // vmul.f32 q10, q10, q12 .long 0xf3422df8 // vmul.f32 q9, q9, q12 .long 0xf3400df8 // vmul.f32 q8, q8, q12 .long 0xf44e6acf // vst1.64 {d22-d23}, [lr] .long 0xf4424acf // vst1.64 {d20-d21}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xf4432acf // vst1.64 {d18-d19}, [r3] .long 0xf44c0acf // vst1.64 {d16-d17}, [ip] .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff13 // bx r3 .long 0xe2065003 // and r5, r6, #3 .long 0xe3550001 // cmp r5, #1 .long 0x0a00000c // beq 5054 .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xe3550002 // cmp r5, #2 .long 0x0a000005 // beq 5044 .long 0xe3550003 // cmp r5, #3 .long 0x1affffdd // bne 4fac .long 0xe3a05000 // mov r5, #0 .long 0xeea05b90 // vdup.32 q8, r5 .long 0xe2845008 // add r5, r4, #8 .long 0xf4e5183f // vld1.32 {d17[0]}, [r5 :32] .long 0xedd42b00 // vldr d18, [r4] .long 0xf2f008e2 // vext.8 q8, q8, q9, #8 .long 0xf2f008e0 // vext.8 q8, q8, q8, #8 .long 0xeaffffd5 // b 4fac .long 0xe3a05000 // mov r5, #0 .long 0xeea05b90 // vdup.32 q8, r5 .long 0xf4e4083f // vld1.32 {d16[0]}, [r4 :32] .long 0xeaffffd1 // b 4fac .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 HIDDEN _sk_gather_bgra_vfp4 .globl _sk_gather_bgra_vfp4 FUNCTION(_sk_gather_bgra_vfp4) _sk_gather_bgra_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xf3fb0742 // vcvt.s32.f32 q8, q1 .long 0xe2811008 // add r1, r1, #8 .long 0xf3fb2740 // vcvt.s32.f32 q9, q0 .long 0xe4932004 // ldr r2, [r3], #4 .long 0xf4e34cbf // vld1.32 {d20[]-d21[]}, [r3 :32] .long 0xf26429e0 // vmla.i32 q9, q10, q8 .long 0xee133b90 // vmov.32 r3, d19[0] .long 0xee12eb90 // vmov.32 lr, d18[0] .long 0xee334b90 // vmov.32 r4, d19[1] .long 0xee325b90 // vmov.32 r5, d18[1] .long 0xf3c7205f // vmov.i32 q9, #255 .long 0xe0823103 // add r3, r2, r3, lsl #2 .long 0xf4e3183f // vld1.32 {d17[0]}, [r3 :32] .long 0xe082310e // add r3, r2, lr, lsl #2 .long 0xf4e3083f // vld1.32 {d16[0]}, [r3 :32] .long 0xe0823104 // add r3, r2, r4, lsl #2 .long 0xe0822105 // add r2, r2, r5, lsl #2 .long 0xf4e318bf // vld1.32 {d17[1]}, [r3 :32] .long 0xf4e208bf // vld1.32 {d16[1]}, [r2 :32] .long 0xe28f2044 // add r2, pc, #68 .long 0xf3f04070 // vshr.u32 q10, q8, #16 .long 0xf24061f2 // vand q11, q8, q9 .long 0xf3e88070 // vshr.u32 q12, q8, #24 .long 0xf3f80070 // vshr.u32 q8, q8, #8 .long 0xf24441f2 // vand q10, q10, q9 .long 0xf24001f2 // vand q8, q8, q9 .long 0xf3fb2664 // vcvt.f32.s32 q9, q10 .long 0xf4624acf // vld1.64 {d20-d21}, [r2] .long 0xf3fb6666 // vcvt.f32.s32 q11, q11 .long 0xf3fb8668 // vcvt.f32.s32 q12, q12 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf3064df4 // vmul.f32 q2, q11, q10 .long 0xf3086df4 // vmul.f32 q3, q12, q10 .long 0xf3020df4 // vmul.f32 q0, q9, q10 .long 0xf3002df4 // vmul.f32 q1, q8, q10 .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff1c // bx ip .long 0xe320f000 // nop {0} .long 0x3b808081 // .word 0x3b808081 .long 0x3b808081 // .word 0x3b808081 .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 0xe92d4010 // push {r4, lr} .long 0xe28f20bc // add r2, pc, #188 .long 0xf2c3465f // vmov.i32 q10, #1056964608 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xf2c3665f // vmov.i32 q11, #1056964608 .long 0xf2424c72 // vfma.f32 q10, q1, q9 .long 0xe5912000 // ldr r2, [r1] .long 0xf2406c72 // vfma.f32 q11, q0, q9 .long 0xe590e000 // ldr lr, [r0] .long 0xe9901008 // ldmib r0, {r3, ip} .long 0xf2c3065f // vmov.i32 q8, #1056964608 .long 0xf2c3865f // vmov.i32 q12, #1056964608 .long 0xe5924000 // ldr r4, [r2] .long 0xf2440c72 // vfma.f32 q8, q2, q9 .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xf2468c72 // vfma.f32 q12, q3, q9 .long 0xe0020392 // mul r2, r2, r3 .long 0xf3fb27e4 // vcvt.u32.f32 q9, q10 .long 0xf3fb47e6 // vcvt.u32.f32 q10, q11 .long 0xf3fb07e0 // vcvt.u32.f32 q8, q8 .long 0xe0842102 // add r2, r4, r2, lsl #2 .long 0xe082210e // add r2, r2, lr, lsl #2 .long 0xf3fb67e8 // vcvt.u32.f32 q11, q12 .long 0xf2f04574 // vshl.s32 q10, q10, #16 .long 0xf2e82572 // vshl.s32 q9, q9, #8 .long 0xf26401f0 // vorr q8, q10, q8 .long 0xf2f84576 // vshl.s32 q10, q11, #24 .long 0xf26001f2 // vorr q8, q8, q9 .long 0xf26001f4 // vorr q8, q8, q10 .long 0x1a000004 // bne 51b8 .long 0xf4420a8f // vst1.32 {d16-d17}, [r2] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe20c3003 // and r3, ip, #3 .long 0xe3530001 // cmp r3, #1 .long 0x0a000007 // beq 51e4 .long 0xe3530002 // cmp r3, #2 .long 0x0a000003 // beq 51dc .long 0xe3530003 // cmp r3, #3 .long 0x1afffff4 // bne 51a8 .long 0xe2823008 // add r3, r2, #8 .long 0xf4c3183f // vst1.32 {d17[0]}, [r3 :32] .long 0xedc20b00 // vstr d16, [r2] .long 0xeafffff0 // b 51a8 .long 0xf4c2083f // vst1.32 {d16[0]}, [r2 :32] .long 0xeaffffee // b 51a8 .long 0xe320f000 // nop {0} .long 0x437f0000 // .word 0x437f0000 .long 0x437f0000 // .word 0x437f0000 .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 0xe92d4010 // push {r4, lr} .long 0xe5913000 // ldr r3, [r1] .long 0xe590e000 // ldr lr, [r0] .long 0xe9901004 // ldmib r0, {r2, ip} .long 0xe5934000 // ldr r4, [r3] .long 0xe5933004 // ldr r3, [r3, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xe0020293 // mul r2, r3, r2 .long 0xe0842182 // add r2, r4, r2, lsl #3 .long 0xe082318e // add r3, r2, lr, lsl #3 .long 0x1a000008 // bne 5250 .long 0xf463004f // vld4.16 {d16-d19}, [r3] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xf3b60720 // vcvt.f32.f16 q0, d16 .long 0xe2811008 // add r1, r1, #8 .long 0xf3b62721 // vcvt.f32.f16 q1, d17 .long 0xf3b64722 // vcvt.f32.f16 q2, d18 .long 0xf3b66723 // vcvt.f32.f16 q3, d19 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xf4e3070f // vld4.16 {d16[0],d17[0],d18[0],d19[0]}, [r3] .long 0xe35c0001 // cmp ip, #1 .long 0x0afffff4 // beq 5230 .long 0xe2832008 // add r2, r3, #8 .long 0xe35c0003 // cmp ip, #3 .long 0xf4e2074f // vld4.16 {d16[1],d17[1],d18[1],d19[1]}, [r2] .long 0x3afffff0 // bcc 5230 .long 0xe2832010 // add r2, r3, #16 .long 0xf4e2078f // vld4.16 {d16[2],d17[2],d18[2],d19[2]}, [r2] .long 0xeaffffed // b 5230 HIDDEN _sk_load_f16_dst_vfp4 .globl _sk_load_f16_dst_vfp4 FUNCTION(_sk_load_f16_dst_vfp4) _sk_load_f16_dst_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe5912000 // ldr r2, [r1] .long 0xe280c040 // add ip, r0, #64 .long 0xe8900068 // ldm r0, {r3, r5, r6} .long 0xe280e030 // add lr, r0, #48 .long 0xe5924000 // ldr r4, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe3560000 // cmp r6, #0 .long 0xe0020592 // mul r2, r2, r5 .long 0xe0842182 // add r2, r4, r2, lsl #3 .long 0xe0825183 // add r5, r2, r3, lsl #3 .long 0xe2802020 // add r2, r0, #32 .long 0xe2803010 // add r3, r0, #16 .long 0x1a00000d // bne 52e8 .long 0xf465004f // vld4.16 {d16-d19}, [r5] .long 0xf3f64720 // vcvt.f32.f16 q10, d16 .long 0xf3f66721 // vcvt.f32.f16 q11, d17 .long 0xf3f68722 // vcvt.f32.f16 q12, d18 .long 0xf3f60723 // vcvt.f32.f16 q8, d19 .long 0xf4434acf // vst1.64 {d20-d21}, [r3] .long 0xf4426acf // vst1.64 {d22-d23}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xf44e8acf // vst1.64 {d24-d25}, [lr] .long 0xf44c0acf // vst1.64 {d16-d17}, [ip] .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff13 // bx r3 .long 0xf4e5070f // vld4.16 {d16[0],d17[0],d18[0],d19[0]}, [r5] .long 0xe3560001 // cmp r6, #1 .long 0x0affffef // beq 52b4 .long 0xe2854008 // add r4, r5, #8 .long 0xe3560003 // cmp r6, #3 .long 0xf4e4074f // vld4.16 {d16[1],d17[1],d18[1],d19[1]}, [r4] .long 0x3affffeb // bcc 52b4 .long 0xe2854010 // add r4, r5, #16 .long 0xf4e4078f // vld4.16 {d16[2],d17[2],d18[2],d19[2]}, [r4] .long 0xeaffffe8 // b 52b4 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 0xe24dd030 // sub sp, sp, #48 .long 0xe7c4d01f // bfc sp, #0, #5 .long 0xe5912000 // ldr r2, [r1] .long 0xf3fb0742 // vcvt.s32.f32 q8, q1 .long 0xf3fb2740 // vcvt.s32.f32 q9, q0 .long 0xe4923004 // ldr r3, [r2], #4 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xf26429e0 // vmla.i32 q9, q10, q8 .long 0xee33cb90 // vmov.32 ip, d19[1] .long 0xee322b90 // vmov.32 r2, d18[1] .long 0xee13eb90 // vmov.32 lr, d19[0] .long 0xee124b90 // vmov.32 r4, d18[0] .long 0xe083c18c // add ip, r3, ip, lsl #3 .long 0xe0832182 // add r2, r3, r2, lsl #3 .long 0xe083e18e // add lr, r3, lr, lsl #3 .long 0xeddc3b00 // vldr d19, [ip] .long 0xedd21b00 // vldr d17, [r2] .long 0xe0832184 // add r2, r3, r4, lsl #3 .long 0xedde2b00 // vldr d18, [lr] .long 0xedd20b00 // vldr d16, [r2] .long 0xe1a0200d // mov r2, sp .long 0xe3823010 // orr r3, r2, #16 .long 0xf4432aef // vst1.64 {d18-d19}, [r3 :128] .long 0xf4420aef // vst1.64 {d16-d17}, [r2 :128] .long 0xf462005f // vld4.16 {d16-d19}, [r2 :64] .long 0xf3b60720 // vcvt.f32.f16 q0, d16 .long 0xf3b62721 // vcvt.f32.f16 q1, d17 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf3b64722 // vcvt.f32.f16 q2, d18 .long 0xf3b66723 // vcvt.f32.f16 q3, d19 .long 0xe12fff32 // blx r2 .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 0xe92d4010 // push {r4, lr} .long 0xe5912000 // ldr r2, [r1] .long 0xf3f63606 // vcvt.f16.f32 d19, q3 .long 0xe590e000 // ldr lr, [r0] .long 0xe9901008 // ldmib r0, {r3, ip} .long 0xf3f62604 // vcvt.f16.f32 d18, q2 .long 0xe5924000 // ldr r4, [r2] .long 0xf3f61602 // vcvt.f16.f32 d17, q1 .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xf3f60600 // vcvt.f16.f32 d16, q0 .long 0xe0020392 // mul r2, r2, r3 .long 0xe0842182 // add r2, r4, r2, lsl #3 .long 0xe082218e // add r2, r2, lr, lsl #3 .long 0x1a000004 // bne 53f0 .long 0xf442004f // vst4.16 {d16-d19}, [r2] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe35c0001 // cmp ip, #1 .long 0xf4c2070f // vst4.16 {d16[0],d17[0],d18[0],d19[0]}, [r2] .long 0x0afffff8 // beq 53e0 .long 0xe2823008 // add r3, r2, #8 .long 0xe35c0003 // cmp ip, #3 .long 0xf4c3074f // vst4.16 {d16[1],d17[1],d18[1],d19[1]}, [r3] .long 0x3afffff4 // bcc 53e0 .long 0xe2822010 // add r2, r2, #16 .long 0xf4c2078f // vst4.16 {d16[2],d17[2],d18[2],d19[2]}, [r2] .long 0xeafffff1 // b 53e0 HIDDEN _sk_load_u16_be_vfp4 .globl _sk_load_u16_be_vfp4 FUNCTION(_sk_load_u16_be_vfp4) _sk_load_u16_be_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xe5913000 // ldr r3, [r1] .long 0xe590e000 // ldr lr, [r0] .long 0xe9901004 // ldmib r0, {r2, ip} .long 0xe5934000 // ldr r4, [r3] .long 0xe5933004 // ldr r3, [r3, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xe0020293 // mul r2, r3, r2 .long 0xe0842082 // add r2, r4, r2, lsl #1 .long 0xe082318e // add r3, r2, lr, lsl #3 .long 0x1a00001e // bne 54c0 .long 0xf463004f // vld4.16 {d16-d19}, [r3] .long 0xf3d84030 // vshr.u16 d20, d16, #8 .long 0xe28f2094 // add r2, pc, #148 .long 0xf2d85530 // vshl.s16 d21, d16, #8 .long 0xf3d86031 // vshr.u16 d22, d17, #8 .long 0xf2d87531 // vshl.s16 d23, d17, #8 .long 0xf2d80533 // vshl.s16 d16, d19, #8 .long 0xf3d8a033 // vshr.u16 d26, d19, #8 .long 0xf3d88032 // vshr.u16 d24, d18, #8 .long 0xf2d89532 // vshl.s16 d25, d18, #8 .long 0xf26511b4 // vorr d17, d21, d20 .long 0xf26721b6 // vorr d18, d23, d22 .long 0xf26931b8 // vorr d19, d25, d24 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xf26001ba // vorr d16, d16, d26 .long 0xf3d04a31 // vmovl.u16 q10, d17 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xf3d06a32 // vmovl.u16 q11, d18 .long 0xe2811008 // add r1, r1, #8 .long 0xf3d02a33 // vmovl.u16 q9, d19 .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xf3fb46e4 // vcvt.f32.u32 q10, q10 .long 0xf3fb66e6 // vcvt.f32.u32 q11, q11 .long 0xf3fb26e2 // vcvt.f32.u32 q9, q9 .long 0xf3fb06e0 // vcvt.f32.u32 q8, q8 .long 0xf3040df8 // vmul.f32 q0, q10, q12 .long 0xf3062df8 // vmul.f32 q1, q11, q12 .long 0xf3024df8 // vmul.f32 q2, q9, q12 .long 0xf3006df8 // vmul.f32 q3, q8, q12 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xf4e3070f // vld4.16 {d16[0],d17[0],d18[0],d19[0]}, [r3] .long 0xe35c0001 // cmp ip, #1 .long 0x0affffde // beq 5448 .long 0xe2832008 // add r2, r3, #8 .long 0xe35c0003 // cmp ip, #3 .long 0xf4e2074f // vld4.16 {d16[1],d17[1],d18[1],d19[1]}, [r2] .long 0x3affffda // bcc 5448 .long 0xe2832010 // add r2, r3, #16 .long 0xf4e2078f // vld4.16 {d16[2],d17[2],d18[2],d19[2]}, [r2] .long 0xeaffffd7 // b 5448 .long 0x37800080 // .word 0x37800080 .long 0x37800080 // .word 0x37800080 .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 0xe92d4010 // push {r4, lr} .long 0xe5913000 // ldr r3, [r1] .long 0xe590e000 // ldr lr, [r0] .long 0xe9901004 // ldmib r0, {r2, ip} .long 0xe5934000 // ldr r4, [r3] .long 0xe5933004 // ldr r3, [r3, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xe0020293 // mul r2, r3, r2 .long 0xe08e308e // add r3, lr, lr, lsl #1 .long 0xe0842082 // add r2, r4, r2, lsl #1 .long 0xe0823083 // add r3, r2, r3, lsl #1 .long 0x1a00001a // bne 5594 .long 0xf463044f // vld3.16 {d16-d18}, [r3] .long 0xf3d84030 // vshr.u16 d20, d16, #8 .long 0xe28f2088 // add r2, pc, #136 .long 0xf2d85530 // vshl.s16 d21, d16, #8 .long 0xf3d86031 // vshr.u16 d22, d17, #8 .long 0xf2d87531 // vshl.s16 d23, d17, #8 .long 0xf2d80532 // vshl.s16 d16, d18, #8 .long 0xf3d88032 // vshr.u16 d24, d18, #8 .long 0xf26721b6 // vorr d18, d23, d22 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xf26511b4 // vorr d17, d21, d20 .long 0xe28f2074 // add r2, pc, #116 .long 0xf26001b8 // vorr d16, d16, d24 .long 0xf4226acf // vld1.64 {d6-d7}, [r2] .long 0xf3d02a32 // vmovl.u16 q9, d18 .long 0xf3d04a31 // vmovl.u16 q10, d17 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xe2811008 // add r1, r1, #8 .long 0xf3fb26e2 // vcvt.f32.u32 q9, q9 .long 0xf3fb46e4 // vcvt.f32.u32 q10, q10 .long 0xf3fb06e0 // vcvt.f32.u32 q8, q8 .long 0xf3022df6 // vmul.f32 q1, q9, q11 .long 0xf3040df6 // vmul.f32 q0, q10, q11 .long 0xf3004df6 // vmul.f32 q2, q8, q11 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xf4e3060f // vld3.16 {d16[0],d17[0],d18[0]}, [r3] .long 0xe35c0001 // cmp ip, #1 .long 0x0affffe2 // beq 552c .long 0xe2832006 // add r2, r3, #6 .long 0xe35c0003 // cmp ip, #3 .long 0xf4e2064f // vld3.16 {d16[1],d17[1],d18[1]}, [r2] .long 0x3affffde // bcc 552c .long 0xe283200c // add r2, r3, #12 .long 0xf4e2068f // vld3.16 {d16[2],d17[2],d18[2]}, [r2] .long 0xeaffffdb // b 552c .long 0xe320f000 // nop {0} .long 0x37800080 // .word 0x37800080 .long 0x37800080 // .word 0x37800080 .long 0x37800080 // .word 0x37800080 .long 0x37800080 // .word 0x37800080 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 HIDDEN _sk_store_u16_be_vfp4 .globl _sk_store_u16_be_vfp4 FUNCTION(_sk_store_u16_be_vfp4) _sk_store_u16_be_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xe28f20d4 // add r2, pc, #212 .long 0xf2c3065f // vmov.i32 q8, #1056964608 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xf2c3465f // vmov.i32 q10, #1056964608 .long 0xf2c3665f // vmov.i32 q11, #1056964608 .long 0xf2440c72 // vfma.f32 q8, q2, q9 .long 0xe5913000 // ldr r3, [r1] .long 0xe590e000 // ldr lr, [r0] .long 0xf2424c72 // vfma.f32 q10, q1, q9 .long 0xe9901004 // ldmib r0, {r2, ip} .long 0xf2466c72 // vfma.f32 q11, q3, q9 .long 0xe5934000 // ldr r4, [r3] .long 0xe5933004 // ldr r3, [r3, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xf2c3865f // vmov.i32 q12, #1056964608 .long 0xf2408c72 // vfma.f32 q12, q0, q9 .long 0xe0020293 // mul r2, r3, r2 .long 0xf3fb07e0 // vcvt.u32.f32 q8, q8 .long 0xf3fb27e4 // vcvt.u32.f32 q9, q10 .long 0xf3fb47e6 // vcvt.u32.f32 q10, q11 .long 0xe0842082 // add r2, r4, r2, lsl #1 .long 0xf3f60220 // vmovn.i32 d16, q8 .long 0xe082318e // add r3, r2, lr, lsl #3 .long 0xf3fb67e8 // vcvt.u32.f32 q11, q12 .long 0xf3f62222 // vmovn.i32 d18, q9 .long 0xf3f63224 // vmovn.i32 d19, q10 .long 0xf3d85030 // vshr.u16 d21, d16, #8 .long 0xf3d81033 // vshr.u16 d17, d19, #8 .long 0xf3f64226 // vmovn.i32 d20, q11 .long 0xf2d86530 // vshl.s16 d22, d16, #8 .long 0xf2d80533 // vshl.s16 d16, d19, #8 .long 0xf3d87032 // vshr.u16 d23, d18, #8 .long 0xf2d88532 // vshl.s16 d24, d18, #8 .long 0xf26031b1 // vorr d19, d16, d17 .long 0xf26621b5 // vorr d18, d22, d21 .long 0xf3d89034 // vshr.u16 d25, d20, #8 .long 0xf2d84534 // vshl.s16 d20, d20, #8 .long 0xf26811b7 // vorr d17, d24, d23 .long 0xf26401b9 // vorr d16, d20, d25 .long 0x1a000004 // bne 5698 .long 0xf443004f // vst4.16 {d16-d19}, [r3] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe35c0001 // cmp ip, #1 .long 0xf4c3070f // vst4.16 {d16[0],d17[0],d18[0],d19[0]}, [r3] .long 0x0afffff8 // beq 5688 .long 0xe2832008 // add r2, r3, #8 .long 0xe35c0003 // cmp ip, #3 .long 0xf4c2074f // vst4.16 {d16[1],d17[1],d18[1],d19[1]}, [r2] .long 0x3afffff4 // bcc 5688 .long 0xe2832010 // add r2, r3, #16 .long 0xf4c2078f // vst4.16 {d16[2],d17[2],d18[2],d19[2]}, [r2] .long 0xeafffff1 // b 5688 .long 0x477fff00 // .word 0x477fff00 .long 0x477fff00 // .word 0x477fff00 .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 0xe92d4010 // push {r4, lr} .long 0xe5912000 // ldr r2, [r1] .long 0xe590e000 // ldr lr, [r0] .long 0xe9901008 // ldmib r0, {r3, ip} .long 0xe5924000 // ldr r4, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xe0020392 // mul r2, r2, r3 .long 0xe0842102 // add r2, r4, r2, lsl #2 .long 0xe082220e // add r2, r2, lr, lsl #4 .long 0x1a000009 // bne 5724 .long 0xf462018d // vld4.32 {d16,d18,d20,d22}, [r2]! .long 0xf462118f // vld4.32 {d17,d19,d21,d23}, [r2] .long 0xf22001f0 // vorr q0, q8, q8 .long 0xf22221f2 // vorr q1, q9, q9 .long 0xf22441f4 // vorr q2, q10, q10 .long 0xf22661f6 // vorr q3, q11, q11 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xf4a20b4f // vld4.32 {d0[0],d2[0],d4[0],d6[0]}, [r2] .long 0xe35c0001 // cmp ip, #1 .long 0x0afffff8 // beq 5714 .long 0xe2823010 // add r3, r2, #16 .long 0xe35c0003 // cmp ip, #3 .long 0xf4a30bcf // vld4.32 {d0[1],d2[1],d4[1],d6[1]}, [r3] .long 0x3afffff4 // bcc 5714 .long 0xe2822020 // add r2, r2, #32 .long 0xf4a21b4f // vld4.32 {d1[0],d3[0],d5[0],d7[0]}, [r2] .long 0xeafffff1 // b 5714 HIDDEN _sk_load_f32_dst_vfp4 .globl _sk_load_f32_dst_vfp4 FUNCTION(_sk_load_f32_dst_vfp4) _sk_load_f32_dst_vfp4: .long 0xe92d4070 // push {r4, r5, r6, lr} .long 0xe5912000 // ldr r2, [r1] .long 0xe280c040 // add ip, r0, #64 .long 0xe8900058 // ldm r0, {r3, r4, r6} .long 0xe280e030 // add lr, r0, #48 .long 0xe5925000 // ldr r5, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe3560000 // cmp r6, #0 .long 0xe0020492 // mul r2, r2, r4 .long 0xe0852102 // add r2, r5, r2, lsl #2 .long 0xe0824203 // add r4, r2, r3, lsl #4 .long 0xe2802020 // add r2, r0, #32 .long 0xe2803010 // add r3, r0, #16 .long 0x1a00000e // bne 57c0 .long 0xf464818d // vld4.32 {d24,d26,d28,d30}, [r4]! .long 0xf464918f // vld4.32 {d25,d27,d29,d31}, [r4] .long 0xf26801f8 // vorr q8, q12, q12 .long 0xf26a21fa // vorr q9, q13, q13 .long 0xf26c41fc // vorr q10, q14, q14 .long 0xf26e61fe // vorr q11, q15, q15 .long 0xf4430acf // vst1.64 {d16-d17}, [r3] .long 0xf4422acf // vst1.64 {d18-d19}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xf44e4acf // vst1.64 {d20-d21}, [lr] .long 0xf44c6acf // vst1.64 {d22-d23}, [ip] .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe8bd4070 // pop {r4, r5, r6, lr} .long 0xe12fff13 // bx r3 .long 0xf4e40b4f // vld4.32 {d16[0],d18[0],d20[0],d22[0]}, [r4] .long 0xe3560001 // cmp r6, #1 .long 0x0afffff3 // beq 579c .long 0xe2845010 // add r5, r4, #16 .long 0xe3560003 // cmp r6, #3 .long 0xf4e50bcf // vld4.32 {d16[1],d18[1],d20[1],d22[1]}, [r5] .long 0x3affffef // bcc 579c .long 0xe2844020 // add r4, r4, #32 .long 0xf4e41b4f // vld4.32 {d17[0],d19[0],d21[0],d23[0]}, [r4] .long 0xeaffffec // b 579c HIDDEN _sk_store_f32_vfp4 .globl _sk_store_f32_vfp4 FUNCTION(_sk_store_f32_vfp4) _sk_store_f32_vfp4: .long 0xe92d4010 // push {r4, lr} .long 0xe5912000 // ldr r2, [r1] .long 0xe590e000 // ldr lr, [r0] .long 0xe9901008 // ldmib r0, {r3, ip} .long 0xe5924000 // ldr r4, [r2] .long 0xe5922004 // ldr r2, [r2, #4] .long 0xe35c0000 // cmp ip, #0 .long 0xe0020392 // mul r2, r2, r3 .long 0xe0842102 // add r2, r4, r2, lsl #2 .long 0xe082220e // add r2, r2, lr, lsl #4 .long 0x1a000005 // bne 582c .long 0xf402018d // vst4.32 {d0,d2,d4,d6}, [r2]! .long 0xf402118f // vst4.32 {d1,d3,d5,d7}, [r2] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4010 // pop {r4, lr} .long 0xe12fff12 // bx r2 .long 0xe35c0001 // cmp ip, #1 .long 0xf4820b4f // vst4.32 {d0[0],d2[0],d4[0],d6[0]}, [r2] .long 0x0afffff8 // beq 581c .long 0xe2823010 // add r3, r2, #16 .long 0xe35c0003 // cmp ip, #3 .long 0xf4830bcf // vst4.32 {d0[1],d2[1],d4[1],d6[1]}, [r3] .long 0x3afffff4 // bcc 581c .long 0xe2822020 // add r2, r2, #32 .long 0xf4821b4f // vst4.32 {d1[0],d3[0],d5[0],d7[0]}, [r2] .long 0xeafffff1 // b 581c HIDDEN _sk_clamp_x_vfp4 .globl _sk_clamp_x_vfp4 FUNCTION(_sk_clamp_x_vfp4) _sk_clamp_x_vfp4: .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xe5913000 // ldr r3, [r1] .long 0xf3c72e5f // vmov.i8 q9, #255 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xf2400fc0 // vmax.f32 q8, q8, q0 .long 0xe2811008 // add r1, r1, #8 .long 0xf4e34cbf // vld1.32 {d20[]-d21[]}, [r3 :32] .long 0xf26428e2 // vadd.i32 q9, q10, q9 .long 0xf2200fe2 // vmin.f32 q0, q8, q9 .long 0xe12fff12 // bx r2 HIDDEN _sk_clamp_y_vfp4 .globl _sk_clamp_y_vfp4 FUNCTION(_sk_clamp_y_vfp4) _sk_clamp_y_vfp4: .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xe5913000 // ldr r3, [r1] .long 0xf3c72e5f // vmov.i8 q9, #255 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xf2400fc2 // vmax.f32 q8, q8, q1 .long 0xe2811008 // add r1, r1, #8 .long 0xf4e34cbf // vld1.32 {d20[]-d21[]}, [r3 :32] .long 0xf26428e2 // vadd.i32 q9, q10, q9 .long 0xf2202fe2 // vmin.f32 q1, q8, q9 .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} HIDDEN _sk_repeat_x_vfp4 .globl _sk_repeat_x_vfp4 FUNCTION(_sk_repeat_x_vfp4) _sk_repeat_x_vfp4: .long 0xe5913000 // ldr r3, [r1] .long 0xf2c06050 // vmov.i32 q11, #0 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf4e30cbd // vld1.32 {d16[]-d17[]}, [r3 :32]! .long 0xf4e32cbf // vld1.32 {d18[]-d19[]}, [r3 :32] .long 0xe28f3030 // add r3, pc, #48 .long 0xf3422dd0 // vmul.f32 q9, q9, q0 .long 0xf4638acf // vld1.64 {d24-d25}, [r3] .long 0xf3fb4762 // vcvt.s32.f32 q10, q9 .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xf3642ee2 // vcgt.f32 q9, q10, q9 .long 0xf35821f6 // vbsl q9, q12, q11 .long 0xf2642de2 // vsub.f32 q9, q10, q9 .long 0xf3c74e5f // vmov.i8 q10, #255 .long 0xf2200cf2 // vfms.f32 q0, q8, q9 .long 0xf26008e4 // vadd.i32 q8, q8, q10 .long 0xf2462fc0 // vmax.f32 q9, q11, q0 .long 0xf2220fe0 // vmin.f32 q0, q9, q8 .long 0xe12fff12 // bx r2 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .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 0xe5913000 // ldr r3, [r1] .long 0xf2c06050 // vmov.i32 q11, #0 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf4e30cbd // vld1.32 {d16[]-d17[]}, [r3 :32]! .long 0xf4e32cbf // vld1.32 {d18[]-d19[]}, [r3 :32] .long 0xe28f3030 // add r3, pc, #48 .long 0xf3422dd2 // vmul.f32 q9, q9, q1 .long 0xf4638acf // vld1.64 {d24-d25}, [r3] .long 0xf3fb4762 // vcvt.s32.f32 q10, q9 .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xf3642ee2 // vcgt.f32 q9, q10, q9 .long 0xf35821f6 // vbsl q9, q12, q11 .long 0xf2642de2 // vsub.f32 q9, q10, q9 .long 0xf3c74e5f // vmov.i8 q10, #255 .long 0xf2202cf2 // vfms.f32 q1, q8, q9 .long 0xf26008e4 // vadd.i32 q8, q8, q10 .long 0xf2462fc2 // vmax.f32 q9, q11, q1 .long 0xf2222fe0 // vmin.f32 q1, q9, q8 .long 0xe12fff12 // bx r2 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .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 0xed2d8b06 // vpush {d8-d10} .long 0xe5913000 // ldr r3, [r1] .long 0xeeb6aa00 // vmov.f32 s20, #96 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xf2c08050 // vmov.i32 q12, #0 .long 0xe2811008 // add r1, r1, #8 .long 0xed938a00 // vldr s16, [r3] .long 0xed939a01 // vldr s18, [r3, #4] .long 0xe28f3050 // add r3, pc, #80 .long 0xf3f40c48 // vdup.32 q8, d8[0] .long 0xf2602d60 // vsub.f32 q9, q0, q8 .long 0xf463aacf // vld1.64 {d26-d27}, [r3] .long 0xee290a0a // vmul.f32 s0, s18, s20 .long 0xf3e249c0 // vmul.f32 q10, q9, d0[0] .long 0xee380a08 // vadd.f32 s0, s16, s16 .long 0xf3fb6764 // vcvt.s32.f32 q11, q10 .long 0xf3fb6666 // vcvt.f32.s32 q11, q11 .long 0xf3664ee4 // vcgt.f32 q10, q11, q10 .long 0xf35a41f8 // vbsl q10, q13, q12 .long 0xf2664de4 // vsub.f32 q10, q11, q10 .long 0xf3f46c40 // vdup.32 q11, d0[0] .long 0xf2662cf4 // vfms.f32 q9, q11, q10 .long 0xf3c74e5f // vmov.i8 q10, #255 .long 0xf2622de0 // vsub.f32 q9, q9, q8 .long 0xf26008e4 // vadd.i32 q8, q8, q10 .long 0xf3f92762 // vabs.f32 q9, q9 .long 0xf2482fe2 // vmax.f32 q9, q12, q9 .long 0xf2220fe0 // vmin.f32 q0, q9, q8 .long 0xecbd8b06 // vpop {d8-d10} .long 0xe12fff12 // bx r2 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .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 0xed2d8b06 // vpush {d8-d10} .long 0xe5913000 // ldr r3, [r1] .long 0xeeb6aa00 // vmov.f32 s20, #96 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xf2c08050 // vmov.i32 q12, #0 .long 0xe2811008 // add r1, r1, #8 .long 0xed938a00 // vldr s16, [r3] .long 0xed939a01 // vldr s18, [r3, #4] .long 0xe28f3050 // add r3, pc, #80 .long 0xf3f40c48 // vdup.32 q8, d8[0] .long 0xf2622d60 // vsub.f32 q9, q1, q8 .long 0xf463aacf // vld1.64 {d26-d27}, [r3] .long 0xee292a0a // vmul.f32 s4, s18, s20 .long 0xf3e249c2 // vmul.f32 q10, q9, d2[0] .long 0xee382a08 // vadd.f32 s4, s16, s16 .long 0xf3fb6764 // vcvt.s32.f32 q11, q10 .long 0xf3fb6666 // vcvt.f32.s32 q11, q11 .long 0xf3664ee4 // vcgt.f32 q10, q11, q10 .long 0xf35a41f8 // vbsl q10, q13, q12 .long 0xf2664de4 // vsub.f32 q10, q11, q10 .long 0xf3f46c42 // vdup.32 q11, d2[0] .long 0xf2662cf4 // vfms.f32 q9, q11, q10 .long 0xf3c74e5f // vmov.i8 q10, #255 .long 0xf2622de0 // vsub.f32 q9, q9, q8 .long 0xf26008e4 // vadd.i32 q8, q8, q10 .long 0xf3f92762 // vabs.f32 q9, q9 .long 0xf2482fe2 // vmax.f32 q9, q12, q9 .long 0xf2222fe0 // vmin.f32 q1, q9, q8 .long 0xecbd8b06 // vpop {d8-d10} .long 0xe12fff12 // bx r2 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .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 0xf2c00050 // vmov.i32 q8, #0 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2c72f50 // vmov.f32 q9, #1 .long 0xf2400fc0 // vmax.f32 q8, q8, q0 .long 0xf2200fe2 // vmin.f32 q0, q8, q9 .long 0xe12fff12 // bx r2 HIDDEN _sk_repeat_x_1_vfp4 .globl _sk_repeat_x_1_vfp4 FUNCTION(_sk_repeat_x_1_vfp4) _sk_repeat_x_1_vfp4: .long 0xf3fb0740 // vcvt.s32.f32 q8, q0 .long 0xe28f2024 // add r2, pc, #36 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xf2c04050 // vmov.i32 q10, #0 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xf3602ec0 // vcgt.f32 q9, q8, q0 .long 0xf35621f4 // vbsl q9, q11, q10 .long 0xf2600de2 // vsub.f32 q8, q8, q9 .long 0xf2200d60 // vsub.f32 q0, q0, q8 .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .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 0xf3c70f50 // vmov.f32 q8, #-1 .long 0xe28f203c // add r2, pc, #60 .long 0xf2c3465f // vmov.i32 q10, #1056964608 .long 0xf462aacf // vld1.64 {d26-d27}, [r2] .long 0xf2402d60 // vadd.f32 q9, q0, q8 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2c08050 // vmov.i32 q12, #0 .long 0xf3424df4 // vmul.f32 q10, q9, q10 .long 0xf3fb6764 // vcvt.s32.f32 q11, q10 .long 0xf3fb6666 // vcvt.f32.s32 q11, q11 .long 0xf3664ee4 // vcgt.f32 q10, q11, q10 .long 0xf35a41f8 // vbsl q10, q13, q12 .long 0xf2664de4 // vsub.f32 q10, q11, q10 .long 0xf2444de4 // vadd.f32 q10, q10, q10 .long 0xf2622de4 // vsub.f32 q9, q9, q10 .long 0xf2420de0 // vadd.f32 q8, q9, q8 .long 0xf3b90760 // vabs.f32 q0, q8 .long 0xe12fff12 // bx r2 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .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 0xe28f2030 // add r2, pc, #48 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe28f2038 // add r2, pc, #56 .long 0xf3006d70 // vmul.f32 q3, q0, q8 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe28f203c // add r2, pc, #60 .long 0xf2800050 // vmov.i32 q0, #0 .long 0xf2026c70 // vfma.f32 q3, q1, q8 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2802050 // vmov.i32 q1, #0 .long 0xf2046c70 // vfma.f32 q3, q2, q8 .long 0xf2804050 // vmov.i32 q2, #0 .long 0xe12fff12 // bx r2 .long 0x3e59b3d0 // .word 0x3e59b3d0 .long 0x3e59b3d0 // .word 0x3e59b3d0 .long 0x3e59b3d0 // .word 0x3e59b3d0 .long 0x3e59b3d0 // .word 0x3e59b3d0 .long 0x3f371759 // .word 0x3f371759 .long 0x3f371759 // .word 0x3f371759 .long 0x3f371759 // .word 0x3f371759 .long 0x3f371759 // .word 0x3f371759 .long 0x3d93dd98 // .word 0x3d93dd98 .long 0x3d93dd98 // .word 0x3d93dd98 .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 0xe5913000 // ldr r3, [r1] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf4e30cbd // vld1.32 {d16[]-d17[]}, [r3 :32]! .long 0xf2000dc0 // vadd.f32 q0, q8, q0 .long 0xf4e32cbf // vld1.32 {d18[]-d19[]}, [r3 :32] .long 0xf2022dc2 // vadd.f32 q1, q9, q1 .long 0xe12fff12 // bx r2 HIDDEN _sk_matrix_scale_translate_vfp4 .globl _sk_matrix_scale_translate_vfp4 FUNCTION(_sk_matrix_scale_translate_vfp4) _sk_matrix_scale_translate_vfp4: .long 0xe92d4800 // push {fp, lr} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xe2811008 // add r1, r1, #8 .long 0xe2832008 // add r2, r3, #8 .long 0xe1a0e003 // mov lr, r3 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe283200c // add r2, r3, #12 .long 0xf4ee0cbd // vld1.32 {d16[]-d17[]}, [lr :32]! .long 0xf2400c72 // vfma.f32 q8, q0, q9 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xf4ee2cbf // vld1.32 {d18[]-d19[]}, [lr :32] .long 0xf2422c74 // vfma.f32 q9, q1, q10 .long 0xf22001f0 // vorr q0, q8, q8 .long 0xf22221f2 // vorr q1, q9, q9 .long 0xe8bd4800 // pop {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 0xe92d4800 // push {fp, lr} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xe3a02014 // mov r2, #20 .long 0xe2811008 // add r1, r1, #8 .long 0xe1a0e003 // mov lr, r3 .long 0xf4ee4cb2 // vld1.32 {d20[]-d21[]}, [lr :32], r2 .long 0xe2832008 // add r2, r3, #8 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe2832010 // add r2, r3, #16 .long 0xf4e20cbf // vld1.32 {d16[]-d17[]}, [r2 :32] .long 0xe283200c // add r2, r3, #12 .long 0xf2420c72 // vfma.f32 q8, q1, q9 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xe2832004 // add r2, r3, #4 .long 0xf4ee2cbf // vld1.32 {d18[]-d19[]}, [lr :32] .long 0xf2422c76 // vfma.f32 q9, q1, q11 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xf2400c74 // vfma.f32 q8, q0, q10 .long 0xf2402c76 // vfma.f32 q9, q0, q11 .long 0xf22001f0 // vorr q0, q8, q8 .long 0xf22221f2 // vorr q1, q9, q9 .long 0xe8bd4800 // pop {fp, 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 0xe8911008 // ldm r1, {r3, ip} .long 0xf2620152 // vorr q8, q1, q1 .long 0xe3a0e02c // mov lr, #44 .long 0xe283201c // add r2, r3, #28 .long 0xe2811008 // add r1, r1, #8 .long 0xe1a04003 // mov r4, r3 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xe2832028 // add r2, r3, #40 .long 0xf4a22cbf // vld1.32 {d2[]-d3[]}, [r2 :32] .long 0xe2832018 // add r2, r3, #24 .long 0xf2042c74 // vfma.f32 q1, q2, q10 .long 0xf4e28cbf // vld1.32 {d24[]-d25[]}, [r2 :32] .long 0xe2832024 // add r2, r3, #36 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe2832020 // add r2, r3, #32 .long 0xf2442c78 // vfma.f32 q9, q2, q12 .long 0xf4e46cbe // vld1.32 {d22[]-d23[]}, [r4 :32], lr .long 0xf4e28cbf // vld1.32 {d24[]-d25[]}, [r2 :32] .long 0xe283200c // add r2, r3, #12 .long 0xf4e44cbf // vld1.32 {d20[]-d21[]}, [r4 :32] .long 0xf2444c78 // vfma.f32 q10, q2, q12 .long 0xf4e28cbf // vld1.32 {d24[]-d25[]}, [r2 :32] .long 0xe2832010 // add r2, r3, #16 .long 0xf2402cf8 // vfma.f32 q9, q8, q12 .long 0xf4e28cbf // vld1.32 {d24[]-d25[]}, [r2 :32] .long 0xe2832014 // add r2, r3, #20 .long 0xf2002cf8 // vfma.f32 q1, q8, q12 .long 0xf4e28cbf // vld1.32 {d24[]-d25[]}, [r2 :32] .long 0xe2832004 // add r2, r3, #4 .long 0xf2404cf8 // vfma.f32 q10, q8, q12 .long 0xf4e20cbf // vld1.32 {d16[]-d17[]}, [r2 :32] .long 0xe2832008 // add r2, r3, #8 .long 0xf2402c76 // vfma.f32 q9, q0, q11 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xf2002c70 // vfma.f32 q1, q0, q8 .long 0xf2404c76 // vfma.f32 q10, q0, q11 .long 0xf22201f2 // vorr q0, q9, q9 .long 0xf22441f4 // vorr q2, q10, q10 .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 0xe92d4010 // push {r4, lr} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xf2666156 // vorr q11, q3, q3 .long 0xf2644154 // vorr q10, q2, q2 .long 0xe2832030 // add r2, r3, #48 .long 0xe3a0e04c // mov lr, #76 .long 0xe1a04003 // mov r4, r3 .long 0xe2811008 // add r1, r1, #8 .long 0xf4e2acbf // vld1.32 {d26[]-d27[]}, [r2 :32] .long 0xe2832040 // add r2, r3, #64 .long 0xf4e20cbf // vld1.32 {d16[]-d17[]}, [r2 :32] .long 0xe2832034 // add r2, r3, #52 .long 0xf2460cfa // vfma.f32 q8, q11, q13 .long 0xf4e2ccbf // vld1.32 {d28[]-d29[]}, [r2 :32] .long 0xe2832038 // add r2, r3, #56 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe2832048 // add r2, r3, #72 .long 0xf4a24cbf // vld1.32 {d4[]-d5[]}, [r2 :32] .long 0xe2832044 // add r2, r3, #68 .long 0xf2064cf2 // vfma.f32 q2, q11, q9 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe283203c // add r2, r3, #60 .long 0xf2462cfc // vfma.f32 q9, q11, q14 .long 0xf4e48cbe // vld1.32 {d24[]-d25[]}, [r4 :32], lr .long 0xf4e2ccbf // vld1.32 {d28[]-d29[]}, [r2 :32] .long 0xe2832024 // add r2, r3, #36 .long 0xf4a46cbf // vld1.32 {d6[]-d7[]}, [r4 :32] .long 0xf2066cfc // vfma.f32 q3, q11, q14 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xe2832028 // add r2, r3, #40 .long 0xf2442cf6 // vfma.f32 q9, q10, q11 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xe2832020 // add r2, r3, #32 .long 0xf2044cf6 // vfma.f32 q2, q10, q11 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xe283202c // add r2, r3, #44 .long 0xf2440cf6 // vfma.f32 q8, q10, q11 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xe2832018 // add r2, r3, #24 .long 0xf2046cf6 // vfma.f32 q3, q10, q11 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xe2832010 // add r2, r3, #16 .long 0xf2024c74 // vfma.f32 q2, q1, q10 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xe2832014 // add r2, r3, #20 .long 0xf2420c74 // vfma.f32 q8, q1, q10 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xe283201c // add r2, r3, #28 .long 0xf2422c74 // vfma.f32 q9, q1, q10 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xe2832008 // add r2, r3, #8 .long 0xf2026c74 // vfma.f32 q3, q1, q10 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xe2832004 // add r2, r3, #4 .long 0xf2004c74 // vfma.f32 q2, q0, q10 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xe283200c // add r2, r3, #12 .long 0xf2400c78 // vfma.f32 q8, q0, q12 .long 0xf2402c76 // vfma.f32 q9, q0, q11 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xf2006c76 // vfma.f32 q3, q0, q11 .long 0xf22001f0 // vorr q0, q8, q8 .long 0xf22221f2 // vorr q1, q9, q9 .long 0xe8bd4010 // pop {r4, 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 0xe92d4010 // push {r4, lr} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xe3a0e02c // mov lr, #44 .long 0xe2811008 // add r1, r1, #8 .long 0xe2832018 // add r2, r3, #24 .long 0xe1a04003 // mov r4, r3 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xe2832028 // add r2, r3, #40 .long 0xf4a24cbf // vld1.32 {d4[]-d5[]}, [r2 :32] .long 0xe2832010 // add r2, r3, #16 .long 0xf2024c76 // vfma.f32 q2, q1, q11 .long 0xf4e28cbf // vld1.32 {d24[]-d25[]}, [r2 :32] .long 0xe2832014 // add r2, r3, #20 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe2832024 // add r2, r3, #36 .long 0xf4e20cbf // vld1.32 {d16[]-d17[]}, [r2 :32] .long 0xe2832020 // add r2, r3, #32 .long 0xf2420c72 // vfma.f32 q8, q1, q9 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe283201c // add r2, r3, #28 .long 0xf2422c78 // vfma.f32 q9, q1, q12 .long 0xf4e28cbf // vld1.32 {d24[]-d25[]}, [r2 :32] .long 0xe2832008 // add r2, r3, #8 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xe2832004 // add r2, r3, #4 .long 0xf2004c76 // vfma.f32 q2, q0, q11 .long 0xf4e44cbe // vld1.32 {d20[]-d21[]}, [r4 :32], lr .long 0xf4a46cbf // vld1.32 {d6[]-d7[]}, [r4 :32] .long 0xf2402c74 // vfma.f32 q9, q0, q10 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xe283200c // add r2, r3, #12 .long 0xf2400c74 // vfma.f32 q8, q0, q10 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xf2026c78 // vfma.f32 q3, q1, q12 .long 0xf22021f0 // vorr q1, q8, q8 .long 0xf2006c74 // vfma.f32 q3, q0, q10 .long 0xf22201f2 // vorr q0, q9, q9 .long 0xe8bd4010 // pop {r4, 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 0xe92d4010 // push {r4, lr} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xe3a0e020 // mov lr, #32 .long 0xe2811008 // add r1, r1, #8 .long 0xe283201c // add r2, r3, #28 .long 0xe1a04003 // mov r4, r3 .long 0xf4e40cbe // vld1.32 {d16[]-d17[]}, [r4 :32], lr .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe2832018 // add r2, r3, #24 .long 0xf4e44cbf // vld1.32 {d20[]-d21[]}, [r4 :32] .long 0xf2424c72 // vfma.f32 q10, q1, q9 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe2832010 // add r2, r3, #16 .long 0xf2404c72 // vfma.f32 q10, q0, q9 .long 0xf4e22cbf // vld1.32 {d18[]-d19[]}, [r2 :32] .long 0xe2832004 // add r2, r3, #4 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xe2832008 // add r2, r3, #8 .long 0xf4e2acbf // vld1.32 {d26[]-d27[]}, [r2 :32] .long 0xe2832014 // add r2, r3, #20 .long 0xf242ac76 // vfma.f32 q13, q1, q11 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xe283200c // add r2, r3, #12 .long 0xf2426c72 // vfma.f32 q11, q1, q9 .long 0xf3fb8564 // vrecpe.f32 q12, q10 .long 0xf240ac70 // vfma.f32 q13, q0, q8 .long 0xf2442ff8 // vrecps.f32 q9, q10, q12 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xf2406c74 // vfma.f32 q11, q0, q10 .long 0xf3480df2 // vmul.f32 q8, q12, q9 .long 0xf30a0df0 // vmul.f32 q0, q13, q8 .long 0xf3062df0 // vmul.f32 q1, q11, q8 .long 0xe8bd4010 // pop {r4, 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 0xed2d8b10 // vpush {d8-d15} .long 0xe24dd010 // sub sp, sp, #16 .long 0xe58d0008 // str r0, [sp, #8] .long 0xe2810004 // add r0, r1, #4 .long 0xe58d000c // str r0, [sp, #12] .long 0xe1a0c001 // mov ip, r1 .long 0xe49c7008 // ldr r7, [ip], #8 .long 0xf2600150 // vorr q8, q0, q0 .long 0xe8974204 // ldm r7, {r2, r9, lr} .long 0xe2422001 // sub r2, r2, #1 .long 0xe5970010 // ldr r0, [r7, #16] .long 0xe597b020 // ldr fp, [r7, #32] .long 0xeea22b90 // vdup.32 q9, r2 .long 0xe597800c // ldr r8, [r7, #12] .long 0xf3fb26e2 // vcvt.f32.u32 q9, q9 .long 0xf3422df0 // vmul.f32 q9, q9, q8 .long 0xf3fb2762 // vcvt.s32.f32 q9, q9 .long 0xee333b90 // vmov.32 r3, d19[1] .long 0xee134b90 // vmov.32 r4, d19[0] .long 0xe0802103 // add r2, r0, r3, lsl #2 .long 0xedd2ba00 // vldr s23, [r2] .long 0xe0802104 // add r2, r0, r4, lsl #2 .long 0xed92ba00 // vldr s22, [r2] .long 0xee322b90 // vmov.32 r2, d18[1] .long 0xe0805102 // add r5, r0, r2, lsl #2 .long 0xedd5aa00 // vldr s21, [r5] .long 0xee125b90 // vmov.32 r5, d18[0] .long 0xe0800105 // add r0, r0, r5, lsl #2 .long 0xed90aa00 // vldr s20, [r0] .long 0xe08b0103 // add r0, fp, r3, lsl #2 .long 0xedd07a00 // vldr s15, [r0] .long 0xe08b0104 // add r0, fp, r4, lsl #2 .long 0xed907a00 // vldr s14, [r0] .long 0xe0880103 // add r0, r8, r3, lsl #2 .long 0xedd0da00 // vldr s27, [r0] .long 0xe0880104 // add r0, r8, r4, lsl #2 .long 0xed90da00 // vldr s26, [r0] .long 0xe0880102 // add r0, r8, r2, lsl #2 .long 0xedd0ca00 // vldr s25, [r0] .long 0xe0880105 // add r0, r8, r5, lsl #2 .long 0xed90ca00 // vldr s24, [r0] .long 0xe597001c // ldr r0, [r7, #28] .long 0xe0806103 // add r6, r0, r3, lsl #2 .long 0xe080a104 // add sl, r0, r4, lsl #2 .long 0xedd65a00 // vldr s11, [r6] .long 0xe0806105 // add r6, r0, r5, lsl #2 .long 0xe58d6004 // str r6, [sp, #4] .long 0xe0806102 // add r6, r0, r2, lsl #2 .long 0xe58d6000 // str r6, [sp] .long 0xe5970018 // ldr r0, [r7, #24] .long 0xed9a5a00 // vldr s10, [sl] .long 0xe0808103 // add r8, r0, r3, lsl #2 .long 0xe0806104 // add r6, r0, r4, lsl #2 .long 0xedd83a00 // vldr s7, [r8] .long 0xed963a00 // vldr s6, [r6] .long 0xe0806102 // add r6, r0, r2, lsl #2 .long 0xe0800105 // add r0, r0, r5, lsl #2 .long 0xedd62a00 // vldr s5, [r6] .long 0xe5976014 // ldr r6, [r7, #20] .long 0xed902a00 // vldr s4, [r0] .long 0xe0867103 // add r7, r6, r3, lsl #2 .long 0xe59d0000 // ldr r0, [sp] .long 0xedd79a00 // vldr s19, [r7] .long 0xe0867104 // add r7, r6, r4, lsl #2 .long 0xedd04a00 // vldr s9, [r0] .long 0xed979a00 // vldr s18, [r7] .long 0xe08e7103 // add r7, lr, r3, lsl #2 .long 0xe0893103 // add r3, r9, r3, lsl #2 .long 0xe59d0004 // ldr r0, [sp, #4] .long 0xedd71a00 // vldr s3, [r7] .long 0xe08e7105 // add r7, lr, r5, lsl #2 .long 0xedd3fa00 // vldr s31, [r3] .long 0xe0893104 // add r3, r9, r4, lsl #2 .long 0xed904a00 // vldr s8, [r0] .long 0xe08b0102 // add r0, fp, r2, lsl #2 .long 0xed93fa00 // vldr s30, [r3] .long 0xe0893102 // add r3, r9, r2, lsl #2 .long 0xedd06a00 // vldr s13, [r0] .long 0xf2004cdc // vfma.f32 q2, q8, q6 .long 0xedd3ea00 // vldr s29, [r3] .long 0xe0893105 // add r3, r9, r5, lsl #2 .long 0xe59d0008 // ldr r0, [sp, #8] .long 0xed93ea00 // vldr s28, [r3] .long 0xe0863102 // add r3, r6, r2, lsl #2 .long 0xedd38a00 // vldr s17, [r3] .long 0xe0863105 // add r3, r6, r5, lsl #2 .long 0xed938a00 // vldr s16, [r3] .long 0xe08e3104 // add r3, lr, r4, lsl #2 .long 0xf2008cde // vfma.f32 q4, q8, q7 .long 0xed931a00 // vldr s2, [r3] .long 0xe08e3102 // add r3, lr, r2, lsl #2 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xedd30a00 // vldr s1, [r3] .long 0xe08b3105 // add r3, fp, r5, lsl #2 .long 0xed936a00 // vldr s12, [r3] .long 0xed970a00 // vldr s0, [r7] .long 0xf2006cda // vfma.f32 q3, q8, q5 .long 0xf2002cd0 // vfma.f32 q1, q8, q0 .long 0xf2280158 // vorr q0, q4, q4 .long 0xe28dd010 // add sp, sp, #16 .long 0xecbd8b10 // vpop {d8-d15} .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4ff0 // pop {r4, r5, r6, r7, r8, r9, sl, fp, lr} .long 0xe12fff12 // bx r2 .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 0xe28f2048 // add r2, pc, #72 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe28f2050 // add r2, pc, #80 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe28f2058 // add r2, pc, #88 .long 0xf2462c70 // vfma.f32 q9, q3, q8 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xe28f205c // add r2, pc, #92 .long 0xf2460c72 // vfma.f32 q8, q3, q9 .long 0xf4622acf // vld1.64 {d18-d19}, [r2] .long 0xe28f2060 // add r2, pc, #96 .long 0xf4220acf // vld1.64 {d0-d1}, [r2] .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2462c70 // vfma.f32 q9, q3, q8 .long 0xf2060c72 // vfma.f32 q0, q3, q9 .long 0xf2202150 // vorr q1, q0, q0 .long 0xf2204150 // vorr q2, q0, q0 .long 0xf2206150 // vorr q3, q0, q0 .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} .long 0xc011102d // .word 0xc011102d .long 0xc011102d // .word 0xc011102d .long 0xc011102d // .word 0xc011102d .long 0xc011102d // .word 0xc011102d .long 0x40397812 // .word 0x40397812 .long 0x40397812 // .word 0x40397812 .long 0x40397812 // .word 0x40397812 .long 0x40397812 // .word 0x40397812 .long 0x3e5a9420 // .word 0x3e5a9420 .long 0x3e5a9420 // .word 0x3e5a9420 .long 0x3e5a9420 // .word 0x3e5a9420 .long 0x3e5a9420 // .word 0x3e5a9420 .long 0x3e1e9d04 // .word 0x3e1e9d04 .long 0x3e1e9d04 // .word 0x3e1e9d04 .long 0x3e1e9d04 // .word 0x3e1e9d04 .long 0x3e1e9d04 // .word 0x3e1e9d04 .long 0x39a11800 // .word 0x39a11800 .long 0x39a11800 // .word 0x39a11800 .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 0xed2d8b10 // vpush {d8-d15} .long 0xe24dd008 // sub sp, sp, #8 .long 0xe2812004 // add r2, r1, #4 .long 0xe58d2004 // str r2, [sp, #4] .long 0xe5913000 // ldr r3, [r1] .long 0xf2606150 // vorr q11, q0, q0 .long 0xf2c02050 // vmov.i32 q9, #0 .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xe5931000 // ldr r1, [r3] .long 0xe3510002 // cmp r1, #2 .long 0x3a00000a // bcc 61c8 .long 0xe5932024 // ldr r2, [r3, #36] .long 0xf2c04051 // vmov.i32 q10, #1 .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xe2411001 // sub r1, r1, #1 .long 0xe2822004 // add r2, r2, #4 .long 0xf4e28cbd // vld1.32 {d24[]-d25[]}, [r2 :32]! .long 0xe2511001 // subs r1, r1, #1 .long 0xf3468ee8 // vcge.f32 q12, q11, q12 .long 0xf35481f2 // vbsl q12, q10, q9 .long 0xf26008e8 // vadd.i32 q8, q8, q12 .long 0x1afffff9 // bne 61b0 .long 0xee317b90 // vmov.32 r7, d17[1] .long 0xe9934400 // ldmib r3, {sl, lr} .long 0xee111b90 // vmov.32 r1, d17[0] .long 0xe5935010 // ldr r5, [r3, #16] .long 0xe593c020 // ldr ip, [r3, #32] .long 0xe593600c // ldr r6, [r3, #12] .long 0xe593b01c // ldr fp, [r3, #28] .long 0xe0852107 // add r2, r5, r7, lsl #2 .long 0xedd2ba00 // vldr s23, [r2] .long 0xe0852101 // add r2, r5, r1, lsl #2 .long 0xed92ba00 // vldr s22, [r2] .long 0xee302b90 // vmov.32 r2, d16[1] .long 0xe0854102 // add r4, r5, r2, lsl #2 .long 0xedd4aa00 // vldr s21, [r4] .long 0xee104b90 // vmov.32 r4, d16[0] .long 0xe0855104 // add r5, r5, r4, lsl #2 .long 0xed95aa00 // vldr s20, [r5] .long 0xe08c5107 // add r5, ip, r7, lsl #2 .long 0xedd57a00 // vldr s15, [r5] .long 0xe08c5101 // add r5, ip, r1, lsl #2 .long 0xed957a00 // vldr s14, [r5] .long 0xe0865107 // add r5, r6, r7, lsl #2 .long 0xedd5da00 // vldr s27, [r5] .long 0xe0865101 // add r5, r6, r1, lsl #2 .long 0xed95da00 // vldr s26, [r5] .long 0xe0865102 // add r5, r6, r2, lsl #2 .long 0xedd5ca00 // vldr s25, [r5] .long 0xe0865104 // add r5, r6, r4, lsl #2 .long 0xed95ca00 // vldr s24, [r5] .long 0xe08b5107 // add r5, fp, r7, lsl #2 .long 0xedd55a00 // vldr s11, [r5] .long 0xe5935018 // ldr r5, [r3, #24] .long 0xe5933014 // ldr r3, [r3, #20] .long 0xe0856107 // add r6, r5, r7, lsl #2 .long 0xe0858104 // add r8, r5, r4, lsl #2 .long 0xe0859102 // add r9, r5, r2, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xe0856101 // add r6, r5, r1, lsl #2 .long 0xe08e5107 // add r5, lr, r7, lsl #2 .long 0xed963a00 // vldr s6, [r6] .long 0xe08a6101 // add r6, sl, r1, lsl #2 .long 0xedd5fa00 // vldr s31, [r5] .long 0xe08e5101 // add r5, lr, r1, lsl #2 .long 0xedd92a00 // vldr s5, [r9] .long 0xed95fa00 // vldr s30, [r5] .long 0xe0835107 // add r5, r3, r7, lsl #2 .long 0xed982a00 // vldr s4, [r8] .long 0xedd59a00 // vldr s19, [r5] .long 0xe0835101 // add r5, r3, r1, lsl #2 .long 0xe08b1101 // add r1, fp, r1, lsl #2 .long 0xed959a00 // vldr s18, [r5] .long 0xe0835102 // add r5, r3, r2, lsl #2 .long 0xe0833104 // add r3, r3, r4, lsl #2 .long 0xed915a00 // vldr s10, [r1] .long 0xedd58a00 // vldr s17, [r5] .long 0xe08a5107 // add r5, sl, r7, lsl #2 .long 0xe08e7104 // add r7, lr, r4, lsl #2 .long 0xe08c1102 // add r1, ip, r2, lsl #2 .long 0xedd51a00 // vldr s3, [r5] .long 0xe08e5102 // add r5, lr, r2, lsl #2 .long 0xed938a00 // vldr s16, [r3] .long 0xe08c3104 // add r3, ip, r4, lsl #2 .long 0xed961a00 // vldr s2, [r6] .long 0xe08a6102 // add r6, sl, r2, lsl #2 .long 0xedd5ea00 // vldr s29, [r5] .long 0xe08b5104 // add r5, fp, r4, lsl #2 .long 0xedd60a00 // vldr s1, [r6] .long 0xe08a6104 // add r6, sl, r4, lsl #2 .long 0xed97ea00 // vldr s28, [r7] .long 0xe08b7102 // add r7, fp, r2, lsl #2 .long 0xed960a00 // vldr s0, [r6] .long 0xedd16a00 // vldr s13, [r1] .long 0xf2062cde // vfma.f32 q1, q11, q7 .long 0xedd74a00 // vldr s9, [r7] .long 0xf2068cd0 // vfma.f32 q4, q11, q0 .long 0xe59d1004 // ldr r1, [sp, #4] .long 0xed954a00 // vldr s8, [r5] .long 0xed936a00 // vldr s12, [r3] .long 0xf2064cdc // vfma.f32 q2, q11, q6 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2066cda // vfma.f32 q3, q11, q5 .long 0xf2280158 // vorr q0, q4, q4 .long 0xe28dd008 // add sp, sp, #8 .long 0xecbd8b10 // vpop {d8-d15} .long 0xe28dd004 // add sp, sp, #4 .long 0xe8bd4ff0 // pop {r4, r5, r6, r7, r8, r9, sl, fp, lr} .long 0xe12fff12 // bx r2 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 0xe92d4010 // push {r4, lr} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xe3a0e014 // mov lr, #20 .long 0xe2811008 // add r1, r1, #8 .long 0xe2832004 // add r2, r3, #4 .long 0xe1a04003 // mov r4, r3 .long 0xf4e24cbf // vld1.32 {d20[]-d21[]}, [r2 :32] .long 0xe283200c // add r2, r3, #12 .long 0xf4e26cbf // vld1.32 {d22[]-d23[]}, [r2 :32] .long 0xe2832008 // add r2, r3, #8 .long 0xf4e28cbf // vld1.32 {d24[]-d25[]}, [r2 :32] .long 0xe2832010 // add r2, r3, #16 .long 0xf4e42cbe // vld1.32 {d18[]-d19[]}, [r4 :32], lr .long 0xf4e20cbf // vld1.32 {d16[]-d17[]}, [r2 :32] .long 0xe2832018 // add r2, r3, #24 .long 0xf2400c72 // vfma.f32 q8, q0, q9 .long 0xf4a24cbf // vld1.32 {d4[]-d5[]}, [r2 :32] .long 0xe283201c // add r2, r3, #28 .long 0xf2004c78 // vfma.f32 q2, q0, q12 .long 0xf4a26cbf // vld1.32 {d6[]-d7[]}, [r2 :32] .long 0xf2006c76 // vfma.f32 q3, q0, q11 .long 0xf4a42cbf // vld1.32 {d2[]-d3[]}, [r4 :32] .long 0xf2002c74 // vfma.f32 q1, q0, q10 .long 0xf22001f0 // vorr q0, q8, q8 .long 0xe8bd4010 // pop {r4, 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 0xed2d8b0c // vpush {d8-d13} .long 0xf3f90742 // vabs.f32 q8, q1 .long 0xe28f20a0 // add r2, pc, #160 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f20a8 // add r2, pc, #168 .long 0xf3f92740 // vabs.f32 q9, q0 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe28f20ac // add r2, pc, #172 .long 0xf202afe0 // vmax.f32 q5, q9, q8 .long 0xf222cfe0 // vmin.f32 q6, q9, q8 .long 0xf3600ee2 // vcgt.f32 q8, q8, q9 .long 0xeecd9aab // vdiv.f32 s19, s27, s23 .long 0xee8d9a0b // vdiv.f32 s18, s26, s22 .long 0xeecc8aaa // vdiv.f32 s17, s25, s21 .long 0xee8c8a0a // vdiv.f32 s16, s24, s20 .long 0xf3484d58 // vmul.f32 q10, q4, q4 .long 0xf2448cf6 // vfma.f32 q12, q10, q11 .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xe28f2090 // add r2, pc, #144 .long 0xf2446cf8 // vfma.f32 q11, q10, q12 .long 0xf4628acf // vld1.64 {d24-d25}, [r2] .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2448cf6 // vfma.f32 q12, q10, q11 .long 0xf2c56f50 // vmov.f32 q11, #0.25 .long 0xf3484d78 // vmul.f32 q10, q4, q12 .long 0xf2662de4 // vsub.f32 q9, q11, q10 .long 0xf35201f4 // vbsl q8, q9, q10 .long 0xf3f94640 // vclt.f32 q10, q0, #0 .long 0xf2c3265f // vmov.i32 q9, #1056964608 .long 0xf2622de0 // vsub.f32 q9, q9, q8 .long 0xf35241f0 // vbsl q10, q9, q8 .long 0xf3f92642 // vclt.f32 q9, q1, #0 .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xf2600de4 // vsub.f32 q8, q8, q10 .long 0xf35021f4 // vbsl q9, q8, q10 .long 0xf2c00050 // vmov.i32 q8, #0 .long 0xf3424ee0 // vcge.f32 q10, q9, q8 .long 0xf3606ee2 // vcgt.f32 q11, q8, q9 .long 0xf26641f4 // vorr q10, q11, q10 .long 0xf3b005e4 // vmvn q0, q10 .long 0xf31001f2 // vbsl q0, q8, q9 .long 0xecbd8b0c // vpop {d8-d13} .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} .long 0xbbe72b6f // .word 0xbbe72b6f .long 0xbbe72b6f // .word 0xbbe72b6f .long 0xbbe72b6f // .word 0xbbe72b6f .long 0xbbe72b6f // .word 0xbbe72b6f .long 0x3ccad79f // .word 0x3ccad79f .long 0x3ccad79f // .word 0x3ccad79f .long 0x3ccad79f // .word 0x3ccad79f .long 0x3ccad79f // .word 0x3ccad79f .long 0xbd5464d4 // .word 0xbd5464d4 .long 0xbd5464d4 // .word 0xbd5464d4 .long 0xbd5464d4 // .word 0xbd5464d4 .long 0xbd5464d4 // .word 0xbd5464d4 .long 0x3e22f0a9 // .word 0x3e22f0a9 .long 0x3e22f0a9 // .word 0x3e22f0a9 .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 0xf3400d50 // vmul.f32 q8, q0, q0 .long 0xe4912004 // ldr r2, [r1], #4 .long 0xf2420c52 // vfma.f32 q8, q1, q1 .long 0xf3fb25e0 // vrsqrte.f32 q9, q8 .long 0xf3424df2 // vmul.f32 q10, q9, q9 .long 0xf2604ff4 // vrsqrts.f32 q10, q8, q10 .long 0xf3422df4 // vmul.f32 q9, q9, q10 .long 0xf3424df2 // vmul.f32 q10, q9, q9 .long 0xf2604ff4 // vrsqrts.f32 q10, q8, q10 .long 0xf3422df4 // vmul.f32 q9, q9, q10 .long 0xf3000df2 // vmul.f32 q0, q8, q9 .long 0xe12fff12 // bx r2 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 0xed2d8b04 // vpush {d8-d9} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xf3400d50 // vmul.f32 q8, q0, q0 .long 0xf3c14f50 // vmov.f32 q10, #-4 .long 0xe2832020 // add r2, r3, #32 .long 0xe2811008 // add r1, r1, #8 .long 0xed938a0a // vldr s16, [r3, #40] .long 0xed939a0b // vldr s18, [r3, #44] .long 0xf2420c52 // vfma.f32 q8, q1, q1 .long 0xf4e28cbf // vld1.32 {d24[]-d25[]}, [r2 :32] .long 0xe2832024 // add r2, r3, #36 .long 0xee299a08 // vmul.f32 s18, s18, s16 .long 0xee288a08 // vmul.f32 s16, s16, s16 .long 0xf3484df4 // vmul.f32 q10, q12, q10 .long 0xf4e28cbf // vld1.32 {d24[]-d25[]}, [r2 :32] .long 0xf3f42c49 // vdup.32 q9, d9[0] .long 0xf3f46c48 // vdup.32 q11, d8[0] .long 0xf2422dc0 // vadd.f32 q9, q9, q0 .long 0xf2600de6 // vsub.f32 q8, q8, q11 .long 0xf3c46650 // vmov.i32 q11, #-1073741824 .long 0xf3422df6 // vmul.f32 q9, q9, q11 .long 0xf3440df0 // vmul.f32 q8, q10, q8 .long 0xf2420cf2 // vfma.f32 q8, q9, q9 .long 0xf3fb45e0 // vrsqrte.f32 q10, q8 .long 0xf3446df4 // vmul.f32 q11, q10, q10 .long 0xf2606ff6 // vrsqrts.f32 q11, q8, q11 .long 0xf3444df6 // vmul.f32 q10, q10, q11 .long 0xf3446df4 // vmul.f32 q11, q10, q10 .long 0xf2606ff6 // vrsqrts.f32 q11, q8, q11 .long 0xf3444df6 // vmul.f32 q10, q10, q11 .long 0xf3f967e2 // vneg.f32 q11, q9 .long 0xf3440df0 // vmul.f32 q8, q10, q8 .long 0xf2c3465f // vmov.i32 q10, #1056964608 .long 0xf3484df4 // vmul.f32 q10, q12, q10 .long 0xf2666de0 // vsub.f32 q11, q11, q8 .long 0xf2600de2 // vsub.f32 q8, q8, q9 .long 0xf3442df6 // vmul.f32 q9, q10, q11 .long 0xf3440df0 // vmul.f32 q8, q10, q8 .long 0xf2000fe2 // vmax.f32 q0, q8, q9 .long 0xecbd8b04 // vpop {d8-d9} .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 0xed2d8b04 // vpush {d8-d9} .long 0xe8911008 // ldm r1, {r3, ip} .long 0xf3400d50 // vmul.f32 q8, q0, q0 .long 0xf3c14f50 // vmov.f32 q10, #-4 .long 0xe2832020 // add r2, r3, #32 .long 0xe2811008 // add r1, r1, #8 .long 0xed938a0a // vldr s16, [r3, #40] .long 0xed939a0b // vldr s18, [r3, #44] .long 0xf2420c52 // vfma.f32 q8, q1, q1 .long 0xf4e28cbf // vld1.32 {d24[]-d25[]}, [r2 :32] .long 0xe2832024 // add r2, r3, #36 .long 0xee299a08 // vmul.f32 s18, s18, s16 .long 0xee288a08 // vmul.f32 s16, s16, s16 .long 0xf3484df4 // vmul.f32 q10, q12, q10 .long 0xf4e28cbf // vld1.32 {d24[]-d25[]}, [r2 :32] .long 0xf3f42c49 // vdup.32 q9, d9[0] .long 0xf3f46c48 // vdup.32 q11, d8[0] .long 0xf2422dc0 // vadd.f32 q9, q9, q0 .long 0xf2600de6 // vsub.f32 q8, q8, q11 .long 0xf3c46650 // vmov.i32 q11, #-1073741824 .long 0xf3422df6 // vmul.f32 q9, q9, q11 .long 0xf3440df0 // vmul.f32 q8, q10, q8 .long 0xf2420cf2 // vfma.f32 q8, q9, q9 .long 0xf3fb45e0 // vrsqrte.f32 q10, q8 .long 0xf3446df4 // vmul.f32 q11, q10, q10 .long 0xf2606ff6 // vrsqrts.f32 q11, q8, q11 .long 0xf3444df6 // vmul.f32 q10, q10, q11 .long 0xf3446df4 // vmul.f32 q11, q10, q10 .long 0xf2606ff6 // vrsqrts.f32 q11, q8, q11 .long 0xf3444df6 // vmul.f32 q10, q10, q11 .long 0xf3f967e2 // vneg.f32 q11, q9 .long 0xf3440df0 // vmul.f32 q8, q10, q8 .long 0xf2c3465f // vmov.i32 q10, #1056964608 .long 0xf3484df4 // vmul.f32 q10, q12, q10 .long 0xf2666de0 // vsub.f32 q11, q11, q8 .long 0xf2600de2 // vsub.f32 q8, q8, q9 .long 0xf3442df6 // vmul.f32 q9, q10, q11 .long 0xf3440df0 // vmul.f32 q8, q10, q8 .long 0xf2200fe2 // vmin.f32 q0, q8, q9 .long 0xecbd8b04 // vpop {d8-d9} .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 0xed2d8b08 // vpush {d8-d11} .long 0xe5913000 // ldr r3, [r1] .long 0xf3400d50 // vmul.f32 q8, q0, q0 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xed938a0a // vldr s16, [r3, #40] .long 0xed939a0b // vldr s18, [r3, #44] .long 0xf2420c52 // vfma.f32 q8, q1, q1 .long 0xee28aa08 // vmul.f32 s20, s16, s16 .long 0xee298a08 // vmul.f32 s16, s18, s16 .long 0xf3f42c4a // vdup.32 q9, d10[0] .long 0xf3f44c48 // vdup.32 q10, d8[0] .long 0xf2600de2 // vsub.f32 q8, q8, q9 .long 0xf2442dc0 // vadd.f32 q9, q10, q0 .long 0xf3c44650 // vmov.i32 q10, #-1073741824 .long 0xf3b987e0 // vneg.f32 q4, q8 .long 0xf302adf4 // vmul.f32 q5, q9, q10 .long 0xeec91aab // vdiv.f32 s3, s19, s23 .long 0xee891a0b // vdiv.f32 s2, s18, s22 .long 0xeec80aaa // vdiv.f32 s1, s17, s21 .long 0xee880a0a // vdiv.f32 s0, s16, s20 .long 0xecbd8b08 // vpop {d8-d11} .long 0xe12fff12 // bx r2 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 0xf2c00050 // vmov.i32 q8, #0 .long 0xe5912000 // ldr r2, [r1] .long 0xf3402e60 // vcge.f32 q9, q0, q8 .long 0xe282302c // add r3, r2, #44 .long 0xf3600ec0 // vcgt.f32 q8, q8, q0 .long 0xf4e34cbf // vld1.32 {d20[]-d21[]}, [r3 :32] .long 0xe2823028 // add r3, r2, #40 .long 0xf4e36cbf // vld1.32 {d22[]-d23[]}, [r3 :32] .long 0xf2406c74 // vfma.f32 q11, q0, q10 .long 0xf26001f2 // vorr q8, q8, q9 .long 0xf3f924e6 // vcge.f32 q9, q11, #0 .long 0xf3f62222 // vmovn.i32 d18, q9 .long 0xf3f60220 // vmovn.i32 d16, q8 .long 0xf24201b0 // vand d16, d18, d16 .long 0xf2c1205f // vmov.i32 q9, #31 .long 0xf3d00a30 // vmovl.u16 q8, d16 .long 0xf3f923e2 // vneg.s32 q9, q9 .long 0xf2ff0570 // vshl.s32 q8, q8, #31 .long 0xf26204e0 // vshl.s32 q8, q8, q9 .long 0xf4420a8f // vst1.32 {d16-d17}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe12fff13 // bx r3 HIDDEN _sk_apply_vector_mask_vfp4 .globl _sk_apply_vector_mask_vfp4 FUNCTION(_sk_apply_vector_mask_vfp4) _sk_apply_vector_mask_vfp4: .long 0xe5913000 // ldr r3, [r1] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xf4630a8f // vld1.32 {d16-d17}, [r3] .long 0xf20001d0 // vand q0, q8, q0 .long 0xf20021d2 // vand q1, q8, q1 .long 0xf20041d4 // vand q2, q8, q2 .long 0xf20061d6 // vand q3, q8, q3 .long 0xe12fff12 // bx r2 HIDDEN _sk_save_xy_vfp4 .globl _sk_save_xy_vfp4 FUNCTION(_sk_save_xy_vfp4) _sk_save_xy_vfp4: .long 0xf2c3065f // vmov.i32 q8, #1056964608 .long 0xe28f206c // add r2, pc, #108 .long 0xf462cacf // vld1.64 {d28-d29}, [r2] .long 0xf2c0a050 // vmov.i32 q13, #0 .long 0xf2402d60 // vadd.f32 q9, q0, q8 .long 0xe5912000 // ldr r2, [r1] .long 0xf2420d60 // vadd.f32 q8, q1, q8 .long 0xe2823020 // add r3, r2, #32 .long 0xf3fb4762 // vcvt.s32.f32 q10, q9 .long 0xf4032a8f // vst1.32 {d2-d3}, [r3] .long 0xe2823040 // add r3, r2, #64 .long 0xf3fb6760 // vcvt.s32.f32 q11, q8 .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xf3fb6666 // vcvt.f32.s32 q11, q11 .long 0xf3648ee2 // vcgt.f32 q12, q10, q9 .long 0xf366eee0 // vcgt.f32 q15, q11, q8 .long 0xf35c81fa // vbsl q12, q14, q13 .long 0xf35ce1fa // vbsl q15, q14, q13 .long 0xf2644de8 // vsub.f32 q10, q10, q12 .long 0xf2666dee // vsub.f32 q11, q11, q15 .long 0xf2622de4 // vsub.f32 q9, q9, q10 .long 0xf2600de6 // vsub.f32 q8, q8, q11 .long 0xf4432a8f // vst1.32 {d18-d19}, [r3] .long 0xe3a03060 // mov r3, #96 .long 0xf4020a83 // vst1.32 {d0-d1}, [r2], r3 .long 0xf4420a8f // vst1.32 {d16-d17}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe12fff13 // bx r3 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .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 0xe5912000 // ldr r2, [r1] .long 0xe280e020 // add lr, r0, #32 .long 0xe280c010 // add ip, r0, #16 .long 0xf46e4acf // vld1.64 {d20-d21}, [lr] .long 0xe28230a0 // add r3, r2, #160 .long 0xe2822080 // add r2, r2, #128 .long 0xf4630a8f // vld1.32 {d16-d17}, [r3] .long 0xe2803040 // add r3, r0, #64 .long 0xf4622a8f // vld1.32 {d18-d19}, [r2] .long 0xe2802030 // add r2, r0, #48 .long 0xf3420df0 // vmul.f32 q8, q9, q8 .long 0xf46c2acf // vld1.64 {d18-d19}, [ip] .long 0xf4626acf // vld1.64 {d22-d23}, [r2] .long 0xf4638acf // vld1.64 {d24-d25}, [r3] .long 0xf2402cd0 // vfma.f32 q9, q8, q0 .long 0xf2404cd2 // vfma.f32 q10, q8, q1 .long 0xf2406cd4 // vfma.f32 q11, q8, q2 .long 0xf2408cd6 // vfma.f32 q12, q8, q3 .long 0xf44c2acf // vst1.64 {d18-d19}, [ip] .long 0xf44e4acf // vst1.64 {d20-d21}, [lr] .long 0xf4426acf // vst1.64 {d22-d23}, [r2] .long 0xf4438acf // vst1.64 {d24-d25}, [r3] .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe2811008 // add r1, r1, #8 .long 0xe8bd4800 // pop {fp, lr} .long 0xe12fff12 // bx r2 HIDDEN _sk_bilinear_nx_vfp4 .globl _sk_bilinear_nx_vfp4 FUNCTION(_sk_bilinear_nx_vfp4) _sk_bilinear_nx_vfp4: .long 0xe5912000 // ldr r2, [r1] .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xe2823040 // add r3, r2, #64 .long 0xf4632a8f // vld1.32 {d18-d19}, [r3] .long 0xe3a03080 // mov r3, #128 .long 0xf2600de2 // vsub.f32 q8, q8, q9 .long 0xf4624a83 // vld1.32 {d20-d21}, [r2], r3 .long 0xf3c3265f // vmov.i32 q9, #-1090519040 .long 0xf2040de2 // vadd.f32 q0, q10, q9 .long 0xf4420a8f // vst1.32 {d16-d17}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe12fff13 // bx r3 HIDDEN _sk_bilinear_px_vfp4 .globl _sk_bilinear_px_vfp4 FUNCTION(_sk_bilinear_px_vfp4) _sk_bilinear_px_vfp4: .long 0xe5912000 // ldr r2, [r1] .long 0xe3a0c080 // mov ip, #128 .long 0xf2c3265f // vmov.i32 q9, #1056964608 .long 0xe2823040 // add r3, r2, #64 .long 0xf4620a8c // vld1.32 {d16-d17}, [r2], ip .long 0xf2000de2 // vadd.f32 q0, q8, q9 .long 0xf4634a8f // vld1.32 {d20-d21}, [r3] .long 0xf4424a8f // vst1.32 {d20-d21}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe12fff13 // bx r3 HIDDEN _sk_bilinear_ny_vfp4 .globl _sk_bilinear_ny_vfp4 FUNCTION(_sk_bilinear_ny_vfp4) _sk_bilinear_ny_vfp4: .long 0xe5912000 // ldr r2, [r1] .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xe2823060 // add r3, r2, #96 .long 0xf4632a8f // vld1.32 {d18-d19}, [r3] .long 0xe2823020 // add r3, r2, #32 .long 0xf2600de2 // vsub.f32 q8, q8, q9 .long 0xe28220a0 // add r2, r2, #160 .long 0xf4634a8f // vld1.32 {d20-d21}, [r3] .long 0xf3c3265f // vmov.i32 q9, #-1090519040 .long 0xf2042de2 // vadd.f32 q1, q10, q9 .long 0xf4420a8f // vst1.32 {d16-d17}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe12fff13 // bx r3 HIDDEN _sk_bilinear_py_vfp4 .globl _sk_bilinear_py_vfp4 FUNCTION(_sk_bilinear_py_vfp4) _sk_bilinear_py_vfp4: .long 0xe5912000 // ldr r2, [r1] .long 0xf2c3265f // vmov.i32 q9, #1056964608 .long 0xe2823060 // add r3, r2, #96 .long 0xf4630a8f // vld1.32 {d16-d17}, [r3] .long 0xe2823020 // add r3, r2, #32 .long 0xe28220a0 // add r2, r2, #160 .long 0xf4634a8f // vld1.32 {d20-d21}, [r3] .long 0xf2042de2 // vadd.f32 q1, q10, q9 .long 0xf4420a8f // vst1.32 {d16-d17}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe12fff13 // bx r3 .long 0xe320f000 // nop {0} HIDDEN _sk_bicubic_n3x_vfp4 .globl _sk_bicubic_n3x_vfp4 FUNCTION(_sk_bicubic_n3x_vfp4) _sk_bicubic_n3x_vfp4: .long 0xe5912000 // ldr r2, [r1] .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xe2823040 // add r3, r2, #64 .long 0xf4632a8f // vld1.32 {d18-d19}, [r3] .long 0xe28f3040 // add r3, pc, #64 .long 0xf2600de2 // vsub.f32 q8, q8, q9 .long 0xf4632acf // vld1.64 {d18-d19}, [r3] .long 0xe28f3044 // add r3, pc, #68 .long 0xf4634acf // vld1.64 {d20-d21}, [r3] .long 0xe3a03080 // mov r3, #128 .long 0xf2404cf2 // vfma.f32 q10, q8, q9 .long 0xf3400df0 // vmul.f32 q8, q8, q8 .long 0xf3c72f58 // vmov.f32 q9, #-1.5 .long 0xf3400df4 // vmul.f32 q8, q8, q10 .long 0xf4624a83 // vld1.32 {d20-d21}, [r2], r3 .long 0xf2040de2 // vadd.f32 q0, q10, q9 .long 0xf4420a8f // vst1.32 {d16-d17}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe12fff13 // bx r3 .long 0xe320f000 // nop {0} .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0xbeaaaaab // .word 0xbeaaaaab .long 0xbeaaaaab // .word 0xbeaaaaab .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 0xe5912000 // ldr r2, [r1] .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xe2823040 // add r3, r2, #64 .long 0xf4632a8f // vld1.32 {d18-d19}, [r3] .long 0xe28f3048 // add r3, pc, #72 .long 0xf2600de2 // vsub.f32 q8, q8, q9 .long 0xf4634acf // vld1.64 {d20-d21}, [r3] .long 0xe28f304c // add r3, pc, #76 .long 0xf2c72f58 // vmov.f32 q9, #1.5 .long 0xf2402cf4 // vfma.f32 q9, q8, q10 .long 0xf2c3465f // vmov.i32 q10, #1056964608 .long 0xf2404cf2 // vfma.f32 q10, q8, q9 .long 0xf4632acf // vld1.64 {d18-d19}, [r3] .long 0xe3a03080 // mov r3, #128 .long 0xf2402cf4 // vfma.f32 q9, q8, q10 .long 0xf4624a83 // vld1.32 {d20-d21}, [r2], r3 .long 0xf3c3065f // vmov.i32 q8, #-1090519040 .long 0xf2040de0 // vadd.f32 q0, q10, q8 .long 0xf4422a8f // vst1.32 {d18-d19}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe12fff13 // bx r3 .long 0xe320f000 // nop {0} .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0x3d638e39 // .word 0x3d638e39 .long 0x3d638e39 // .word 0x3d638e39 .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 0xe5912000 // ldr r2, [r1] .long 0xe28f304c // add r3, pc, #76 .long 0xf4630acf // vld1.64 {d16-d17}, [r3] .long 0xf2c72f58 // vmov.f32 q9, #1.5 .long 0xe2823040 // add r3, r2, #64 .long 0xf2c3665f // vmov.i32 q11, #1056964608 .long 0xf4634a8f // vld1.32 {d20-d21}, [r3] .long 0xe28f3044 // add r3, pc, #68 .long 0xf2442cf0 // vfma.f32 q9, q10, q8 .long 0xf2c3065f // vmov.i32 q8, #1056964608 .long 0xf2446cf2 // vfma.f32 q11, q10, q9 .long 0xf4632acf // vld1.64 {d18-d19}, [r3] .long 0xe3a03080 // mov r3, #128 .long 0xf2442cf6 // vfma.f32 q9, q10, q11 .long 0xf4624a83 // vld1.32 {d20-d21}, [r2], r3 .long 0xf2040de0 // vadd.f32 q0, q10, q8 .long 0xf4422a8f // vst1.32 {d18-d19}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe12fff13 // bx r3 .long 0xe320f000 // nop {0} .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0x3d638e39 // .word 0x3d638e39 .long 0x3d638e39 // .word 0x3d638e39 .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 0xe5912000 // ldr r2, [r1] .long 0xe28f3044 // add r3, pc, #68 .long 0xf4630acf // vld1.64 {d16-d17}, [r3] .long 0xe2823040 // add r3, r2, #64 .long 0xf4632a8f // vld1.32 {d18-d19}, [r3] .long 0xe28f3044 // add r3, pc, #68 .long 0xf4634acf // vld1.64 {d20-d21}, [r3] .long 0xe3a03080 // mov r3, #128 .long 0xf2424cf0 // vfma.f32 q10, q9, q8 .long 0xf3420df2 // vmul.f32 q8, q9, q9 .long 0xf2c72f58 // vmov.f32 q9, #1.5 .long 0xf3400df4 // vmul.f32 q8, q8, q10 .long 0xf4624a83 // vld1.32 {d20-d21}, [r2], r3 .long 0xf2040de2 // vadd.f32 q0, q10, q9 .long 0xf4420a8f // vst1.32 {d16-d17}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe12fff13 // bx r3 .long 0xe320f000 // nop {0} .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0xbeaaaaab // .word 0xbeaaaaab .long 0xbeaaaaab // .word 0xbeaaaaab .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 0xe5912000 // ldr r2, [r1] .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xe2823060 // add r3, r2, #96 .long 0xf4632a8f // vld1.32 {d18-d19}, [r3] .long 0xe28f3040 // add r3, pc, #64 .long 0xf2600de2 // vsub.f32 q8, q8, q9 .long 0xf4632acf // vld1.64 {d18-d19}, [r3] .long 0xe28f3044 // add r3, pc, #68 .long 0xf4634acf // vld1.64 {d20-d21}, [r3] .long 0xe2823020 // add r3, r2, #32 .long 0xe28220a0 // add r2, r2, #160 .long 0xf2404cf2 // vfma.f32 q10, q8, q9 .long 0xf3400df0 // vmul.f32 q8, q8, q8 .long 0xf3c72f58 // vmov.f32 q9, #-1.5 .long 0xf3400df4 // vmul.f32 q8, q8, q10 .long 0xf4634a8f // vld1.32 {d20-d21}, [r3] .long 0xf2042de2 // vadd.f32 q1, q10, q9 .long 0xf4420a8f // vst1.32 {d16-d17}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe12fff13 // bx r3 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0xbeaaaaab // .word 0xbeaaaaab .long 0xbeaaaaab // .word 0xbeaaaaab .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 0xe5912000 // ldr r2, [r1] .long 0xf2c70f50 // vmov.f32 q8, #1 .long 0xe2823060 // add r3, r2, #96 .long 0xf4632a8f // vld1.32 {d18-d19}, [r3] .long 0xe28f3048 // add r3, pc, #72 .long 0xf2600de2 // vsub.f32 q8, q8, q9 .long 0xf4634acf // vld1.64 {d20-d21}, [r3] .long 0xe28f304c // add r3, pc, #76 .long 0xf2c72f58 // vmov.f32 q9, #1.5 .long 0xf2402cf4 // vfma.f32 q9, q8, q10 .long 0xf2c3465f // vmov.i32 q10, #1056964608 .long 0xf2404cf2 // vfma.f32 q10, q8, q9 .long 0xf4632acf // vld1.64 {d18-d19}, [r3] .long 0xe2823020 // add r3, r2, #32 .long 0xe28220a0 // add r2, r2, #160 .long 0xf2402cf4 // vfma.f32 q9, q8, q10 .long 0xf4634a8f // vld1.32 {d20-d21}, [r3] .long 0xf3c3065f // vmov.i32 q8, #-1090519040 .long 0xf2042de0 // vadd.f32 q1, q10, q8 .long 0xf4422a8f // vst1.32 {d18-d19}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe12fff13 // bx r3 .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0x3d638e39 // .word 0x3d638e39 .long 0x3d638e39 // .word 0x3d638e39 .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 0xe5912000 // ldr r2, [r1] .long 0xe28f304c // add r3, pc, #76 .long 0xf4630acf // vld1.64 {d16-d17}, [r3] .long 0xf2c72f58 // vmov.f32 q9, #1.5 .long 0xe2823060 // add r3, r2, #96 .long 0xf2c3665f // vmov.i32 q11, #1056964608 .long 0xf4634a8f // vld1.32 {d20-d21}, [r3] .long 0xe28f3044 // add r3, pc, #68 .long 0xf2442cf0 // vfma.f32 q9, q10, q8 .long 0xf2c3065f // vmov.i32 q8, #1056964608 .long 0xf2446cf2 // vfma.f32 q11, q10, q9 .long 0xf4632acf // vld1.64 {d18-d19}, [r3] .long 0xe2823020 // add r3, r2, #32 .long 0xe28220a0 // add r2, r2, #160 .long 0xf2442cf6 // vfma.f32 q9, q10, q11 .long 0xf4634a8f // vld1.32 {d20-d21}, [r3] .long 0xf2042de0 // vadd.f32 q1, q10, q8 .long 0xf4422a8f // vst1.32 {d18-d19}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe12fff13 // bx r3 .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0xbf955555 // .word 0xbf955555 .long 0x3d638e39 // .word 0x3d638e39 .long 0x3d638e39 // .word 0x3d638e39 .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 0xe5912000 // ldr r2, [r1] .long 0xe28f3044 // add r3, pc, #68 .long 0xf4630acf // vld1.64 {d16-d17}, [r3] .long 0xe2823060 // add r3, r2, #96 .long 0xf4632a8f // vld1.32 {d18-d19}, [r3] .long 0xe28f3044 // add r3, pc, #68 .long 0xf4634acf // vld1.64 {d20-d21}, [r3] .long 0xe2823020 // add r3, r2, #32 .long 0xf2424cf0 // vfma.f32 q10, q9, q8 .long 0xe28220a0 // add r2, r2, #160 .long 0xf3420df2 // vmul.f32 q8, q9, q9 .long 0xf2c72f58 // vmov.f32 q9, #1.5 .long 0xf3400df4 // vmul.f32 q8, q8, q10 .long 0xf4634a8f // vld1.32 {d20-d21}, [r3] .long 0xf2042de2 // vadd.f32 q1, q10, q9 .long 0xf4420a8f // vst1.32 {d16-d17}, [r2] .long 0xe2812008 // add r2, r1, #8 .long 0xe5913004 // ldr r3, [r1, #4] .long 0xe1a01002 // mov r1, r2 .long 0xe12fff13 // bx r3 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0x3ec71c72 // .word 0x3ec71c72 .long 0xbeaaaaab // .word 0xbeaaaaab .long 0xbeaaaaab // .word 0xbeaaaaab .long 0xbeaaaaab // .word 0xbeaaaaab .long 0xbeaaaaab // .word 0xbeaaaaab HIDDEN _sk_callback_vfp4 .globl _sk_callback_vfp4 FUNCTION(_sk_callback_vfp4) _sk_callback_vfp4: .long 0xe92d4c70 // push {r4, r5, r6, sl, fp, lr} .long 0xe28db010 // add fp, sp, #16 .long 0xe1a04001 // mov r4, r1 .long 0xe1a05000 // mov r5, r0 .long 0xe5946000 // ldr r6, [r4] .long 0xe5951008 // ldr r1, [r5, #8] .long 0xe2860004 // add r0, r6, #4 .long 0xe3510000 // cmp r1, #0 .long 0xf400018d // vst4.32 {d0,d2,d4,d6}, [r0]! .long 0x03001004 // movweq r1, #4 .long 0xf400118f // vst4.32 {d1,d3,d5,d7}, [r0] .long 0xe1a00006 // mov r0, r6 .long 0xe5962000 // ldr r2, [r6] .long 0xe12fff32 // blx r2 .long 0xe5960084 // ldr r0, [r6, #132] .long 0xe2841008 // add r1, r4, #8 .long 0xf420018d // vld4.32 {d0,d2,d4,d6}, [r0]! .long 0xf420118f // vld4.32 {d1,d3,d5,d7}, [r0] .long 0xe1a00005 // mov r0, r5 .long 0xe5942004 // ldr r2, [r4, #4] .long 0xe8bd4c70 // pop {r4, r5, r6, sl, fp, lr} .long 0xe12fff12 // bx r2 HIDDEN _sk_clut_3D_vfp4 .globl _sk_clut_3D_vfp4 FUNCTION(_sk_clut_3D_vfp4) _sk_clut_3D_vfp4: .long 0xe92d4830 // push {r4, r5, fp, lr} .long 0xed2d8b10 // vpush {d8-d15} .long 0xe24dd0b0 // sub sp, sp, #176 .long 0xe28de070 // add lr, sp, #112 .long 0xe2812004 // add r2, r1, #4 .long 0xe1a0c001 // mov ip, r1 .long 0xec8e6b04 // vstmia lr, {d6-d7} .long 0xe58d20ac // str r2, [sp, #172] .long 0xe49c2008 // ldr r2, [ip], #8 .long 0xe8924008 // ldm r2, {r3, lr} .long 0xe5924008 // ldr r4, [r2, #8] .long 0xe592200c // ldr r2, [r2, #12] .long 0xe2445001 // sub r5, r4, #1 .long 0xeea05b90 // vdup.32 q8, r5 .long 0xe2425001 // sub r5, r2, #1 .long 0xf3fb0660 // vcvt.f32.s32 q8, q8 .long 0xeeac2b90 // vdup.32 q14, r2 .long 0xeea25b90 // vdup.32 q9, r5 .long 0xe24e5001 // sub r5, lr, #1 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xe28de090 // add lr, sp, #144 .long 0xeea45b90 // vdup.32 q10, r5 .long 0xf340edd2 // vmul.f32 q15, q8, q1 .long 0xf22c21fc // vorr q1, q14, q14 .long 0xf3426dd4 // vmul.f32 q11, q9, q2 .long 0xf3fb2664 // vcvt.f32.s32 q9, q10 .long 0xee042b90 // vmov.32 d20[0], r2 .long 0xf3fb076e // vcvt.s32.f32 q8, q15 .long 0xf3fba766 // vcvt.s32.f32 q13, q11 .long 0xecce6b04 // vstmia lr, {d22-d23} .long 0xe28de060 // add lr, sp, #96 .long 0xf3428dd0 // vmul.f32 q12, q9, q0 .long 0xee064b90 // vmov.32 d22[0], r4 .long 0xf22a01fa // vorr q0, q13, q13 .long 0xf22c09e0 // vmla.i32 q0, q14, q8 .long 0xf22649f4 // vmul.i32 q2, q11, q10 .long 0xf26a21fa // vorr q9, q13, q13 .long 0xf260a1f0 // vorr q13, q8, q8 .long 0xf3fb0768 // vcvt.s32.f32 q8, q12 .long 0xecce2b04 // vstmia lr, {d18-d19} .long 0xe28de020 // add lr, sp, #32 .long 0xf260c150 // vorr q14, q0, q0 .long 0xf2c04052 // vmov.i32 q10, #2 .long 0xec8e2b04 // vstmia lr, {d2-d3} .long 0xe28de040 // add lr, sp, #64 .long 0xf2c06053 // vmov.i32 q11, #3 .long 0xf3e0c0c4 // vmla.i32 q14, q8, d4[0] .long 0xf22081f0 // vorr q4, q8, q8 .long 0xf2c00053 // vmov.i32 q8, #3 .long 0xf222a1f2 // vorr q5, q9, q9 .long 0xf26c49e0 // vmla.i32 q10, q14, q8 .long 0xf22ce1fc // vorr q7, q14, q14 .long 0xec8eeb04 // vstmia lr, {d14-d15} .long 0xe28de010 // add lr, sp, #16 .long 0xee355b90 // vmov.32 r5, d21[1] .long 0xee152b90 // vmov.32 r2, d21[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd5da00 // vldr s27, [r5] .long 0xee345b90 // vmov.32 r5, d20[1] .long 0xed92da00 // vldr s26, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee145b90 // vmov.32 r5, d20[0] .long 0xedd2ca00 // vldr s25, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xed92ca00 // vldr s24, [r2] .long 0xe28f2e3f // add r2, pc, #1008 .long 0xf462cacf // vld1.64 {d28-d29}, [r2] .long 0xf2484dec // vadd.f32 q10, q12, q14 .long 0xf3fb0764 // vcvt.s32.f32 q8, q10 .long 0xf2c04052 // vmov.i32 q10, #2 .long 0xf3a000c4 // vmla.i32 q0, q8, d4[0] .long 0xecce0b04 // vstmia lr, {d16-d17} .long 0xe28de030 // add lr, sp, #48 .long 0xf2604966 // vmla.i32 q10, q0, q11 .long 0xf2206150 // vorr q3, q0, q0 .long 0xec8e6b04 // vstmia lr, {d6-d7} .long 0xe28de050 // add lr, sp, #80 .long 0xee355b90 // vmov.32 r5, d21[1] .long 0xee152b90 // vmov.32 r2, d21[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd51a00 // vldr s3, [r5] .long 0xee345b90 // vmov.32 r5, d20[1] .long 0xed921a00 // vldr s2, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee145b90 // vmov.32 r5, d20[0] .long 0xedd20a00 // vldr s1, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xed920a00 // vldr s0, [r2] .long 0xf2604d4c // vsub.f32 q10, q0, q6 .long 0xf3bb0648 // vcvt.f32.s32 q0, q4 .long 0xf2688dc0 // vsub.f32 q12, q12, q0 .long 0xf204ccf8 // vfma.f32 q6, q10, q12 .long 0xf24e4dec // vadd.f32 q10, q15, q14 .long 0xf3fb4764 // vcvt.s32.f32 q10, q10 .long 0xf222a964 // vmla.i32 q5, q1, q10 .long 0xecce4b04 // vstmia lr, {d20-d21} .long 0xe28de080 // add lr, sp, #128 .long 0xf2c04052 // vmov.i32 q10, #2 .long 0xf26a215a // vorr q9, q5, q5 .long 0xf3e82044 // vmla.i32 q9, q4, d4[0] .long 0xf3a0a0c4 // vmla.i32 q5, q8, d4[0] .long 0xf26249e6 // vmla.i32 q10, q9, q11 .long 0xecce2b04 // vstmia lr, {d18-d19} .long 0xe28de080 // add lr, sp, #128 .long 0xee355b90 // vmov.32 r5, d21[1] .long 0xee152b90 // vmov.32 r2, d21[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd53a00 // vldr s7, [r5] .long 0xee345b90 // vmov.32 r5, d20[1] .long 0xed923a00 // vldr s6, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee145b90 // vmov.32 r5, d20[0] .long 0xf2c04052 // vmov.i32 q10, #2 .long 0xf26a4966 // vmla.i32 q10, q5, q11 .long 0xedd22a00 // vldr s5, [r2] .long 0xf2c06051 // vmov.i32 q11, #1 .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee355b90 // vmov.32 r5, d21[1] .long 0xed922a00 // vldr s4, [r2] .long 0xee152b90 // vmov.32 r2, d21[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xedd51a00 // vldr s3, [r5] .long 0xee345b90 // vmov.32 r5, d20[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed921a00 // vldr s2, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee145b90 // vmov.32 r5, d20[0] .long 0xedd20a00 // vldr s1, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xed920a00 // vldr s0, [r2] .long 0xf2604d42 // vsub.f32 q10, q0, q1 .long 0xf3bb066a // vcvt.f32.s32 q0, q13 .long 0xf2042cf8 // vfma.f32 q1, q10, q12 .long 0xf26e0dc0 // vsub.f32 q8, q15, q0 .long 0xf26021f0 // vorr q9, q8, q8 .long 0xf2624d4c // vsub.f32 q10, q1, q6 .long 0xeccd2b04 // vstmia sp, {d18-d19} .long 0xf204ccf0 // vfma.f32 q6, q10, q8 .long 0xf2c00053 // vmov.i32 q8, #3 .long 0xf2c04051 // vmov.i32 q10, #1 .long 0xf26e4960 // vmla.i32 q10, q7, q8 .long 0xf280e053 // vmov.i32 q7, #3 .long 0xee355b90 // vmov.32 r5, d21[1] .long 0xee152b90 // vmov.32 r2, d21[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd53a00 // vldr s7, [r5] .long 0xee345b90 // vmov.32 r5, d20[1] .long 0xed923a00 // vldr s6, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee145b90 // vmov.32 r5, d20[0] .long 0xf2c04051 // vmov.i32 q10, #1 .long 0xf2664960 // vmla.i32 q10, q3, q8 .long 0xedd22a00 // vldr s5, [r2] .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28de090 // add lr, sp, #144 .long 0xf22861f8 // vorr q3, q12, q12 .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee355b90 // vmov.32 r5, d21[1] .long 0xed922a00 // vldr s4, [r2] .long 0xee152b90 // vmov.32 r2, d21[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xedd51a00 // vldr s3, [r5] .long 0xee345b90 // vmov.32 r5, d20[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed921a00 // vldr s2, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee145b90 // vmov.32 r5, d20[0] .long 0xedd20a00 // vldr s1, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xed920a00 // vldr s0, [r2] .long 0xf2604d42 // vsub.f32 q10, q0, q1 .long 0xf2042cf8 // vfma.f32 q1, q10, q12 .long 0xf2c04051 // vmov.i32 q10, #1 .long 0xf26049ce // vmla.i32 q10, q8, q7 .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28de020 // add lr, sp, #32 .long 0xf2c08053 // vmov.i32 q12, #3 .long 0xee355b90 // vmov.32 r5, d21[1] .long 0xee152b90 // vmov.32 r2, d21[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd51a00 // vldr s3, [r5] .long 0xee345b90 // vmov.32 r5, d20[1] .long 0xed921a00 // vldr s2, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee145b90 // vmov.32 r5, d20[0] .long 0xf2c04051 // vmov.i32 q10, #1 .long 0xf26a494e // vmla.i32 q10, q5, q7 .long 0xedd20a00 // vldr s1, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee355b90 // vmov.32 r5, d21[1] .long 0xed920a00 // vldr s0, [r2] .long 0xee152b90 // vmov.32 r2, d21[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xedd5fa00 // vldr s31, [r5] .long 0xee345b90 // vmov.32 r5, d20[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed92fa00 // vldr s30, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee145b90 // vmov.32 r5, d20[0] .long 0xedd2ea00 // vldr s29, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xed92ea00 // vldr s28, [r2] .long 0xf26e4d40 // vsub.f32 q10, q7, q0 .long 0xf2040cd6 // vfma.f32 q0, q10, q3 .long 0xf2604d42 // vsub.f32 q10, q0, q1 .long 0xf2800051 // vmov.i32 q0, #1 .long 0xf2042cf2 // vfma.f32 q1, q10, q9 .long 0xecde2b04 // vldmia lr, {d18-d19} .long 0xe28de010 // add lr, sp, #16 .long 0xf2404dec // vadd.f32 q10, q8, q14 .long 0xf2c00051 // vmov.i32 q8, #1 .long 0xf3fbe764 // vcvt.s32.f32 q15, q10 .long 0xecde4b04 // vldmia lr, {d20-d21} .long 0xe28de050 // add lr, sp, #80 .long 0xf26ec1fe // vorr q14, q15, q15 .long 0xf262c9ea // vmla.i32 q14, q9, q13 .long 0xf268a158 // vorr q13, q4, q4 .long 0xf22ce1fc // vorr q7, q14, q14 .long 0xf3aae0c4 // vmla.i32 q7, q13, d4[0] .long 0xf3e4c0c4 // vmla.i32 q14, q10, d4[0] .long 0xf22e0968 // vmla.i32 q0, q7, q12 .long 0xf26c09e8 // vmla.i32 q8, q14, q12 .long 0xf2c08053 // vmov.i32 q12, #3 .long 0xee315b10 // vmov.32 r5, d1[1] .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd59a00 // vldr s19, [r5] .long 0xee305b10 // vmov.32 r5, d0[1] .long 0xed929a00 // vldr s18, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee105b10 // vmov.32 r5, d0[0] .long 0xedd28a00 // vldr s17, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee315b90 // vmov.32 r5, d17[1] .long 0xed928a00 // vldr s16, [r2] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xedd51a00 // vldr s3, [r5] .long 0xee305b90 // vmov.32 r5, d16[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed921a00 // vldr s2, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee105b90 // vmov.32 r5, d16[0] .long 0xedd20a00 // vldr s1, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xed920a00 // vldr s0, [r2] .long 0xf2600d48 // vsub.f32 q8, q0, q4 .long 0xf2008cd6 // vfma.f32 q4, q8, q3 .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28de040 // add lr, sp, #64 .long 0xf262e9e0 // vmla.i32 q15, q9, q8 .long 0xf26e01fe // vorr q8, q15, q15 .long 0xf3ea00c4 // vmla.i32 q8, q13, d4[0] .long 0xf2c0a051 // vmov.i32 q13, #1 .long 0xf3e4e0c4 // vmla.i32 q15, q10, d4[0] .long 0xf260a9e8 // vmla.i32 q13, q8, q12 .long 0xf26e69e8 // vmla.i32 q11, q15, q12 .long 0xf2664156 // vorr q10, q3, q3 .long 0xee3b5b90 // vmov.32 r5, d27[1] .long 0xee1b2b90 // vmov.32 r2, d27[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd51a00 // vldr s3, [r5] .long 0xee3a5b90 // vmov.32 r5, d26[1] .long 0xed921a00 // vldr s2, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee1a5b90 // vmov.32 r5, d26[0] .long 0xecddab04 // vldmia sp, {d26-d27} .long 0xedd20a00 // vldr s1, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee375b90 // vmov.32 r5, d23[1] .long 0xed920a00 // vldr s0, [r2] .long 0xee172b90 // vmov.32 r2, d23[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xedd55a00 // vldr s11, [r5] .long 0xee365b90 // vmov.32 r5, d22[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed925a00 // vldr s10, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee165b90 // vmov.32 r5, d22[0] .long 0xf2c06053 // vmov.i32 q11, #3 .long 0xedd24a00 // vldr s9, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xed924a00 // vldr s8, [r2] .long 0xf2642d40 // vsub.f32 q9, q2, q0 .long 0xf2020cd6 // vfma.f32 q0, q9, q3 .long 0xf2602d48 // vsub.f32 q9, q0, q4 .long 0xf2028cfa // vfma.f32 q4, q9, q13 .long 0xecde2b04 // vldmia lr, {d18-d19} .long 0xe28de030 // add lr, sp, #48 .long 0xf26229f6 // vmul.i32 q9, q9, q11 .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xee132b90 // vmov.32 r2, d19[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd51a00 // vldr s3, [r5] .long 0xee325b90 // vmov.32 r5, d18[1] .long 0xed921a00 // vldr s2, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee125b90 // vmov.32 r5, d18[0] .long 0xecde2b04 // vldmia lr, {d18-d19} .long 0xe28de080 // add lr, sp, #128 .long 0xedd20a00 // vldr s1, [r2] .long 0xf26229f6 // vmul.i32 q9, q9, q11 .long 0xf2c06053 // vmov.i32 q11, #3 .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xed920a00 // vldr s0, [r2] .long 0xee132b90 // vmov.32 r2, d19[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xedd55a00 // vldr s11, [r5] .long 0xee325b90 // vmov.32 r5, d18[1] .long 0xea000004 // b 71d0 .long 0xe320f000 // nop {0} .long 0x3f7ff972 // .word 0x3f7ff972 .long 0x3f7ff972 // .word 0x3f7ff972 .long 0x3f7ff972 // .word 0x3f7ff972 .long 0x3f7ff972 // .word 0x3f7ff972 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed925a00 // vldr s10, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee125b90 // vmov.32 r5, d18[0] .long 0xedd24a00 // vldr s9, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xed924a00 // vldr s8, [r2] .long 0xf2642d40 // vsub.f32 q9, q2, q0 .long 0xf2020cf4 // vfma.f32 q0, q9, q10 .long 0xecde2b04 // vldmia lr, {d18-d19} .long 0xf26229f6 // vmul.i32 q9, q9, q11 .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xee132b90 // vmov.32 r2, d19[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd55a00 // vldr s11, [r5] .long 0xee325b90 // vmov.32 r5, d18[1] .long 0xed925a00 // vldr s10, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee125b90 // vmov.32 r5, d18[0] .long 0xf26a2976 // vmul.i32 q9, q5, q11 .long 0xedd24a00 // vldr s9, [r2] .long 0xf2c06053 // vmov.i32 q11, #3 .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xed924a00 // vldr s8, [r2] .long 0xee132b90 // vmov.32 r2, d19[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xedd57a00 // vldr s15, [r5] .long 0xee325b90 // vmov.32 r5, d18[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed927a00 // vldr s14, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee125b90 // vmov.32 r5, d18[0] .long 0xedd26a00 // vldr s13, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xed926a00 // vldr s12, [r2] .long 0xf2662d44 // vsub.f32 q9, q3, q2 .long 0xf2024cf4 // vfma.f32 q2, q9, q10 .long 0xf2642d40 // vsub.f32 q9, q2, q0 .long 0xf2020cfa // vfma.f32 q0, q9, q13 .long 0xf26e2976 // vmul.i32 q9, q7, q11 .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xee132b90 // vmov.32 r2, d19[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd57a00 // vldr s15, [r5] .long 0xee325b90 // vmov.32 r5, d18[1] .long 0xed927a00 // vldr s14, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee125b90 // vmov.32 r5, d18[0] .long 0xf26c29f6 // vmul.i32 q9, q14, q11 .long 0xedd26a00 // vldr s13, [r2] .long 0xf2c06053 // vmov.i32 q11, #3 .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xed926a00 // vldr s12, [r2] .long 0xee132b90 // vmov.32 r2, d19[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xedd55a00 // vldr s11, [r5] .long 0xee325b90 // vmov.32 r5, d18[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed925a00 // vldr s10, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee125b90 // vmov.32 r5, d18[0] .long 0xedd24a00 // vldr s9, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xed924a00 // vldr s8, [r2] .long 0xf2642d46 // vsub.f32 q9, q2, q3 .long 0xf2026cf4 // vfma.f32 q3, q9, q10 .long 0xf26029f6 // vmul.i32 q9, q8, q11 .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xee132b90 // vmov.32 r2, d19[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd55a00 // vldr s11, [r5] .long 0xee325b90 // vmov.32 r5, d18[1] .long 0xed925a00 // vldr s10, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee125b90 // vmov.32 r5, d18[0] .long 0xf26e29f6 // vmul.i32 q9, q15, q11 .long 0xedd24a00 // vldr s9, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xed924a00 // vldr s8, [r2] .long 0xee132b90 // vmov.32 r2, d19[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xedd5ba00 // vldr s23, [r5] .long 0xee325b90 // vmov.32 r5, d18[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed92ba00 // vldr s22, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee125b90 // vmov.32 r5, d18[0] .long 0xedd2aa00 // vldr s21, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xed92aa00 // vldr s20, [r2] .long 0xf26a2d44 // vsub.f32 q9, q5, q2 .long 0xf2024cf4 // vfma.f32 q2, q9, q10 .long 0xf2642d46 // vsub.f32 q9, q2, q3 .long 0xf2026cfa // vfma.f32 q3, q9, q13 .long 0xf2c02052 // vmov.i32 q9, #2 .long 0xf26e2966 // vmla.i32 q9, q7, q11 .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xee132b90 // vmov.32 r2, d19[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd5ba00 // vldr s23, [r5] .long 0xee325b90 // vmov.32 r5, d18[1] .long 0xed92ba00 // vldr s22, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee125b90 // vmov.32 r5, d18[0] .long 0xf2c02052 // vmov.i32 q9, #2 .long 0xf26c29e6 // vmla.i32 q9, q14, q11 .long 0xedd2aa00 // vldr s21, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xed92aa00 // vldr s20, [r2] .long 0xee132b90 // vmov.32 r2, d19[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xedd55a00 // vldr s11, [r5] .long 0xee325b90 // vmov.32 r5, d18[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed925a00 // vldr s10, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee125b90 // vmov.32 r5, d18[0] .long 0xedd24a00 // vldr s9, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xed924a00 // vldr s8, [r2] .long 0xf2642d4a // vsub.f32 q9, q2, q5 .long 0xf202acf4 // vfma.f32 q5, q9, q10 .long 0xf2c02052 // vmov.i32 q9, #2 .long 0xf26029e6 // vmla.i32 q9, q8, q11 .long 0xf2c00052 // vmov.i32 q8, #2 .long 0xf26e09e6 // vmla.i32 q8, q15, q11 .long 0xee335b90 // vmov.32 r5, d19[1] .long 0xee132b90 // vmov.32 r2, d19[0] .long 0xee314b90 // vmov.32 r4, d17[1] .long 0xee10eb90 // vmov.32 lr, d16[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd55a00 // vldr s11, [r5] .long 0xee325b90 // vmov.32 r5, d18[1] .long 0xed925a00 // vldr s10, [r2] .long 0xe0834104 // add r4, r3, r4, lsl #2 .long 0xedd4fa00 // vldr s31, [r4] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee125b90 // vmov.32 r5, d18[0] .long 0xedd24a00 // vldr s9, [r2] .long 0xe0832105 // add r2, r3, r5, lsl #2 .long 0xee305b90 // vmov.32 r5, d16[1] .long 0xed924a00 // vldr s8, [r2] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed92fa00 // vldr s30, [r2] .long 0xe083210e // add r2, r3, lr, lsl #2 .long 0xe28de060 // add lr, sp, #96 .long 0xedd5ea00 // vldr s29, [r5] .long 0xecde2b04 // vldmia lr, {d18-d19} .long 0xe28de090 // add lr, sp, #144 .long 0xed92ea00 // vldr s28, [r2] .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xf26e0d44 // vsub.f32 q8, q7, q2 .long 0xf2004cf4 // vfma.f32 q2, q8, q10 .long 0xf2684d42 // vsub.f32 q10, q4, q1 .long 0xf2640d4a // vsub.f32 q8, q2, q5 .long 0xf200acfa // vfma.f32 q5, q8, q13 .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28de070 // add lr, sp, #112 .long 0xf2600de2 // vsub.f32 q8, q8, q9 .long 0xf2662d40 // vsub.f32 q9, q3, q0 .long 0xec9e6b04 // vldmia lr, {d6-d7} .long 0xf2042cf0 // vfma.f32 q1, q10, q8 .long 0xf26a6d4c // vsub.f32 q11, q5, q6 .long 0xf2020cf0 // vfma.f32 q0, q9, q8 .long 0xf206ccf0 // vfma.f32 q6, q11, q8 .long 0xf22c415c // vorr q2, q6, q6 .long 0xe28dd0b0 // add sp, sp, #176 .long 0xecbd8b10 // vpop {d8-d15} .long 0xe8bd4830 // pop {r4, r5, fp, lr} .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} HIDDEN _sk_clut_4D_vfp4 .globl _sk_clut_4D_vfp4 FUNCTION(_sk_clut_4D_vfp4) _sk_clut_4D_vfp4: .long 0xe92d41f0 // push {r4, r5, r6, r7, r8, lr} .long 0xed2d8b10 // vpush {d8-d15} .long 0xe24ddf6a // sub sp, sp, #424 .long 0xe2812004 // add r2, r1, #4 .long 0xe58d21a4 // str r2, [sp, #420] .long 0xe1a0c001 // mov ip, r1 .long 0xf2c0c052 // vmov.i32 q14, #2 .long 0xe49c2008 // ldr r2, [ip], #8 .long 0xe8924008 // ldm r2, {r3, lr} .long 0xe592500c // ldr r5, [r2, #12] .long 0xe5924008 // ldr r4, [r2, #8] .long 0xe5922010 // ldr r2, [r2, #16] .long 0xee025b90 // vmov.32 d18[0], r5 .long 0xe2455001 // sub r5, r5, #1 .long 0xe2426001 // sub r6, r2, #1 .long 0xeea65b90 // vdup.32 q11, r5 .long 0xe2445001 // sub r5, r4, #1 .long 0xeea46b90 // vdup.32 q10, r6 .long 0xf3fb6666 // vcvt.f32.s32 q11, q11 .long 0xee002b90 // vmov.32 d16[0], r2 .long 0xe24e6001 // sub r6, lr, #1 .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xe28dee19 // add lr, sp, #400 .long 0xf222e9f0 // vmul.i32 q7, q9, q8 .long 0xeea25b90 // vdup.32 q9, r5 .long 0xe28d5d06 // add r5, sp, #384 .long 0xf3448dd6 // vmul.f32 q12, q10, q3 .long 0xeea46b90 // vdup.32 q10, r6 .long 0xf3460dd4 // vmul.f32 q8, q11, q2 .long 0xee064b90 // vmov.32 d22[0], r4 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xf3fb4664 // vcvt.f32.s32 q10, q10 .long 0xecc58b04 // vstmia r5, {d24-d25} .long 0xf3fba768 // vcvt.s32.f32 q13, q12 .long 0xecce0b04 // vstmia lr, {d16-d17} .long 0xf3fb0760 // vcvt.s32.f32 q8, q8 .long 0xe28dee13 // add lr, sp, #304 .long 0xf3022dd2 // vmul.f32 q1, q9, q1 .long 0xf22669de // vmul.i32 q3, q11, q7 .long 0xeea62b90 // vdup.32 q11, r2 .long 0xecce0b04 // vstmia lr, {d16-d17} .long 0xe28dee17 // add lr, sp, #368 .long 0xf26a21fa // vorr q9, q13, q13 .long 0xf26629e0 // vmla.i32 q9, q11, q8 .long 0xecceab04 // vstmia lr, {d26-d27} .long 0xe28de0f0 // add lr, sp, #240 .long 0xf3bb4742 // vcvt.s32.f32 q2, q1 .long 0xecce6b04 // vstmia lr, {d22-d23} .long 0xe28dee11 // add lr, sp, #272 .long 0xf3448dd0 // vmul.f32 q12, q10, q0 .long 0xf2c04053 // vmov.i32 q10, #3 .long 0xf26261f2 // vorr q11, q9, q9 .long 0xf3e4604e // vmla.i32 q11, q2, d14[0] .long 0xf3fba768 // vcvt.s32.f32 q13, q12 .long 0xf26601f6 // vorr q8, q11, q11 .long 0xf3ea00c6 // vmla.i32 q8, q13, d6[0] .long 0xf22681f6 // vorr q4, q11, q11 .long 0xf2c06053 // vmov.i32 q11, #3 .long 0xf22aa1fa // vorr q5, q13, q13 .long 0xf260c9e4 // vmla.i32 q14, q8, q10 .long 0xecce0b04 // vstmia lr, {d16-d17} .long 0xe28dee16 // add lr, sp, #352 .long 0xee3d6b90 // vmov.32 r6, d29[1] .long 0xee1d2b90 // vmov.32 r2, d29[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd61a00 // vldr s3, [r6] .long 0xee3c6b90 // vmov.32 r6, d28[1] .long 0xed921a00 // vldr s2, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee1c6b90 // vmov.32 r6, d28[0] .long 0xedd20a00 // vldr s1, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed920a00 // vldr s0, [r2] .long 0xe28f2e3f // add r2, pc, #1008 .long 0xf4620acf // vld1.64 {d16-d17}, [r2] .long 0xf248cde0 // vadd.f32 q14, q12, q8 .long 0xf220c150 // vorr q6, q0, q0 .long 0xf2800052 // vmov.i32 q0, #2 .long 0xf3fb476c // vcvt.s32.f32 q10, q14 .long 0xf3a480c6 // vmla.i32 q4, q10, d6[0] .long 0xf264c1f4 // vorr q14, q10, q10 .long 0xf2280966 // vmla.i32 q0, q4, q11 .long 0xec8e8b04 // vstmia lr, {d8-d9} .long 0xe28dec01 // add lr, sp, #256 .long 0xee316b10 // vmov.32 r6, d1[1] .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd69a00 // vldr s19, [r6] .long 0xee306b10 // vmov.32 r6, d0[1] .long 0xed929a00 // vldr s18, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b10 // vmov.32 r6, d0[0] .long 0xedd28a00 // vldr s17, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed928a00 // vldr s16, [r2] .long 0xf2280d4c // vsub.f32 q0, q4, q6 .long 0xf3bb864a // vcvt.f32.s32 q4, q5 .long 0xf2684dc8 // vsub.f32 q10, q12, q4 .long 0xf200cc74 // vfma.f32 q6, q0, q10 .long 0xf2020d60 // vadd.f32 q0, q1, q8 .long 0xf26481f4 // vorr q12, q10, q10 .long 0xf26041f0 // vorr q10, q8, q8 .long 0xf3fb0740 // vcvt.s32.f32 q8, q0 .long 0xecce4b04 // vstmia lr, {d20-d21} .long 0xe28de050 // add lr, sp, #80 .long 0xf22201f2 // vorr q0, q9, q9 .long 0xf26a215a // vorr q9, q5, q5 .long 0xf3a000ce // vmla.i32 q0, q8, d14[0] .long 0xecce0b04 // vstmia lr, {d16-d17} .long 0xe28dee15 // add lr, sp, #336 .long 0xf260a150 // vorr q13, q0, q0 .long 0xf3eaa046 // vmla.i32 q13, q5, d6[0] .long 0xf2208150 // vorr q4, q0, q0 .long 0xf2800052 // vmov.i32 q0, #2 .long 0xf3ac80c6 // vmla.i32 q4, q14, d6[0] .long 0xecceab04 // vstmia lr, {d26-d27} .long 0xe28dee12 // add lr, sp, #288 .long 0xf22a09e6 // vmla.i32 q0, q13, q11 .long 0xee316b10 // vmov.32 r6, d1[1] .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd6ba00 // vldr s23, [r6] .long 0xee306b10 // vmov.32 r6, d0[1] .long 0xed92ba00 // vldr s22, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b10 // vmov.32 r6, d0[0] .long 0xf2800052 // vmov.i32 q0, #2 .long 0xf2280966 // vmla.i32 q0, q4, q11 .long 0xedd2aa00 // vldr s21, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b10 // vmov.32 r6, d1[1] .long 0xed92aa00 // vldr s20, [r2] .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xec8e8b04 // vstmia lr, {d8-d9} .long 0xe28de060 // add lr, sp, #96 .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd69a00 // vldr s19, [r6] .long 0xee306b10 // vmov.32 r6, d0[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed929a00 // vldr s18, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b10 // vmov.32 r6, d0[0] .long 0xedd28a00 // vldr s17, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed928a00 // vldr s16, [r2] .long 0xec8e4b04 // vstmia lr, {d4-d5} .long 0xe28dee19 // add lr, sp, #400 .long 0xf2280d4a // vsub.f32 q0, q4, q5 .long 0xecde6b04 // vldmia lr, {d22-d23} .long 0xe28de0c0 // add lr, sp, #192 .long 0xf3bb8644 // vcvt.f32.s32 q4, q2 .long 0xf200ac78 // vfma.f32 q5, q0, q12 .long 0xf262ed48 // vsub.f32 q15, q1, q4 .long 0xf22a0d4c // vsub.f32 q0, q5, q6 .long 0xf200cc7e // vfma.f32 q6, q0, q15 .long 0xf2060de4 // vadd.f32 q0, q11, q10 .long 0xf3fba740 // vcvt.s32.f32 q13, q0 .long 0xecceab04 // vstmia lr, {d26-d27} .long 0xe28dee17 // add lr, sp, #368 .long 0xec9e2b04 // vldmia lr, {d2-d3} .long 0xe28de0f0 // add lr, sp, #240 .long 0xecde4b04 // vldmia lr, {d20-d21} .long 0xe28de030 // add lr, sp, #48 .long 0xec8eeb04 // vstmia lr, {d14-d15} .long 0xe28de040 // add lr, sp, #64 .long 0xf22429ea // vmla.i32 q1, q10, q13 .long 0xecce2b04 // vstmia lr, {d18-d19} .long 0xe28de0b0 // add lr, sp, #176 .long 0xf2c04053 // vmov.i32 q10, #3 .long 0xf2220152 // vorr q0, q1, q1 .long 0xf3a4004e // vmla.i32 q0, q2, d14[0] .long 0xf222a152 // vorr q5, q1, q1 .long 0xf3a0a0ce // vmla.i32 q5, q8, d14[0] .long 0xf260a150 // vorr q13, q0, q0 .long 0xf3e2a0c6 // vmla.i32 q13, q9, d6[0] .long 0xf2204150 // vorr q2, q0, q0 .long 0xf2800052 // vmov.i32 q0, #2 .long 0xf3ac40c6 // vmla.i32 q2, q14, d6[0] .long 0xecceab04 // vstmia lr, {d26-d27} .long 0xe28de020 // add lr, sp, #32 .long 0xf22a09e4 // vmla.i32 q0, q13, q10 .long 0xee316b10 // vmov.32 r6, d1[1] .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b10 // vmov.32 r6, d0[1] .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b10 // vmov.32 r6, d0[0] .long 0xf2800052 // vmov.i32 q0, #2 .long 0xf2240964 // vmla.i32 q0, q2, q10 .long 0xedd22a00 // vldr s5, [r2] .long 0xf2c04053 // vmov.i32 q10, #3 .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b10 // vmov.32 r6, d1[1] .long 0xed922a00 // vldr s4, [r2] .long 0xeccecb04 // vstmia lr, {d28-d29} .long 0xe28de0a0 // add lr, sp, #160 .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xec8e4b04 // vstmia lr, {d4-d5} .long 0xe28ded05 // add lr, sp, #320 .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd69a00 // vldr s19, [r6] .long 0xee306b10 // vmov.32 r6, d0[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed929a00 // vldr s18, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b10 // vmov.32 r6, d0[0] .long 0xedd28a00 // vldr s17, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed928a00 // vldr s16, [r2] .long 0xf2280d42 // vsub.f32 q0, q4, q1 .long 0xf22a815a // vorr q4, q5, q5 .long 0xf3a280c6 // vmla.i32 q4, q9, d6[0] .long 0xf2002c78 // vfma.f32 q1, q0, q12 .long 0xf2800052 // vmov.i32 q0, #2 .long 0xf3aca0c6 // vmla.i32 q5, q14, d6[0] .long 0xec8e8b04 // vstmia lr, {d8-d9} .long 0xe28de090 // add lr, sp, #144 .long 0xf2280964 // vmla.i32 q0, q4, q10 .long 0xf26e21fe // vorr q9, q15, q15 .long 0xee316b10 // vmov.32 r6, d1[1] .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd6fa00 // vldr s31, [r6] .long 0xee306b10 // vmov.32 r6, d0[1] .long 0xed92fa00 // vldr s30, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b10 // vmov.32 r6, d0[0] .long 0xf2800052 // vmov.i32 q0, #2 .long 0xf22a0964 // vmla.i32 q0, q5, q10 .long 0xedd2ea00 // vldr s29, [r2] .long 0xf26a415a // vorr q10, q5, q5 .long 0xf228a1f8 // vorr q5, q12, q12 .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b10 // vmov.32 r6, d1[1] .long 0xed92ea00 // vldr s28, [r2] .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xecce4b04 // vstmia lr, {d20-d21} .long 0xe28dee13 // add lr, sp, #304 .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28dee19 // add lr, sp, #400 .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd69a00 // vldr s19, [r6] .long 0xee306b10 // vmov.32 r6, d0[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed929a00 // vldr s18, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b10 // vmov.32 r6, d0[0] .long 0xedd28a00 // vldr s17, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed928a00 // vldr s16, [r2] .long 0xf2280d4e // vsub.f32 q0, q4, q7 .long 0xf200ec78 // vfma.f32 q7, q0, q12 .long 0xf2c08053 // vmov.i32 q12, #3 .long 0xf22e0d42 // vsub.f32 q0, q7, q1 .long 0xf2002c72 // vfma.f32 q1, q0, q9 .long 0xf2220d4c // vsub.f32 q0, q1, q6 .long 0xf3bb2660 // vcvt.f32.s32 q1, q8 .long 0xf2660dc2 // vsub.f32 q8, q11, q1 .long 0xf200cc70 // vfma.f32 q6, q0, q8 .long 0xf26061f0 // vorr q11, q8, q8 .long 0xf2c00053 // vmov.i32 q8, #3 .long 0xf2800051 // vmov.i32 q0, #1 .long 0xecce6b04 // vstmia lr, {d22-d23} .long 0xe28de0e0 // add lr, sp, #224 .long 0xec8ecb04 // vstmia lr, {d12-d13} .long 0xe28dee11 // add lr, sp, #272 .long 0xecdecb04 // vldmia lr, {d28-d29} .long 0xe28dee16 // add lr, sp, #352 .long 0xecdeeb04 // vldmia lr, {d30-d31} .long 0xe28dee15 // add lr, sp, #336 .long 0xf22c09e0 // vmla.i32 q0, q14, q8 .long 0xee316b10 // vmov.32 r6, d1[1] .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b10 // vmov.32 r6, d0[1] .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b10 // vmov.32 r6, d0[0] .long 0xf2800051 // vmov.i32 q0, #1 .long 0xf22e09e0 // vmla.i32 q0, q15, q8 .long 0xedd22a00 // vldr s5, [r2] .long 0xecdeeb04 // vldmia lr, {d30-d31} .long 0xe28dee12 // add lr, sp, #288 .long 0xf2c00053 // vmov.i32 q8, #3 .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b10 // vmov.32 r6, d1[1] .long 0xed922a00 // vldr s4, [r2] .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xf2228152 // vorr q4, q1, q1 .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b10 // vmov.32 r6, d0[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b10 // vmov.32 r6, d0[0] .long 0xedd22a00 // vldr s5, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed922a00 // vldr s4, [r2] .long 0xf2220d48 // vsub.f32 q0, q1, q4 .long 0xf2802051 // vmov.i32 q1, #1 .long 0xf22e29e0 // vmla.i32 q1, q15, q8 .long 0xecdeeb04 // vldmia lr, {d30-d31} .long 0xe28ded05 // add lr, sp, #320 .long 0xf2008c5a // vfma.f32 q4, q0, q5 .long 0xee336b10 // vmov.32 r6, d3[1] .long 0xee132b10 // vmov.32 r2, d3[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd61a00 // vldr s3, [r6] .long 0xee326b10 // vmov.32 r6, d2[1] .long 0xed921a00 // vldr s2, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee126b10 // vmov.32 r6, d2[0] .long 0xf2802051 // vmov.i32 q1, #1 .long 0xf22e29e0 // vmla.i32 q1, q15, q8 .long 0xedd20a00 // vldr s1, [r2] .long 0xea000004 // b 79e0 .long 0xe320f000 // nop {0} .long 0x3f7ff972 // .word 0x3f7ff972 .long 0x3f7ff972 // .word 0x3f7ff972 .long 0x3f7ff972 // .word 0x3f7ff972 .long 0x3f7ff972 // .word 0x3f7ff972 .long 0xf2c00053 // vmov.i32 q8, #3 .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee336b10 // vmov.32 r6, d3[1] .long 0xed920a00 // vldr s0, [r2] .long 0xee132b10 // vmov.32 r2, d3[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd6fa00 // vldr s31, [r6] .long 0xee326b10 // vmov.32 r6, d2[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed92fa00 // vldr s30, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee126b10 // vmov.32 r6, d2[0] .long 0xedd2ea00 // vldr s29, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed92ea00 // vldr s28, [r2] .long 0xeccd2b04 // vstmia sp, {d18-d19} .long 0xf22e2d40 // vsub.f32 q1, q7, q0 .long 0xf2020c5a // vfma.f32 q0, q1, q5 .long 0xf2200d48 // vsub.f32 q0, q0, q4 .long 0xf2008c72 // vfma.f32 q4, q0, q9 .long 0xf2800051 // vmov.i32 q0, #1 .long 0xf22a09e0 // vmla.i32 q0, q13, q8 .long 0xecdeab04 // vldmia lr, {d26-d27} .long 0xe28de0d0 // add lr, sp, #208 .long 0xee316b10 // vmov.32 r6, d1[1] .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd6fa00 // vldr s31, [r6] .long 0xee306b10 // vmov.32 r6, d0[1] .long 0xed92fa00 // vldr s30, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b10 // vmov.32 r6, d0[0] .long 0xf2800051 // vmov.i32 q0, #1 .long 0xf2240960 // vmla.i32 q0, q2, q8 .long 0xedd2ea00 // vldr s29, [r2] .long 0xf2c00053 // vmov.i32 q8, #3 .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b10 // vmov.32 r6, d1[1] .long 0xed92ea00 // vldr s28, [r2] .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b10 // vmov.32 r6, d0[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b10 // vmov.32 r6, d0[0] .long 0xedd22a00 // vldr s5, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed922a00 // vldr s4, [r2] .long 0xf2220d4e // vsub.f32 q0, q1, q7 .long 0xf2802051 // vmov.i32 q1, #1 .long 0xf22a29e0 // vmla.i32 q1, q13, q8 .long 0xf200ec5a // vfma.f32 q7, q0, q5 .long 0xee336b10 // vmov.32 r6, d3[1] .long 0xee132b10 // vmov.32 r2, d3[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd65a00 // vldr s11, [r6] .long 0xee326b10 // vmov.32 r6, d2[1] .long 0xed925a00 // vldr s10, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee126b10 // vmov.32 r6, d2[0] .long 0xf2802051 // vmov.i32 q1, #1 .long 0xf22429e0 // vmla.i32 q1, q10, q8 .long 0xedd24a00 // vldr s9, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee336b10 // vmov.32 r6, d3[1] .long 0xed924a00 // vldr s8, [r2] .long 0xee132b10 // vmov.32 r2, d3[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd61a00 // vldr s3, [r6] .long 0xee326b10 // vmov.32 r6, d2[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed921a00 // vldr s2, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee126b10 // vmov.32 r6, d2[0] .long 0xedd20a00 // vldr s1, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed920a00 // vldr s0, [r2] .long 0xf2200d44 // vsub.f32 q0, q0, q2 .long 0xf2004c5a // vfma.f32 q2, q0, q5 .long 0xf2240d4e // vsub.f32 q0, q2, q7 .long 0xf200ec72 // vfma.f32 q7, q0, q9 .long 0xf22e0d48 // vsub.f32 q0, q7, q4 .long 0xf280e053 // vmov.i32 q7, #3 .long 0xf2008c76 // vfma.f32 q4, q0, q11 .long 0xec8e8b04 // vstmia lr, {d8-d9} .long 0xe28ded06 // add lr, sp, #384 .long 0xec9e0b04 // vldmia lr, {d0-d1} .long 0xe28dec01 // add lr, sp, #256 .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28dee13 // add lr, sp, #304 .long 0xecdeab04 // vldmia lr, {d26-d27} .long 0xe28de0f0 // add lr, sp, #240 .long 0xf240ed60 // vadd.f32 q15, q0, q8 .long 0xecde4b04 // vldmia lr, {d20-d21} .long 0xe28de030 // add lr, sp, #48 .long 0xf2800051 // vmov.i32 q0, #1 .long 0xec9e4b04 // vldmia lr, {d4-d5} .long 0xe28de060 // add lr, sp, #96 .long 0xf3fb676e // vcvt.s32.f32 q11, q15 .long 0xecdecb04 // vldmia lr, {d28-d29} .long 0xe28de040 // add lr, sp, #64 .long 0xf26601f6 // vorr q8, q11, q11 .long 0xf26409ea // vmla.i32 q8, q10, q13 .long 0xf260a1f0 // vorr q13, q8, q8 .long 0xf3eca0c4 // vmla.i32 q13, q14, d4[0] .long 0xf22081f0 // vorr q4, q8, q8 .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28de080 // add lr, sp, #128 .long 0xf26a21fa // vorr q9, q13, q13 .long 0xf3e020c6 // vmla.i32 q9, q8, d6[0] .long 0xf22209e8 // vmla.i32 q0, q9, q12 .long 0xecce2b04 // vstmia lr, {d18-d19} .long 0xe28de020 // add lr, sp, #32 .long 0xecde2b04 // vldmia lr, {d18-d19} .long 0xe28de070 // add lr, sp, #112 .long 0xf3e2a0c6 // vmla.i32 q13, q9, d6[0] .long 0xee316b10 // vmov.32 r6, d1[1] .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd6da00 // vldr s27, [r6] .long 0xee306b10 // vmov.32 r6, d0[1] .long 0xed92da00 // vldr s26, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b10 // vmov.32 r6, d0[0] .long 0xf2800051 // vmov.i32 q0, #1 .long 0xf22a09e8 // vmla.i32 q0, q13, q12 .long 0xedd2ca00 // vldr s25, [r2] .long 0xf2688158 // vorr q12, q4, q4 .long 0xf2248154 // vorr q4, q2, q2 .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b10 // vmov.32 r6, d1[1] .long 0xed92ca00 // vldr s24, [r2] .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xecceab04 // vstmia lr, {d26-d27} .long 0xe28de050 // add lr, sp, #80 .long 0xecdeeb04 // vldmia lr, {d30-d31} .long 0xe28dec01 // add lr, sp, #256 .long 0xf3ee80c4 // vmla.i32 q12, q15, d4[0] .long 0xf268a1f8 // vorr q13, q12, q12 .long 0xf3e0a0c6 // vmla.i32 q13, q8, d6[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xf3e280c6 // vmla.i32 q12, q9, d6[0] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xee306b10 // vmov.32 r6, d0[1] .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b10 // vmov.32 r6, d0[0] .long 0xedd22a00 // vldr s5, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed922a00 // vldr s4, [r2] .long 0xecceab04 // vstmia lr, {d26-d27} .long 0xe28de010 // add lr, sp, #16 .long 0xf2220d4c // vsub.f32 q0, q1, q6 .long 0xf2802051 // vmov.i32 q1, #1 .long 0xf22a29ce // vmla.i32 q1, q13, q7 .long 0xf200cc5a // vfma.f32 q6, q0, q5 .long 0xee336b10 // vmov.32 r6, d3[1] .long 0xee132b10 // vmov.32 r2, d3[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd61a00 // vldr s3, [r6] .long 0xee326b10 // vmov.32 r6, d2[1] .long 0xed921a00 // vldr s2, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee126b10 // vmov.32 r6, d2[0] .long 0xf2802051 // vmov.i32 q1, #1 .long 0xf22829ce // vmla.i32 q1, q12, q7 .long 0xedd20a00 // vldr s1, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee336b10 // vmov.32 r6, d3[1] .long 0xed920a00 // vldr s0, [r2] .long 0xee132b10 // vmov.32 r2, d3[0] .long 0xecce8b04 // vstmia lr, {d24-d25} .long 0xe28de0c0 // add lr, sp, #192 .long 0xecdeab04 // vldmia lr, {d26-d27} .long 0xe28de0c0 // add lr, sp, #192 .long 0xecdd8b04 // vldmia sp, {d24-d25} .long 0xf26469ea // vmla.i32 q11, q10, q13 .long 0xf266a1f6 // vorr q13, q11, q11 .long 0xf3eca0c8 // vmla.i32 q13, q14, d8[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd65a00 // vldr s11, [r6] .long 0xee326b10 // vmov.32 r6, d2[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xf3ee60c8 // vmla.i32 q11, q15, d8[0] .long 0xed925a00 // vldr s10, [r2] .long 0xf26a41fa // vorr q10, q13, q13 .long 0xf3e040c6 // vmla.i32 q10, q8, d6[0] .long 0xf3e2a0c6 // vmla.i32 q13, q9, d6[0] .long 0xf26ac15a // vorr q14, q5, q5 .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee126b10 // vmov.32 r6, d2[0] .long 0xedd24a00 // vldr s9, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed924a00 // vldr s8, [r2] .long 0xecce4b04 // vstmia lr, {d20-d21} .long 0xe28dee13 // add lr, sp, #304 .long 0xf2242d40 // vsub.f32 q1, q2, q0 .long 0xf2020c5a // vfma.f32 q0, q1, q5 .long 0xf2200d4c // vsub.f32 q0, q0, q6 .long 0xf200cc78 // vfma.f32 q6, q0, q12 .long 0xf2800051 // vmov.i32 q0, #1 .long 0xf22409ce // vmla.i32 q0, q10, q7 .long 0xf2c04051 // vmov.i32 q10, #1 .long 0xee316b10 // vmov.32 r6, d1[1] .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b10 // vmov.32 r6, d0[1] .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b10 // vmov.32 r6, d0[0] .long 0xf2800051 // vmov.i32 q0, #1 .long 0xf22a09ce // vmla.i32 q0, q13, q7 .long 0xedd22a00 // vldr s5, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b10 // vmov.32 r6, d1[1] .long 0xed922a00 // vldr s4, [r2] .long 0xee112b10 // vmov.32 r2, d1[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd65a00 // vldr s11, [r6] .long 0xee306b10 // vmov.32 r6, d0[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed925a00 // vldr s10, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b10 // vmov.32 r6, d0[0] .long 0xedd24a00 // vldr s9, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed924a00 // vldr s8, [r2] .long 0xf2240d42 // vsub.f32 q0, q2, q1 .long 0xf2002c5a // vfma.f32 q1, q0, q5 .long 0xf22601f6 // vorr q0, q11, q11 .long 0xf3a000c6 // vmla.i32 q0, q8, d6[0] .long 0xf3e260c6 // vmla.i32 q11, q9, d6[0] .long 0xf260494e // vmla.i32 q10, q0, q7 .long 0xec8e0b04 // vstmia lr, {d0-d1} .long 0xe28de0f0 // add lr, sp, #240 .long 0xf2c00051 // vmov.i32 q8, #1 .long 0xf26609ce // vmla.i32 q8, q11, q7 .long 0xee356b90 // vmov.32 r6, d21[1] .long 0xf2c02053 // vmov.i32 q9, #3 .long 0xee152b90 // vmov.32 r2, d21[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd61a00 // vldr s3, [r6] .long 0xee346b90 // vmov.32 r6, d20[1] .long 0xed921a00 // vldr s2, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee146b90 // vmov.32 r6, d20[0] .long 0xf2c04053 // vmov.i32 q10, #3 .long 0xedd20a00 // vldr s1, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xed920a00 // vldr s0, [r2] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xecce6b04 // vstmia lr, {d22-d23} .long 0xe28dee19 // add lr, sp, #400 .long 0xecde6b04 // vldmia lr, {d22-d23} .long 0xe28dee11 // add lr, sp, #272 .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd65a00 // vldr s11, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed925a00 // vldr s10, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xedd24a00 // vldr s9, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed924a00 // vldr s8, [r2] .long 0xf2640d40 // vsub.f32 q8, q2, q0 .long 0xf2000cda // vfma.f32 q0, q8, q5 .long 0xf2600d42 // vsub.f32 q8, q0, q1 .long 0xf2002cf8 // vfma.f32 q1, q8, q12 .long 0xf2620d4c // vsub.f32 q8, q1, q6 .long 0xf200ccf6 // vfma.f32 q6, q8, q11 .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28dee16 // add lr, sp, #352 .long 0xf26009f2 // vmul.i32 q8, q8, q9 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd61a00 // vldr s3, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xed921a00 // vldr s2, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28dee15 // add lr, sp, #336 .long 0xedd20a00 // vldr s1, [r2] .long 0xf26009f2 // vmul.i32 q8, q8, q9 .long 0xf2c02053 // vmov.i32 q9, #3 .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xed920a00 // vldr s0, [r2] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xedd22a00 // vldr s5, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed922a00 // vldr s4, [r2] .long 0xf2620d40 // vsub.f32 q8, q1, q0 .long 0xf2000cda // vfma.f32 q0, q8, q5 .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28dee12 // add lr, sp, #288 .long 0xf26009f2 // vmul.i32 q8, q8, q9 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28de0b0 // add lr, sp, #176 .long 0xedd22a00 // vldr s5, [r2] .long 0xf26009f2 // vmul.i32 q8, q8, q9 .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xed922a00 // vldr s4, [r2] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd65a00 // vldr s11, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed925a00 // vldr s10, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xedd24a00 // vldr s9, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed924a00 // vldr s8, [r2] .long 0xf2640d42 // vsub.f32 q8, q2, q1 .long 0xf2002cda // vfma.f32 q1, q8, q5 .long 0xf2620d40 // vsub.f32 q8, q1, q0 .long 0xf2000cf8 // vfma.f32 q0, q8, q12 .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28de0a0 // add lr, sp, #160 .long 0xf26009f2 // vmul.i32 q8, q8, q9 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd65a00 // vldr s11, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xed925a00 // vldr s10, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28ded05 // add lr, sp, #320 .long 0xedd24a00 // vldr s9, [r2] .long 0xf26009f2 // vmul.i32 q8, q8, q9 .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xed924a00 // vldr s8, [r2] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xedd22a00 // vldr s5, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed922a00 // vldr s4, [r2] .long 0xf2620d44 // vsub.f32 q8, q1, q2 .long 0xf2004cda // vfma.f32 q2, q8, q5 .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28de090 // add lr, sp, #144 .long 0xf228a1f8 // vorr q5, q12, q12 .long 0xf26009f2 // vmul.i32 q8, q8, q9 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28de080 // add lr, sp, #128 .long 0xedd22a00 // vldr s5, [r2] .long 0xf26009f2 // vmul.i32 q8, q8, q9 .long 0xf2c02053 // vmov.i32 q9, #3 .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xed922a00 // vldr s4, [r2] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd67a00 // vldr s15, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed927a00 // vldr s14, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xedd26a00 // vldr s13, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed926a00 // vldr s12, [r2] .long 0xf2660d42 // vsub.f32 q8, q3, q1 .long 0xf2002cfc // vfma.f32 q1, q8, q14 .long 0xf2620d44 // vsub.f32 q8, q1, q2 .long 0xf2004cf8 // vfma.f32 q2, q8, q12 .long 0xecde8b04 // vldmia lr, {d24-d25} .long 0xe28de070 // add lr, sp, #112 .long 0xec9e8b04 // vldmia lr, {d8-d9} .long 0xe28dec01 // add lr, sp, #256 .long 0xf2640d40 // vsub.f32 q8, q2, q0 .long 0xf2000cf6 // vfma.f32 q0, q8, q11 .long 0xf26809f2 // vmul.i32 q8, q12, q9 .long 0xf2c06053 // vmov.i32 q11, #3 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd65a00 // vldr s11, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xed925a00 // vldr s10, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xf2680972 // vmul.i32 q8, q4, q9 .long 0xedd24a00 // vldr s9, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xed924a00 // vldr s8, [r2] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xedd22a00 // vldr s5, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed922a00 // vldr s4, [r2] .long 0xf2620d44 // vsub.f32 q8, q1, q2 .long 0xf2004cfc // vfma.f32 q2, q8, q14 .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28de010 // add lr, sp, #16 .long 0xf26009f4 // vmul.i32 q8, q8, q10 .long 0xec9eeb04 // vldmia lr, {d14-d15} .long 0xe28de0c0 // add lr, sp, #192 .long 0xecdeeb04 // vldmia lr, {d30-d31} .long 0xe28dee13 // add lr, sp, #304 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xf26e0974 // vmul.i32 q8, q7, q10 .long 0xedd22a00 // vldr s5, [r2] .long 0xf26a415a // vorr q10, q5, q5 .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xed922a00 // vldr s4, [r2] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd67a00 // vldr s15, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed927a00 // vldr s14, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xedd26a00 // vldr s13, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed926a00 // vldr s12, [r2] .long 0xf2660d42 // vsub.f32 q8, q3, q1 .long 0xf2002cfc // vfma.f32 q1, q8, q14 .long 0xf2620d44 // vsub.f32 q8, q1, q2 .long 0xf2004cda // vfma.f32 q2, q8, q5 .long 0xf26e09f6 // vmul.i32 q8, q15, q11 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd6ba00 // vldr s23, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xed92ba00 // vldr s22, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xf26a09f6 // vmul.i32 q8, q13, q11 .long 0xedd2aa00 // vldr s21, [r2] .long 0xf2c06053 // vmov.i32 q11, #3 .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xed92aa00 // vldr s20, [r2] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xedd22a00 // vldr s5, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed922a00 // vldr s4, [r2] .long 0xf2620d4a // vsub.f32 q8, q1, q5 .long 0xf200acfc // vfma.f32 q5, q8, q14 .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28de0f0 // add lr, sp, #240 .long 0xf26009f6 // vmul.i32 q8, q8, q11 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28dee19 // add lr, sp, #400 .long 0xedd22a00 // vldr s5, [r2] .long 0xf26009f6 // vmul.i32 q8, q8, q11 .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xed922a00 // vldr s4, [r2] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd67a00 // vldr s15, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed927a00 // vldr s14, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xedd26a00 // vldr s13, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed926a00 // vldr s12, [r2] .long 0xf2660d42 // vsub.f32 q8, q3, q1 .long 0xf2002cfc // vfma.f32 q1, q8, q14 .long 0xf2620d4a // vsub.f32 q8, q1, q5 .long 0xec9e2b04 // vldmia lr, {d2-d3} .long 0xe28dec01 // add lr, sp, #256 .long 0xecde2b04 // vldmia lr, {d18-d19} .long 0xe28dee13 // add lr, sp, #304 .long 0xf200acf4 // vfma.f32 q5, q8, q10 .long 0xf26a0d44 // vsub.f32 q8, q5, q2 .long 0xf2004cd2 // vfma.f32 q2, q8, q1 .long 0xf2c00052 // vmov.i32 q8, #2 .long 0xf26809e6 // vmla.i32 q8, q12, q11 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd6ba00 // vldr s23, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xed92ba00 // vldr s22, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xf2c00052 // vmov.i32 q8, #2 .long 0xf2680966 // vmla.i32 q8, q4, q11 .long 0xedd2aa00 // vldr s21, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xed92aa00 // vldr s20, [r2] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xedd22a00 // vldr s5, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed922a00 // vldr s4, [r2] .long 0xf2620d4a // vsub.f32 q8, q1, q5 .long 0xf200acfc // vfma.f32 q5, q8, q14 .long 0xf2c00052 // vmov.i32 q8, #2 .long 0xf26209e6 // vmla.i32 q8, q9, q11 .long 0xecde2b04 // vldmia lr, {d18-d19} .long 0xe28de0f0 // add lr, sp, #240 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xf2c00052 // vmov.i32 q8, #2 .long 0xf26e0966 // vmla.i32 q8, q7, q11 .long 0xedd22a00 // vldr s5, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xed922a00 // vldr s4, [r2] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd67a00 // vldr s15, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed927a00 // vldr s14, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xedd26a00 // vldr s13, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed926a00 // vldr s12, [r2] .long 0xf2660d42 // vsub.f32 q8, q3, q1 .long 0xf2002cfc // vfma.f32 q1, q8, q14 .long 0xf2620d4a // vsub.f32 q8, q1, q5 .long 0xf200acf4 // vfma.f32 q5, q8, q10 .long 0xf2c00052 // vmov.i32 q8, #2 .long 0xf26e09e6 // vmla.i32 q8, q15, q11 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd6fa00 // vldr s31, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xed92fa00 // vldr s30, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xf2c00052 // vmov.i32 q8, #2 .long 0xf26a09e6 // vmla.i32 q8, q13, q11 .long 0xedd2ea00 // vldr s29, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xed92ea00 // vldr s28, [r2] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xedd22a00 // vldr s5, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xed922a00 // vldr s4, [r2] .long 0xf2620d4e // vsub.f32 q8, q1, q7 .long 0xf200ecfc // vfma.f32 q7, q8, q14 .long 0xf2c00052 // vmov.i32 q8, #2 .long 0xf26209e6 // vmla.i32 q8, q9, q11 .long 0xecde2b04 // vldmia lr, {d18-d19} .long 0xe28dee17 // add lr, sp, #368 .long 0xee316b90 // vmov.32 r6, d17[1] .long 0xee112b90 // vmov.32 r2, d17[0] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xedd63a00 // vldr s7, [r6] .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xed923a00 // vldr s6, [r2] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee106b90 // vmov.32 r6, d16[0] .long 0xf2c00052 // vmov.i32 q8, #2 .long 0xf26209e6 // vmla.i32 q8, q9, q11 .long 0xedd22a00 // vldr s5, [r2] .long 0xecde2b04 // vldmia lr, {d18-d19} .long 0xe28dee19 // add lr, sp, #400 .long 0xf3fb2662 // vcvt.f32.s32 q9, q9 .long 0xee315b90 // vmov.32 r5, d17[1] .long 0xee114b90 // vmov.32 r4, d17[0] .long 0xe0832106 // add r2, r3, r6, lsl #2 .long 0xee306b90 // vmov.32 r6, d16[1] .long 0xed922a00 // vldr s4, [r2] .long 0xee102b90 // vmov.32 r2, d16[0] .long 0xe0835105 // add r5, r3, r5, lsl #2 .long 0xedd57a00 // vldr s15, [r5] .long 0xe0835104 // add r5, r3, r4, lsl #2 .long 0xed957a00 // vldr s14, [r5] .long 0xe0836106 // add r6, r3, r6, lsl #2 .long 0xedd66a00 // vldr s13, [r6] .long 0xe0832102 // add r2, r3, r2, lsl #2 .long 0xed926a00 // vldr s12, [r2] .long 0xf2660d42 // vsub.f32 q8, q3, q1 .long 0xf2002cfc // vfma.f32 q1, q8, q14 .long 0xf2620d4e // vsub.f32 q8, q1, q7 .long 0xf200ecf4 // vfma.f32 q7, q8, q10 .long 0xecde4b04 // vldmia lr, {d20-d21} .long 0xe28ded06 // add lr, sp, #384 .long 0xf26e0d4a // vsub.f32 q8, q7, q5 .long 0xf200acf4 // vfma.f32 q5, q8, q10 .long 0xecde0b04 // vldmia lr, {d16-d17} .long 0xe28de0d0 // add lr, sp, #208 .long 0xecdeab04 // vldmia lr, {d26-d27} .long 0xe28de0e0 // add lr, sp, #224 .long 0xf2600de2 // vsub.f32 q8, q8, q9 .long 0xecde8b04 // vldmia lr, {d24-d25} .long 0xe28f203c // add r2, pc, #60 .long 0xf26c4d6a // vsub.f32 q10, q6, q13 .long 0xf4226acf // vld1.64 {d6-d7}, [r2] .long 0xf2642d40 // vsub.f32 q9, q2, q0 .long 0xe5912004 // ldr r2, [r1, #4] .long 0xe1a0100c // mov r1, ip .long 0xf26a6d68 // vsub.f32 q11, q5, q12 .long 0xf244acf0 // vfma.f32 q13, q10, q8 .long 0xf2020cf0 // vfma.f32 q0, q9, q8 .long 0xf2468cf0 // vfma.f32 q12, q11, q8 .long 0xf22a21fa // vorr q1, q13, q13 .long 0xf22841f8 // vorr q2, q12, q12 .long 0xe28ddf6a // add sp, sp, #424 .long 0xecbd8b10 // vpop {d8-d15} .long 0xe8bd41f0 // pop {r4, r5, r6, r7, r8, lr} .long 0xe12fff12 // bx r2 .long 0xe320f000 // nop {0} .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 .long 0x3f800000 // .word 0x3f800000 #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 72,131,236,24 // sub $0x18,%rsp .byte 73,137,215 // mov %rdx,%r15 .byte 72,137,243 // mov %rsi,%rbx .byte 72,137,125,208 // mov %rdi,-0x30(%rbp) .byte 76,137,198 // mov %r8,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,197 // mov %rax,%r13 .byte 73,137,246 // mov %rsi,%r14 .byte 72,137,77,192 // mov %rcx,-0x40(%rbp) .byte 72,57,203 // cmp %rcx,%rbx .byte 115,83 // jae 82 <_sk_start_pipeline_hsw+0x82> .byte 72,139,69,208 // mov -0x30(%rbp),%rax .byte 72,141,64,8 // lea 0x8(%rax),%rax .byte 72,137,69,200 // mov %rax,-0x38(%rbp) .byte 72,139,85,208 // mov -0x30(%rbp),%rdx .byte 76,57,125,200 // cmp %r15,-0x38(%rbp) .byte 119,35 // ja 68 <_sk_start_pipeline_hsw+0x68> .byte 76,139,101,208 // mov -0x30(%rbp),%r12 .byte 49,255 // xor %edi,%edi .byte 76,137,246 // mov %r14,%rsi .byte 76,137,226 // mov %r12,%rdx .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 73,141,84,36,8 // lea 0x8(%r12),%rdx .byte 73,131,196,16 // add $0x10,%r12 .byte 77,57,252 // cmp %r15,%r12 .byte 73,137,212 // mov %rdx,%r12 .byte 118,225 // jbe 49 <_sk_start_pipeline_hsw+0x49> .byte 76,137,255 // mov %r15,%rdi .byte 72,41,215 // sub %rdx,%rdi .byte 116,9 // je 79 <_sk_start_pipeline_hsw+0x79> .byte 76,137,246 // mov %r14,%rsi .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 72,255,195 // inc %rbx .byte 72,59,93,192 // cmp -0x40(%rbp),%rbx .byte 117,185 // jne 3b <_sk_start_pipeline_hsw+0x3b> .byte 72,131,196,24 // add $0x18,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 197,248,119 // vzeroupper .byte 195 // retq HIDDEN _sk_just_return_hsw .globl _sk_just_return_hsw FUNCTION(_sk_just_return_hsw) _sk_just_return_hsw: .byte 195 // retq HIDDEN _sk_seed_shader_hsw .globl _sk_seed_shader_hsw FUNCTION(_sk_seed_shader_hsw) _sk_seed_shader_hsw: .byte 197,249,110,194 // vmovd %edx,%xmm0 .byte 196,226,125,88,192 // vpbroadcastd %xmm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 197,252,88,5,214,167,2,0 // vaddps 0x2a7d6(%rip),%ymm0,%ymm0 # 2a880 <_sk_srcover_rgba_8888_sse2_lowp+0x2ac> .byte 197,249,110,201 // vmovd %ecx,%xmm1 .byte 196,226,125,88,201 // vpbroadcastd %xmm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,21,68,173,2,0 // vbroadcastss 0x2ad44(%rip),%ymm2 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 197,244,88,202 // vaddps %ymm2,%ymm1,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,21,57,173,2,0 // vbroadcastss 0x2ad39(%rip),%ymm2 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 197,204,87,246 // vxorps %ymm6,%ymm6,%ymm6 .byte 197,196,87,255 // vxorps %ymm7,%ymm7,%ymm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_dither_hsw .globl _sk_dither_hsw FUNCTION(_sk_dither_hsw) _sk_dither_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,121,110,194 // vmovd %edx,%xmm8 .byte 196,66,125,88,192 // vpbroadcastd %xmm8,%ymm8 .byte 197,61,254,5,168,167,2,0 // vpaddd 0x2a7a8(%rip),%ymm8,%ymm8 # 2a8a0 <_sk_srcover_rgba_8888_sse2_lowp+0x2cc> .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,253,172,2,0 // vpbroadcastd 0x2acfd(%rip),%ymm10 # 2ae0c <_sk_srcover_rgba_8888_sse2_lowp+0x838> .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,226,172,2,0 // vpbroadcastd 0x2ace2(%rip),%ymm12 # 2ae10 <_sk_srcover_rgba_8888_sse2_lowp+0x83c> .byte 196,98,125,88,45,221,172,2,0 // vpbroadcastd 0x2acdd(%rip),%ymm13 # 2ae14 <_sk_srcover_rgba_8888_sse2_lowp+0x840> .byte 196,65,53,219,245 // vpand %ymm13,%ymm9,%ymm14 .byte 196,193,13,114,246,2 // vpslld $0x2,%ymm14,%ymm14 .byte 196,65,37,235,222 // vpor %ymm14,%ymm11,%ymm11 .byte 196,65,61,219,237 // vpand %ymm13,%ymm8,%ymm13 .byte 196,65,21,254,237 // vpaddd %ymm13,%ymm13,%ymm13 .byte 196,65,21,235,210 // vpor %ymm10,%ymm13,%ymm10 .byte 196,65,53,219,204 // vpand %ymm12,%ymm9,%ymm9 .byte 196,193,53,114,209,1 // vpsrld $0x1,%ymm9,%ymm9 .byte 196,65,61,219,196 // vpand %ymm12,%ymm8,%ymm8 .byte 196,193,61,114,208,2 // vpsrld $0x2,%ymm8,%ymm8 .byte 196,65,45,235,192 // vpor %ymm8,%ymm10,%ymm8 .byte 196,65,61,235,195 // vpor %ymm11,%ymm8,%ymm8 .byte 196,65,61,235,193 // vpor %ymm9,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 196,98,125,24,13,143,172,2,0 // vbroadcastss 0x2ac8f(%rip),%ymm9 # 2ae18 <_sk_srcover_rgba_8888_sse2_lowp+0x844> .byte 196,98,125,24,21,138,172,2,0 // vbroadcastss 0x2ac8a(%rip),%ymm10 # 2ae1c <_sk_srcover_rgba_8888_sse2_lowp+0x848> .byte 196,66,61,184,209 // vfmadd231ps %ymm9,%ymm8,%ymm10 .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 196,65,44,89,192 // vmulps %ymm8,%ymm10,%ymm8 .byte 197,188,88,192 // vaddps %ymm0,%ymm8,%ymm0 .byte 197,188,88,201 // vaddps %ymm1,%ymm8,%ymm1 .byte 197,188,88,210 // vaddps %ymm2,%ymm8,%ymm2 .byte 197,252,93,195 // vminps %ymm3,%ymm0,%ymm0 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,188,95,192 // vmaxps %ymm0,%ymm8,%ymm0 .byte 197,244,93,203 // vminps %ymm3,%ymm1,%ymm1 .byte 197,188,95,201 // vmaxps %ymm1,%ymm8,%ymm1 .byte 197,236,93,211 // vminps %ymm3,%ymm2,%ymm2 .byte 197,188,95,210 // vmaxps %ymm2,%ymm8,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_uniform_color_hsw .globl _sk_uniform_color_hsw FUNCTION(_sk_uniform_color_hsw) _sk_uniform_color_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,0 // vbroadcastss (%rax),%ymm0 .byte 196,226,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm1 .byte 196,226,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm2 .byte 196,226,125,24,88,12 // vbroadcastss 0xc(%rax),%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_black_color_hsw .globl _sk_black_color_hsw FUNCTION(_sk_black_color_hsw) _sk_black_color_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,18,172,2,0 // vbroadcastss 0x2ac12(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,249,171,2,0 // vbroadcastss 0x2abf9(%rip),%ymm0 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,152,171,2,0 // vbroadcastss 0x2ab98(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,103,171,2,0 // vbroadcastss 0x2ab67(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,10,171,2,0 // vbroadcastss 0x2ab0a(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,233,170,2,0 // vbroadcastss 0x2aae9(%rip),%ymm0 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,200,170,2,0 // vbroadcastss 0x2aac8(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,163,170,2,0 // vbroadcastss 0x2aaa3(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,106,170,2,0 // vbroadcastss 0x2aa6a(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,60,92,207 // vsubps %ymm7,%ymm8,%ymm9 .byte 197,52,89,208 // vmulps %ymm0,%ymm9,%ymm10 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,98,61,184,212 // vfmadd231ps %ymm4,%ymm8,%ymm10 .byte 196,194,93,168,194 // vfmadd213ps %ymm10,%ymm4,%ymm0 .byte 197,52,89,209 // vmulps %ymm1,%ymm9,%ymm10 .byte 196,98,61,184,213 // vfmadd231ps %ymm5,%ymm8,%ymm10 .byte 196,194,85,168,202 // vfmadd213ps %ymm10,%ymm5,%ymm1 .byte 197,52,89,210 // vmulps %ymm2,%ymm9,%ymm10 .byte 196,98,61,184,214 // vfmadd231ps %ymm6,%ymm8,%ymm10 .byte 196,194,77,168,210 // vfmadd213ps %ymm10,%ymm6,%ymm2 .byte 197,52,89,203 // vmulps %ymm3,%ymm9,%ymm9 .byte 196,66,69,168,193 // vfmadd213ps %ymm9,%ymm7,%ymm8 .byte 196,194,69,168,216 // vfmadd213ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_plus__hsw .globl _sk_plus__hsw FUNCTION(_sk_plus__hsw) _sk_plus__hsw: .byte 197,252,88,196 // vaddps %ymm4,%ymm0,%ymm0 .byte 196,98,125,24,5,25,170,2,0 // vbroadcastss 0x2aa19(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 196,193,124,93,192 // vminps %ymm8,%ymm0,%ymm0 .byte 197,244,88,205 // vaddps %ymm5,%ymm1,%ymm1 .byte 196,193,116,93,200 // vminps %ymm8,%ymm1,%ymm1 .byte 197,236,88,214 // vaddps %ymm6,%ymm2,%ymm2 .byte 196,193,108,93,208 // vminps %ymm8,%ymm2,%ymm2 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 196,193,100,93,216 // vminps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_screen_hsw .globl _sk_screen_hsw FUNCTION(_sk_screen_hsw) _sk_screen_hsw: .byte 197,124,88,196 // vaddps %ymm4,%ymm0,%ymm8 .byte 196,194,93,172,192 // vfnmadd213ps %ymm8,%ymm4,%ymm0 .byte 197,116,88,197 // vaddps %ymm5,%ymm1,%ymm8 .byte 196,194,85,172,200 // vfnmadd213ps %ymm8,%ymm5,%ymm1 .byte 197,108,88,198 // vaddps %ymm6,%ymm2,%ymm8 .byte 196,194,77,172,208 // vfnmadd213ps %ymm8,%ymm6,%ymm2 .byte 197,100,88,199 // vaddps %ymm7,%ymm3,%ymm8 .byte 196,194,69,172,216 // vfnmadd213ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xor__hsw .globl _sk_xor__hsw FUNCTION(_sk_xor__hsw) _sk_xor__hsw: .byte 196,98,125,24,5,196,169,2,0 // vbroadcastss 0x2a9c4(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,72,169,2,0 // vbroadcastss 0x2a948(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,243,168,2,0 // vbroadcastss 0x2a8f3(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,146,168,2,0 // vbroadcastss 0x2a892(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,76,168,2,0 // vbroadcastss 0x2a84c(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,54,168,2,0 // vbroadcastss 0x2a836(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,60,92,207 // vsubps %ymm7,%ymm8,%ymm9 .byte 197,52,89,216 // vmulps %ymm0,%ymm9,%ymm11 .byte 196,65,44,87,210 // vxorps %ymm10,%ymm10,%ymm10 .byte 196,65,124,194,226,0 // vcmpeqps %ymm10,%ymm0,%ymm12 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,68,92,236 // vsubps %ymm4,%ymm7,%ymm13 .byte 197,20,89,235 // vmulps %ymm3,%ymm13,%ymm13 .byte 197,252,83,192 // vrcpps %ymm0,%ymm0 .byte 197,148,89,192 // vmulps %ymm0,%ymm13,%ymm0 .byte 197,60,89,236 // vmulps %ymm4,%ymm8,%ymm13 .byte 197,196,93,192 // vminps %ymm0,%ymm7,%ymm0 .byte 197,196,92,192 // vsubps %ymm0,%ymm7,%ymm0 .byte 196,194,101,168,195 // vfmadd213ps %ymm11,%ymm3,%ymm0 .byte 197,148,88,192 // vaddps %ymm0,%ymm13,%ymm0 .byte 196,195,125,74,197,192 // vblendvps %ymm12,%ymm13,%ymm0,%ymm0 .byte 197,92,194,231,0 // vcmpeqps %ymm7,%ymm4,%ymm12 .byte 197,36,88,220 // vaddps %ymm4,%ymm11,%ymm11 .byte 196,195,125,74,195,192 // vblendvps %ymm12,%ymm11,%ymm0,%ymm0 .byte 197,52,89,217 // vmulps %ymm1,%ymm9,%ymm11 .byte 196,65,116,194,226,0 // vcmpeqps %ymm10,%ymm1,%ymm12 .byte 197,68,92,237 // vsubps %ymm5,%ymm7,%ymm13 .byte 197,20,89,235 // vmulps %ymm3,%ymm13,%ymm13 .byte 197,252,83,201 // vrcpps %ymm1,%ymm1 .byte 197,148,89,201 // vmulps %ymm1,%ymm13,%ymm1 .byte 197,60,89,237 // vmulps %ymm5,%ymm8,%ymm13 .byte 197,196,93,201 // vminps %ymm1,%ymm7,%ymm1 .byte 197,196,92,201 // vsubps %ymm1,%ymm7,%ymm1 .byte 196,194,101,168,203 // vfmadd213ps %ymm11,%ymm3,%ymm1 .byte 197,148,88,201 // vaddps %ymm1,%ymm13,%ymm1 .byte 196,195,117,74,205,192 // vblendvps %ymm12,%ymm13,%ymm1,%ymm1 .byte 197,84,194,231,0 // vcmpeqps %ymm7,%ymm5,%ymm12 .byte 197,36,88,221 // vaddps %ymm5,%ymm11,%ymm11 .byte 196,195,117,74,203,192 // vblendvps %ymm12,%ymm11,%ymm1,%ymm1 .byte 197,52,89,202 // vmulps %ymm2,%ymm9,%ymm9 .byte 196,65,108,194,210,0 // vcmpeqps %ymm10,%ymm2,%ymm10 .byte 197,68,92,222 // vsubps %ymm6,%ymm7,%ymm11 .byte 197,36,89,219 // vmulps %ymm3,%ymm11,%ymm11 .byte 197,252,83,210 // vrcpps %ymm2,%ymm2 .byte 197,164,89,210 // vmulps %ymm2,%ymm11,%ymm2 .byte 197,60,89,222 // vmulps %ymm6,%ymm8,%ymm11 .byte 197,196,93,210 // vminps %ymm2,%ymm7,%ymm2 .byte 197,196,92,210 // vsubps %ymm2,%ymm7,%ymm2 .byte 196,194,101,168,209 // vfmadd213ps %ymm9,%ymm3,%ymm2 .byte 197,164,88,210 // vaddps %ymm2,%ymm11,%ymm2 .byte 196,195,109,74,211,160 // vblendvps %ymm10,%ymm11,%ymm2,%ymm2 .byte 197,76,194,215,0 // vcmpeqps %ymm7,%ymm6,%ymm10 .byte 197,52,88,206 // vaddps %ymm6,%ymm9,%ymm9 .byte 196,195,109,74,209,160 // vblendvps %ymm10,%ymm9,%ymm2,%ymm2 .byte 196,194,69,184,216 // vfmadd231ps %ymm8,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_colordodge_hsw .globl _sk_colordodge_hsw FUNCTION(_sk_colordodge_hsw) _sk_colordodge_hsw: .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,98,125,24,13,70,167,2,0 // vbroadcastss 0x2a746(%rip),%ymm9 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,52,92,215 // vsubps %ymm7,%ymm9,%ymm10 .byte 197,44,89,216 // vmulps %ymm0,%ymm10,%ymm11 .byte 197,52,92,203 // vsubps %ymm3,%ymm9,%ymm9 .byte 197,100,89,228 // vmulps %ymm4,%ymm3,%ymm12 .byte 197,100,92,232 // vsubps %ymm0,%ymm3,%ymm13 .byte 196,65,124,83,237 // vrcpps %ymm13,%ymm13 .byte 196,65,28,89,229 // vmulps %ymm13,%ymm12,%ymm12 .byte 197,52,89,236 // vmulps %ymm4,%ymm9,%ymm13 .byte 196,65,68,93,228 // vminps %ymm12,%ymm7,%ymm12 .byte 196,66,101,168,227 // vfmadd213ps %ymm11,%ymm3,%ymm12 .byte 196,65,20,88,228 // vaddps %ymm12,%ymm13,%ymm12 .byte 197,20,88,232 // vaddps %ymm0,%ymm13,%ymm13 .byte 197,252,194,195,0 // vcmpeqps %ymm3,%ymm0,%ymm0 .byte 196,195,29,74,197,0 // vblendvps %ymm0,%ymm13,%ymm12,%ymm0 .byte 196,65,92,194,224,0 // vcmpeqps %ymm8,%ymm4,%ymm12 .byte 196,195,125,74,195,192 // vblendvps %ymm12,%ymm11,%ymm0,%ymm0 .byte 197,44,89,217 // vmulps %ymm1,%ymm10,%ymm11 .byte 197,100,89,229 // vmulps %ymm5,%ymm3,%ymm12 .byte 197,100,92,233 // vsubps %ymm1,%ymm3,%ymm13 .byte 196,65,124,83,237 // vrcpps %ymm13,%ymm13 .byte 196,65,28,89,229 // vmulps %ymm13,%ymm12,%ymm12 .byte 197,52,89,237 // vmulps %ymm5,%ymm9,%ymm13 .byte 196,65,68,93,228 // vminps %ymm12,%ymm7,%ymm12 .byte 196,66,101,168,227 // vfmadd213ps %ymm11,%ymm3,%ymm12 .byte 196,65,20,88,228 // vaddps %ymm12,%ymm13,%ymm12 .byte 197,20,88,233 // vaddps %ymm1,%ymm13,%ymm13 .byte 197,244,194,203,0 // vcmpeqps %ymm3,%ymm1,%ymm1 .byte 196,195,29,74,205,16 // vblendvps %ymm1,%ymm13,%ymm12,%ymm1 .byte 196,65,84,194,224,0 // vcmpeqps %ymm8,%ymm5,%ymm12 .byte 196,195,117,74,203,192 // vblendvps %ymm12,%ymm11,%ymm1,%ymm1 .byte 197,44,89,210 // vmulps %ymm2,%ymm10,%ymm10 .byte 197,100,89,222 // vmulps %ymm6,%ymm3,%ymm11 .byte 197,100,92,226 // vsubps %ymm2,%ymm3,%ymm12 .byte 196,65,124,83,228 // vrcpps %ymm12,%ymm12 .byte 196,65,36,89,220 // vmulps %ymm12,%ymm11,%ymm11 .byte 197,52,89,230 // vmulps %ymm6,%ymm9,%ymm12 .byte 196,65,68,93,219 // vminps %ymm11,%ymm7,%ymm11 .byte 196,66,101,168,218 // vfmadd213ps %ymm10,%ymm3,%ymm11 .byte 196,65,28,88,219 // vaddps %ymm11,%ymm12,%ymm11 .byte 197,28,88,226 // vaddps %ymm2,%ymm12,%ymm12 .byte 197,236,194,211,0 // vcmpeqps %ymm3,%ymm2,%ymm2 .byte 196,195,37,74,212,32 // vblendvps %ymm2,%ymm12,%ymm11,%ymm2 .byte 196,65,76,194,192,0 // vcmpeqps %ymm8,%ymm6,%ymm8 .byte 196,195,109,74,210,128 // vblendvps %ymm8,%ymm10,%ymm2,%ymm2 .byte 196,194,69,184,217 // vfmadd231ps %ymm9,%ymm7,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_hardlight_hsw .globl _sk_hardlight_hsw FUNCTION(_sk_hardlight_hsw) _sk_hardlight_hsw: .byte 196,98,125,24,5,96,166,2,0 // vbroadcastss 0x2a660(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,148,165,2,0 // vbroadcastss 0x2a594(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,175,164,2,0 // vbroadcastss 0x2a4af(%rip),%ymm11 # 2ae20 <_sk_srcover_rgba_8888_sse2_lowp+0x84c> .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,160,164,2,0 // vbroadcastss 0x2a4a0(%rip),%ymm12 # 2ae24 <_sk_srcover_rgba_8888_sse2_lowp+0x850> .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,79,164,2,0 // vbroadcastss 0x2a44f(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,103,162,2,0 // vbroadcastss 0x2a267(%rip),%ymm14 # 2ae28 <_sk_srcover_rgba_8888_sse2_lowp+0x854> .byte 196,98,125,24,61,98,162,2,0 // vbroadcastss 0x2a262(%rip),%ymm15 # 2ae2c <_sk_srcover_rgba_8888_sse2_lowp+0x858> .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,83,162,2,0 // vbroadcastss 0x2a253(%rip),%ymm0 # 2ae30 <_sk_srcover_rgba_8888_sse2_lowp+0x85c> .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,20,161,2,0 // vbroadcastss 0x2a114(%rip),%ymm1 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,71,160,2,0 // vbroadcastss 0x2a047(%rip),%ymm14 # 2ae28 <_sk_srcover_rgba_8888_sse2_lowp+0x854> .byte 196,98,125,24,61,66,160,2,0 // vbroadcastss 0x2a042(%rip),%ymm15 # 2ae2c <_sk_srcover_rgba_8888_sse2_lowp+0x858> .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,51,160,2,0 // vbroadcastss 0x2a033(%rip),%ymm0 # 2ae30 <_sk_srcover_rgba_8888_sse2_lowp+0x85c> .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,244,158,2,0 // vbroadcastss 0x29ef4(%rip),%ymm1 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,169,158,2,0 // vbroadcastss 0x29ea9(%rip),%ymm13 # 2ae28 <_sk_srcover_rgba_8888_sse2_lowp+0x854> .byte 196,98,125,24,53,164,158,2,0 // vbroadcastss 0x29ea4(%rip),%ymm14 # 2ae2c <_sk_srcover_rgba_8888_sse2_lowp+0x858> .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,149,158,2,0 // vbroadcastss 0x29e95(%rip),%ymm15 # 2ae30 <_sk_srcover_rgba_8888_sse2_lowp+0x85c> .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,75,157,2,0 // vbroadcastss 0x29d4b(%rip),%ymm0 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,0,157,2,0 // vbroadcastss 0x29d00(%rip),%ymm13 # 2ae28 <_sk_srcover_rgba_8888_sse2_lowp+0x854> .byte 196,98,125,24,53,251,156,2,0 // vbroadcastss 0x29cfb(%rip),%ymm14 # 2ae2c <_sk_srcover_rgba_8888_sse2_lowp+0x858> .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,236,156,2,0 // vbroadcastss 0x29cec(%rip),%ymm15 # 2ae30 <_sk_srcover_rgba_8888_sse2_lowp+0x85c> .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,162,155,2,0 // vbroadcastss 0x29ba2(%rip),%ymm0 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,124,92,215 // vsubps %ymm7,%ymm0,%ymm10 .byte 197,172,89,210 // vmulps %ymm2,%ymm10,%ymm2 .byte 197,124,92,219 // vsubps %ymm3,%ymm0,%ymm11 .byte 196,226,37,184,212 // vfmadd231ps %ymm4,%ymm11,%ymm2 .byte 197,236,88,193 // vaddps %ymm1,%ymm2,%ymm0 .byte 197,172,89,76,36,200 // vmulps -0x38(%rsp),%ymm10,%ymm1 .byte 196,226,37,184,205 // vfmadd231ps %ymm5,%ymm11,%ymm1 .byte 196,193,116,88,200 // vaddps %ymm8,%ymm1,%ymm1 .byte 197,172,89,84,36,168 // vmulps -0x58(%rsp),%ymm10,%ymm2 .byte 196,98,77,168,218 // vfmadd213ps %ymm2,%ymm6,%ymm11 .byte 196,193,36,88,209 // vaddps %ymm9,%ymm11,%ymm2 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 196,193,100,92,220 // vsubps %ymm12,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcover_rgba_8888_hsw .globl _sk_srcover_rgba_8888_hsw FUNCTION(_sk_srcover_rgba_8888_hsw) _sk_srcover_rgba_8888_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,179,0,0,0 // jne 137b <_sk_srcover_rgba_8888_hsw+0xd3> .byte 196,129,126,111,60,152 // vmovdqu (%r8,%r11,4),%ymm7 .byte 197,197,219,37,234,149,2,0 // vpand 0x295ea(%rip),%ymm7,%ymm4 # 2a8c0 <_sk_srcover_rgba_8888_sse2_lowp+0x2ec> .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,69,0,45,253,149,2,0 // vpshufb 0x295fd(%rip),%ymm7,%ymm5 # 2a8e0 <_sk_srcover_rgba_8888_sse2_lowp+0x30c> .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,226,69,0,53,16,150,2,0 // vpshufb 0x29610(%rip),%ymm7,%ymm6 # 2a900 <_sk_srcover_rgba_8888_sse2_lowp+0x32c> .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,2,155,2,0 // vbroadcastss 0x29b02(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,98,125,24,13,33,155,2,0 // vbroadcastss 0x29b21(%rip),%ymm9 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .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 72,133,255 // test %rdi,%rdi .byte 117,65 // jne 13b2 <_sk_srcover_rgba_8888_hsw+0x10a> .byte 196,1,126,127,4,152 // vmovdqu %ymm8,(%r8,%r11,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,59,255,255,255 // ja 12ce <_sk_srcover_rgba_8888_hsw+0x26> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,254,0,0,0 // lea 0xfe(%rip),%r10 # 149c <_sk_srcover_rgba_8888_hsw+0x1f4> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,129,121,110,60,152 // vmovd (%r8,%r11,4),%xmm7 .byte 233,28,255,255,255 // jmpq 12ce <_sk_srcover_rgba_8888_hsw+0x26> .byte 65,137,249 // mov %edi,%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,181 // ja 1377 <_sk_srcover_rgba_8888_hsw+0xcf> .byte 65,15,182,193 // movzbl %r9b,%eax .byte 76,141,13,235,0,0,0 // lea 0xeb(%rip),%r9 # 14b8 <_sk_srcover_rgba_8888_hsw+0x210> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 196,1,121,126,4,152 // vmovd %xmm8,(%r8,%r11,4) .byte 235,153 // jmp 1377 <_sk_srcover_rgba_8888_hsw+0xcf> .byte 196,129,121,110,100,152,8 // vmovd 0x8(%r8,%r11,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,129,122,126,36,152 // vmovq (%r8,%r11,4),%xmm4 .byte 196,227,69,2,252,3 // vpblendd $0x3,%ymm4,%ymm7,%ymm7 .byte 233,201,254,255,255 // jmpq 12ce <_sk_srcover_rgba_8888_hsw+0x26> .byte 196,129,121,110,100,152,24 // vmovd 0x18(%r8,%r11,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,131,89,34,100,152,20,1 // vpinsrd $0x1,0x14(%r8,%r11,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,131,89,34,100,152,16,0 // vpinsrd $0x0,0x10(%r8,%r11,4),%xmm4,%xmm4 .byte 196,227,69,56,252,1 // vinserti128 $0x1,%xmm4,%ymm7,%ymm7 .byte 196,129,122,111,36,152 // vmovdqu (%r8,%r11,4),%xmm4 .byte 196,227,93,2,255,240 // vpblendd $0xf0,%ymm7,%ymm4,%ymm7 .byte 233,122,254,255,255 // jmpq 12ce <_sk_srcover_rgba_8888_hsw+0x26> .byte 196,3,121,22,68,152,8,2 // vpextrd $0x2,%xmm8,0x8(%r8,%r11,4) .byte 196,1,121,214,4,152 // vmovq %xmm8,(%r8,%r11,4) .byte 233,16,255,255,255 // jmpq 1377 <_sk_srcover_rgba_8888_hsw+0xcf> .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,3,121,22,76,152,24,2 // vpextrd $0x2,%xmm9,0x18(%r8,%r11,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,3,121,22,76,152,20,1 // vpextrd $0x1,%xmm9,0x14(%r8,%r11,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,1,121,126,76,152,16 // vmovd %xmm9,0x10(%r8,%r11,4) .byte 196,1,122,127,4,152 // vmovdqu %xmm8,(%r8,%r11,4) .byte 233,220,254,255,255 // jmpq 1377 <_sk_srcover_rgba_8888_hsw+0xcf> .byte 144 // nop .byte 11,255 // or %edi,%edi .byte 255 // (bad) .byte 255,88,255 // lcall *-0x1(%rax) .byte 255 // (bad) .byte 255,66,255 // incl -0x1(%rdx) .byte 255 // (bad) .byte 255,167,255,255,255,147 // jmpq *-0x6c000001(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 127,255 // jg 14b1 <_sk_srcover_rgba_8888_hsw+0x209> .byte 255 // (bad) .byte 255,105,255 // ljmp *-0x1(%rcx) .byte 255 // (bad) .byte 255,30 // lcall *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,164,255,255,255,156,255 // jmpq *-0x630001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // (bad) .byte 216,255 // fdivr %st(7),%st .byte 255 // (bad) .byte 255,203 // dec %ebx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 189,255,255,255,175 // mov $0xafffffff,%ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_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,14,153,2,0 // vbroadcastss 0x2990e(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,237,152,2,0 // vbroadcastss 0x298ed(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,207,152,2,0 // vbroadcastss 0x298cf(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 196,193,68,93,248 // vminps %ymm8,%ymm7,%ymm7 .byte 197,220,93,231 // vminps %ymm7,%ymm4,%ymm4 .byte 197,212,93,239 // vminps %ymm7,%ymm5,%ymm5 .byte 197,204,93,247 // vminps %ymm7,%ymm6,%ymm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_set_rgb_hsw .globl _sk_set_rgb_hsw FUNCTION(_sk_set_rgb_hsw) _sk_set_rgb_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,0 // vbroadcastss (%rax),%ymm0 .byte 196,226,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm1 .byte 196,226,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_swap_rb_hsw .globl _sk_swap_rb_hsw FUNCTION(_sk_swap_rb_hsw) _sk_swap_rb_hsw: .byte 197,124,40,192 // vmovaps %ymm0,%ymm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,194 // vmovaps %ymm2,%ymm0 .byte 197,124,41,194 // vmovaps %ymm8,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_invert_hsw .globl _sk_invert_hsw FUNCTION(_sk_invert_hsw) _sk_invert_hsw: .byte 196,98,125,24,5,138,152,2,0 // vbroadcastss 0x2988a(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 197,188,92,201 // vsubps %ymm1,%ymm8,%ymm1 .byte 197,188,92,210 // vsubps %ymm2,%ymm8,%ymm2 .byte 197,188,92,219 // vsubps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_move_src_dst_hsw .globl _sk_move_src_dst_hsw FUNCTION(_sk_move_src_dst_hsw) _sk_move_src_dst_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,224 // vmovaps %ymm0,%ymm4 .byte 197,252,40,233 // vmovaps %ymm1,%ymm5 .byte 197,252,40,242 // vmovaps %ymm2,%ymm6 .byte 197,252,40,251 // vmovaps %ymm3,%ymm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_dst_src_hsw .globl _sk_move_dst_src_hsw FUNCTION(_sk_move_dst_src_hsw) _sk_move_dst_src_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,196 // vmovaps %ymm4,%ymm0 .byte 197,252,40,205 // vmovaps %ymm5,%ymm1 .byte 197,252,40,214 // vmovaps %ymm6,%ymm2 .byte 197,252,40,223 // vmovaps %ymm7,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_hsw .globl _sk_premul_hsw FUNCTION(_sk_premul_hsw) _sk_premul_hsw: .byte 197,252,89,195 // vmulps %ymm3,%ymm0,%ymm0 .byte 197,244,89,203 // vmulps %ymm3,%ymm1,%ymm1 .byte 197,236,89,211 // vmulps %ymm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_dst_hsw .globl _sk_premul_dst_hsw FUNCTION(_sk_premul_dst_hsw) _sk_premul_dst_hsw: .byte 197,220,89,231 // vmulps %ymm7,%ymm4,%ymm4 .byte 197,212,89,239 // vmulps %ymm7,%ymm5,%ymm5 .byte 197,204,89,247 // vmulps %ymm7,%ymm6,%ymm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_unpremul_hsw .globl _sk_unpremul_hsw FUNCTION(_sk_unpremul_hsw) _sk_unpremul_hsw: .byte 196,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,26,152,2,0 // vbroadcastss 0x2981a(%rip),%ymm10 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,39,152,2,0 // vbroadcastss 0x29827(%rip),%ymm8 # 2ae38 <_sk_srcover_rgba_8888_sse2_lowp+0x864> .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,25,152,2,0 // vbroadcastss 0x29819(%rip),%ymm11 # 2ae3c <_sk_srcover_rgba_8888_sse2_lowp+0x868> .byte 196,98,125,24,37,252,151,2,0 // vbroadcastss 0x297fc(%rip),%ymm12 # 2ae28 <_sk_srcover_rgba_8888_sse2_lowp+0x854> .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,1,152,2,0 // vbroadcastss 0x29801(%rip),%ymm14 # 2ae40 <_sk_srcover_rgba_8888_sse2_lowp+0x86c> .byte 196,66,45,168,238 // vfmadd213ps %ymm14,%ymm10,%ymm13 .byte 196,98,125,24,21,247,151,2,0 // vbroadcastss 0x297f7(%rip),%ymm10 # 2ae44 <_sk_srcover_rgba_8888_sse2_lowp+0x870> .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,143,151,2,0 // vbroadcastss 0x2978f(%rip),%ymm8 # 2ae38 <_sk_srcover_rgba_8888_sse2_lowp+0x864> .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,129,151,2,0 // vbroadcastss 0x29781(%rip),%ymm11 # 2ae3c <_sk_srcover_rgba_8888_sse2_lowp+0x868> .byte 196,98,125,24,37,100,151,2,0 // vbroadcastss 0x29764(%rip),%ymm12 # 2ae28 <_sk_srcover_rgba_8888_sse2_lowp+0x854> .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,105,151,2,0 // vbroadcastss 0x29769(%rip),%ymm14 # 2ae40 <_sk_srcover_rgba_8888_sse2_lowp+0x86c> .byte 196,66,45,168,238 // vfmadd213ps %ymm14,%ymm10,%ymm13 .byte 196,98,125,24,21,95,151,2,0 // vbroadcastss 0x2975f(%rip),%ymm10 # 2ae44 <_sk_srcover_rgba_8888_sse2_lowp+0x870> .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,3,151,2,0 // vbroadcastss 0x29703(%rip),%ymm8 # 2ae48 <_sk_srcover_rgba_8888_sse2_lowp+0x874> .byte 196,65,124,89,208 // vmulps %ymm8,%ymm0,%ymm10 .byte 196,98,125,24,29,249,150,2,0 // vbroadcastss 0x296f9(%rip),%ymm11 # 2ae4c <_sk_srcover_rgba_8888_sse2_lowp+0x878> .byte 196,98,125,24,37,244,150,2,0 // vbroadcastss 0x296f4(%rip),%ymm12 # 2ae50 <_sk_srcover_rgba_8888_sse2_lowp+0x87c> .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,229,150,2,0 // vbroadcastss 0x296e5(%rip),%ymm14 # 2ae54 <_sk_srcover_rgba_8888_sse2_lowp+0x880> .byte 196,66,53,168,238 // vfmadd213ps %ymm14,%ymm9,%ymm13 .byte 196,98,125,24,61,219,150,2,0 // vbroadcastss 0x296db(%rip),%ymm15 # 2ae58 <_sk_srcover_rgba_8888_sse2_lowp+0x884> .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,199,150,2,0 // vbroadcastss 0x296c7(%rip),%ymm13 # 2ae5c <_sk_srcover_rgba_8888_sse2_lowp+0x888> .byte 196,193,124,194,197,1 // vcmpltps %ymm13,%ymm0,%ymm0 .byte 196,195,53,74,194,0 // vblendvps %ymm0,%ymm10,%ymm9,%ymm0 .byte 197,124,82,201 // vrsqrtps %ymm1,%ymm9 .byte 196,65,124,40,212 // vmovaps %ymm12,%ymm10 .byte 196,66,53,168,211 // vfmadd213ps %ymm11,%ymm9,%ymm10 .byte 196,66,53,168,214 // vfmadd213ps %ymm14,%ymm9,%ymm10 .byte 196,65,52,88,207 // vaddps %ymm15,%ymm9,%ymm9 .byte 196,65,124,83,201 // vrcpps %ymm9,%ymm9 .byte 196,65,44,89,201 // vmulps %ymm9,%ymm10,%ymm9 .byte 196,65,116,89,208 // vmulps %ymm8,%ymm1,%ymm10 .byte 196,193,116,194,205,1 // vcmpltps %ymm13,%ymm1,%ymm1 .byte 196,195,53,74,202,16 // vblendvps %ymm1,%ymm10,%ymm9,%ymm1 .byte 197,124,82,202 // vrsqrtps %ymm2,%ymm9 .byte 196,66,53,168,227 // vfmadd213ps %ymm11,%ymm9,%ymm12 .byte 196,66,53,168,230 // vfmadd213ps %ymm14,%ymm9,%ymm12 .byte 196,65,52,88,207 // vaddps %ymm15,%ymm9,%ymm9 .byte 196,65,124,83,201 // vrcpps %ymm9,%ymm9 .byte 196,65,28,89,201 // vmulps %ymm9,%ymm12,%ymm9 .byte 196,65,108,89,192 // vmulps %ymm8,%ymm2,%ymm8 .byte 196,193,108,194,213,1 // vcmpltps %ymm13,%ymm2,%ymm2 .byte 196,195,53,74,208,32 // vblendvps %ymm2,%ymm8,%ymm9,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_rgb_to_hsl_hsw .globl _sk_rgb_to_hsl_hsw FUNCTION(_sk_rgb_to_hsl_hsw) _sk_rgb_to_hsl_hsw: .byte 197,116,95,194 // vmaxps %ymm2,%ymm1,%ymm8 .byte 196,65,124,95,192 // vmaxps %ymm8,%ymm0,%ymm8 .byte 197,116,93,202 // vminps %ymm2,%ymm1,%ymm9 .byte 196,65,124,93,201 // vminps %ymm9,%ymm0,%ymm9 .byte 196,65,60,92,209 // vsubps %ymm9,%ymm8,%ymm10 .byte 196,98,125,24,29,226,149,2,0 // vbroadcastss 0x295e2(%rip),%ymm11 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,35,150,2,0 // vbroadcastss 0x29623(%rip),%ymm14 # 2ae60 <_sk_srcover_rgba_8888_sse2_lowp+0x88c> .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,10,150,2,0 // vbroadcastss 0x2960a(%rip),%ymm14 # 2ae68 <_sk_srcover_rgba_8888_sse2_lowp+0x894> .byte 196,66,37,168,238 // vfmadd213ps %ymm14,%ymm11,%ymm13 .byte 196,98,125,24,53,248,149,2,0 // vbroadcastss 0x295f8(%rip),%ymm14 # 2ae64 <_sk_srcover_rgba_8888_sse2_lowp+0x890> .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,111,149,2,0 // vbroadcastss 0x2956f(%rip),%ymm11 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,158,149,2,0 // vbroadcastss 0x2959e(%rip),%ymm8 # 2ae6c <_sk_srcover_rgba_8888_sse2_lowp+0x898> .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,251,148,2,0 // vbroadcastss 0x294fb(%rip),%ymm8 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,58,149,2,0 // vbroadcastss 0x2953a(%rip),%ymm9 # 2ae64 <_sk_srcover_rgba_8888_sse2_lowp+0x890> .byte 196,66,109,170,202 // vfmsub213ps %ymm10,%ymm2,%ymm9 .byte 196,98,125,24,29,56,149,2,0 // vbroadcastss 0x29538(%rip),%ymm11 # 2ae70 <_sk_srcover_rgba_8888_sse2_lowp+0x89c> .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,10,149,2,0 // vbroadcastss 0x2950a(%rip),%ymm13 # 2ae60 <_sk_srcover_rgba_8888_sse2_lowp+0x88c> .byte 196,193,4,89,197 // vmulps %ymm13,%ymm15,%ymm0 .byte 196,98,125,24,53,4,149,2,0 // vbroadcastss 0x29504(%rip),%ymm14 # 2ae68 <_sk_srcover_rgba_8888_sse2_lowp+0x894> .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,254,148,2,0 // vbroadcastss 0x294fe(%rip),%ymm3 # 2ae74 <_sk_srcover_rgba_8888_sse2_lowp+0x8a0> .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,213,148,2,0 // vbroadcastss 0x294d5(%rip),%ymm12 # 2ae6c <_sk_srcover_rgba_8888_sse2_lowp+0x898> .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,137,148,2,0 // vbroadcastss 0x29489(%rip),%ymm0 # 2ae78 <_sk_srcover_rgba_8888_sse2_lowp+0x8a4> .byte 197,220,88,192 // vaddps %ymm0,%ymm4,%ymm0 .byte 196,227,125,8,224,1 // vroundps $0x1,%ymm0,%ymm4 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 197,228,194,216,2 // vcmpleps %ymm0,%ymm3,%ymm3 .byte 196,193,124,89,229 // vmulps %ymm13,%ymm0,%ymm4 .byte 197,140,92,244 // vsubps %ymm4,%ymm14,%ymm6 .byte 196,194,37,168,241 // vfmadd213ps %ymm9,%ymm11,%ymm6 .byte 196,195,77,74,217,48 // vblendvps %ymm3,%ymm9,%ymm6,%ymm3 .byte 197,188,194,240,2 // vcmpleps %ymm0,%ymm8,%ymm6 .byte 196,227,45,74,219,96 // vblendvps %ymm6,%ymm3,%ymm10,%ymm3 .byte 196,98,37,184,204 // vfmadd231ps %ymm4,%ymm11,%ymm9 .byte 197,156,194,192,2 // vcmpleps %ymm0,%ymm12,%ymm0 .byte 196,227,53,74,219,0 // vblendvps %ymm0,%ymm3,%ymm9,%ymm3 .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,212,194,224,0 // vcmpeqps %ymm0,%ymm5,%ymm4 .byte 196,227,5,74,194,64 // vblendvps %ymm4,%ymm2,%ymm15,%ymm0 .byte 196,227,117,74,202,64 // vblendvps %ymm4,%ymm2,%ymm1,%ymm1 .byte 196,227,101,74,210,64 // vblendvps %ymm4,%ymm2,%ymm3,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,92,36,128 // vmovups -0x80(%rsp),%ymm3 .byte 197,252,16,100,36,160 // vmovups -0x60(%rsp),%ymm4 .byte 197,252,16,108,36,192 // vmovups -0x40(%rsp),%ymm5 .byte 197,252,16,116,36,224 // vmovups -0x20(%rsp),%ymm6 .byte 197,252,16,60,36 // vmovups (%rsp),%ymm7 .byte 72,131,196,56 // add $0x38,%rsp .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_1_float_hsw .globl _sk_scale_1_float_hsw FUNCTION(_sk_scale_1_float_hsw) _sk_scale_1_float_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 197,188,89,219 // vmulps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_u8_hsw .globl _sk_scale_u8_hsw FUNCTION(_sk_scale_u8_hsw) _sk_scale_u8_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,58 // jne 1ade <_sk_scale_u8_hsw+0x52> .byte 196,2,121,48,4,24 // vpmovzxbw (%r8,%r11,1),%xmm8 .byte 197,57,219,5,238,148,2,0 // vpand 0x294ee(%rip),%xmm8,%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 196,66,125,51,192 // vpmovzxwd %xmm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 196,98,125,24,13,183,147,2,0 // vbroadcastss 0x293b7(%rip),%ymm9 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .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 65,137,249 // mov %edi,%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 1aaa <_sk_scale_u8_hsw+0x1e> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,122,0,0,0 // lea 0x7a(%rip),%r10 # 1b78 <_sk_scale_u8_hsw+0xec> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,182,4,24 // movzbl (%r8,%r11,1),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 235,152 // jmp 1aaa <_sk_scale_u8_hsw+0x1e> .byte 67,15,182,68,24,2 // movzbl 0x2(%r8,%r11,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,2 // vpinsrw $0x2,%eax,%xmm8,%xmm8 .byte 67,15,183,4,24 // movzwl (%r8,%r11,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 1aaa <_sk_scale_u8_hsw+0x1e> .byte 67,15,182,68,24,6 // movzbl 0x6(%r8,%r11,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,6 // vpinsrw $0x6,%eax,%xmm8,%xmm8 .byte 67,15,182,68,24,5 // movzbl 0x5(%r8,%r11,1),%eax .byte 197,57,196,192,5 // vpinsrw $0x5,%eax,%xmm8,%xmm8 .byte 67,15,182,68,24,4 // movzbl 0x4(%r8,%r11,1),%eax .byte 197,57,196,192,4 // vpinsrw $0x4,%eax,%xmm8,%xmm8 .byte 196,1,121,110,12,24 // vmovd (%r8,%r11,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 1aaa <_sk_scale_u8_hsw+0x1e> .byte 144 // nop .byte 143 // (bad) .byte 255 // (bad) .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 ffffffffdf001b88 <_sk_srcover_rgba_8888_sse2_lowp+0xffffffffdefd75b4> .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_scale_565_hsw .globl _sk_scale_565_hsw FUNCTION(_sk_scale_565_hsw) _sk_scale_565_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,161,0,0,0 // jne 1c54 <_sk_scale_565_hsw+0xc0> .byte 196,1,122,111,4,88 // vmovdqu (%r8,%r11,2),%xmm8 .byte 196,66,125,51,192 // vpmovzxwd %xmm8,%ymm8 .byte 196,98,125,88,13,185,146,2,0 // vpbroadcastd 0x292b9(%rip),%ymm9 # 2ae80 <_sk_srcover_rgba_8888_sse2_lowp+0x8ac> .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,170,146,2,0 // vbroadcastss 0x292aa(%rip),%ymm10 # 2ae84 <_sk_srcover_rgba_8888_sse2_lowp+0x8b0> .byte 196,65,52,89,202 // vmulps %ymm10,%ymm9,%ymm9 .byte 196,98,125,88,21,160,146,2,0 // vpbroadcastd 0x292a0(%rip),%ymm10 # 2ae88 <_sk_srcover_rgba_8888_sse2_lowp+0x8b4> .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,145,146,2,0 // vbroadcastss 0x29291(%rip),%ymm11 # 2ae8c <_sk_srcover_rgba_8888_sse2_lowp+0x8b8> .byte 196,65,44,89,211 // vmulps %ymm11,%ymm10,%ymm10 .byte 196,98,125,88,29,135,146,2,0 // vpbroadcastd 0x29287(%rip),%ymm11 # 2ae90 <_sk_srcover_rgba_8888_sse2_lowp+0x8bc> .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,120,146,2,0 // vbroadcastss 0x29278(%rip),%ymm11 # 2ae94 <_sk_srcover_rgba_8888_sse2_lowp+0x8c0> .byte 196,65,60,89,195 // vmulps %ymm11,%ymm8,%ymm8 .byte 197,100,194,223,1 // vcmpltps %ymm7,%ymm3,%ymm11 .byte 196,65,44,93,224 // vminps %ymm8,%ymm10,%ymm12 .byte 196,65,52,93,228 // vminps %ymm12,%ymm9,%ymm12 .byte 196,65,44,95,232 // vmaxps %ymm8,%ymm10,%ymm13 .byte 196,65,52,95,237 // vmaxps %ymm13,%ymm9,%ymm13 .byte 196,67,21,74,220,176 // vblendvps %ymm11,%ymm12,%ymm13,%ymm11 .byte 197,180,89,192 // vmulps %ymm0,%ymm9,%ymm0 .byte 197,172,89,201 // vmulps %ymm1,%ymm10,%ymm1 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 197,164,89,219 // vmulps %ymm3,%ymm11,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%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,76,255,255,255 // ja 1bb9 <_sk_scale_565_hsw+0x25> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,100,0,0,0 // lea 0x64(%rip),%r10 # 1cdc <_sk_scale_565_hsw+0x148> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,183,4,88 // movzwl (%r8,%r11,2),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 233,42,255,255,255 // jmpq 1bb9 <_sk_scale_565_hsw+0x25> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,1,57,196,68,88,4,2 // vpinsrw $0x2,0x4(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,121,110,12,88 // vmovd (%r8,%r11,2),%xmm9 .byte 196,67,57,2,193,1 // vpblendd $0x1,%xmm9,%xmm8,%xmm8 .byte 233,12,255,255,255 // jmpq 1bb9 <_sk_scale_565_hsw+0x25> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,1,57,196,68,88,12,6 // vpinsrw $0x6,0xc(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,57,196,68,88,10,5 // vpinsrw $0x5,0xa(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,57,196,68,88,8,4 // vpinsrw $0x4,0x8(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,122,126,12,88 // vmovq (%r8,%r11,2),%xmm9 .byte 196,67,49,2,192,12 // vpblendd $0xc,%xmm8,%xmm9,%xmm8 .byte 233,222,254,255,255 // jmpq 1bb9 <_sk_scale_565_hsw+0x25> .byte 144 // nop .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,192 // inc %eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,179,255,255,255,238 // pushq -0x11000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,230 // jmpq *%rsi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 222,255 // fdivrp %st,%st(7) .byte 255 // (bad) .byte 255,209 // callq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_lerp_1_float_hsw .globl _sk_lerp_1_float_hsw FUNCTION(_sk_lerp_1_float_hsw) _sk_lerp_1_float_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 196,226,61,168,196 // vfmadd213ps %ymm4,%ymm8,%ymm0 .byte 197,244,92,205 // vsubps %ymm5,%ymm1,%ymm1 .byte 196,226,61,168,205 // vfmadd213ps %ymm5,%ymm8,%ymm1 .byte 197,236,92,214 // vsubps %ymm6,%ymm2,%ymm2 .byte 196,226,61,168,214 // vfmadd213ps %ymm6,%ymm8,%ymm2 .byte 197,228,92,223 // vsubps %ymm7,%ymm3,%ymm3 .byte 196,226,61,168,223 // vfmadd213ps %ymm7,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lerp_u8_hsw .globl _sk_lerp_u8_hsw FUNCTION(_sk_lerp_u8_hsw) _sk_lerp_u8_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,78 // jne 1d8d <_sk_lerp_u8_hsw+0x66> .byte 196,2,121,48,4,24 // vpmovzxbw (%r8,%r11,1),%xmm8 .byte 197,57,219,5,83,146,2,0 // vpand 0x29253(%rip),%xmm8,%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 196,66,125,51,192 // vpmovzxwd %xmm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 196,98,125,24,13,28,145,2,0 // vbroadcastss 0x2911c(%rip),%ymm9 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .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 65,137,249 // mov %edi,%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 1d45 <_sk_lerp_u8_hsw+0x1e> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,123,0,0,0 // lea 0x7b(%rip),%r10 # 1e28 <_sk_lerp_u8_hsw+0x101> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,182,4,24 // movzbl (%r8,%r11,1),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 235,132 // jmp 1d45 <_sk_lerp_u8_hsw+0x1e> .byte 67,15,182,68,24,2 // movzbl 0x2(%r8,%r11,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,2 // vpinsrw $0x2,%eax,%xmm8,%xmm8 .byte 67,15,183,4,24 // movzwl (%r8,%r11,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 1d45 <_sk_lerp_u8_hsw+0x1e> .byte 67,15,182,68,24,6 // movzbl 0x6(%r8,%r11,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,6 // vpinsrw $0x6,%eax,%xmm8,%xmm8 .byte 67,15,182,68,24,5 // movzbl 0x5(%r8,%r11,1),%eax .byte 197,57,196,192,5 // vpinsrw $0x5,%eax,%xmm8,%xmm8 .byte 67,15,182,68,24,4 // movzbl 0x4(%r8,%r11,1),%eax .byte 197,57,196,192,4 // vpinsrw $0x4,%eax,%xmm8,%xmm8 .byte 196,1,121,110,12,24 // vmovd (%r8,%r11,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 1d45 <_sk_lerp_u8_hsw+0x1e> .byte 102,144 // xchg %ax,%ax .byte 142,255 // mov %edi,%? .byte 255 // (bad) .byte 255,169,255,255,255,153 // ljmp *-0x66000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 232,255,255,255,221 // callq ffffffffde001e38 <_sk_srcover_rgba_8888_sse2_lowp+0xffffffffddfd7864> .byte 255 // (bad) .byte 255 // (bad) .byte 255,210 // callq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255,194 // inc %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_lerp_565_hsw .globl _sk_lerp_565_hsw FUNCTION(_sk_lerp_565_hsw) _sk_lerp_565_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,181,0,0,0 // jne 1f18 <_sk_lerp_565_hsw+0xd4> .byte 196,1,122,111,4,88 // vmovdqu (%r8,%r11,2),%xmm8 .byte 196,66,125,51,192 // vpmovzxwd %xmm8,%ymm8 .byte 196,98,125,88,13,9,144,2,0 // vpbroadcastd 0x29009(%rip),%ymm9 # 2ae80 <_sk_srcover_rgba_8888_sse2_lowp+0x8ac> .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,250,143,2,0 // vbroadcastss 0x28ffa(%rip),%ymm10 # 2ae84 <_sk_srcover_rgba_8888_sse2_lowp+0x8b0> .byte 196,65,52,89,202 // vmulps %ymm10,%ymm9,%ymm9 .byte 196,98,125,88,21,240,143,2,0 // vpbroadcastd 0x28ff0(%rip),%ymm10 # 2ae88 <_sk_srcover_rgba_8888_sse2_lowp+0x8b4> .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,225,143,2,0 // vbroadcastss 0x28fe1(%rip),%ymm11 # 2ae8c <_sk_srcover_rgba_8888_sse2_lowp+0x8b8> .byte 196,65,44,89,211 // vmulps %ymm11,%ymm10,%ymm10 .byte 196,98,125,88,29,215,143,2,0 // vpbroadcastd 0x28fd7(%rip),%ymm11 # 2ae90 <_sk_srcover_rgba_8888_sse2_lowp+0x8bc> .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,200,143,2,0 // vbroadcastss 0x28fc8(%rip),%ymm11 # 2ae94 <_sk_srcover_rgba_8888_sse2_lowp+0x8c0> .byte 196,65,60,89,195 // vmulps %ymm11,%ymm8,%ymm8 .byte 197,100,194,223,1 // vcmpltps %ymm7,%ymm3,%ymm11 .byte 196,65,44,93,224 // vminps %ymm8,%ymm10,%ymm12 .byte 196,65,52,93,228 // vminps %ymm12,%ymm9,%ymm12 .byte 196,65,44,95,232 // vmaxps %ymm8,%ymm10,%ymm13 .byte 196,65,52,95,237 // vmaxps %ymm13,%ymm9,%ymm13 .byte 196,67,21,74,220,176 // vblendvps %ymm11,%ymm12,%ymm13,%ymm11 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 196,226,53,168,196 // vfmadd213ps %ymm4,%ymm9,%ymm0 .byte 197,244,92,205 // vsubps %ymm5,%ymm1,%ymm1 .byte 196,226,45,168,205 // vfmadd213ps %ymm5,%ymm10,%ymm1 .byte 197,236,92,214 // vsubps %ymm6,%ymm2,%ymm2 .byte 196,226,61,168,214 // vfmadd213ps %ymm6,%ymm8,%ymm2 .byte 197,228,92,223 // vsubps %ymm7,%ymm3,%ymm3 .byte 196,226,37,168,223 // vfmadd213ps %ymm7,%ymm11,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%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,56,255,255,255 // ja 1e69 <_sk_lerp_565_hsw+0x25> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,100,0,0,0 // lea 0x64(%rip),%r10 # 1fa0 <_sk_lerp_565_hsw+0x15c> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,183,4,88 // movzwl (%r8,%r11,2),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 233,22,255,255,255 // jmpq 1e69 <_sk_lerp_565_hsw+0x25> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,1,57,196,68,88,4,2 // vpinsrw $0x2,0x4(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,121,110,12,88 // vmovd (%r8,%r11,2),%xmm9 .byte 196,67,57,2,193,1 // vpblendd $0x1,%xmm9,%xmm8,%xmm8 .byte 233,248,254,255,255 // jmpq 1e69 <_sk_lerp_565_hsw+0x25> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,1,57,196,68,88,12,6 // vpinsrw $0x6,0xc(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,57,196,68,88,10,5 // vpinsrw $0x5,0xa(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,57,196,68,88,8,4 // vpinsrw $0x4,0x8(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,122,126,12,88 // vmovq (%r8,%r11,2),%xmm9 .byte 196,67,49,2,192,12 // vpblendd $0xc,%xmm8,%xmm9,%xmm8 .byte 233,202,254,255,255 // jmpq 1e69 <_sk_lerp_565_hsw+0x25> .byte 144 // nop .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,192 // inc %eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,179,255,255,255,238 // pushq -0x11000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,230 // jmpq *%rsi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 222,255 // fdivrp %st,%st(7) .byte 255 // (bad) .byte 255,209 // callq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_tables_hsw .globl _sk_load_tables_hsw FUNCTION(_sk_load_tables_hsw) _sk_load_tables_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 72,133,255 // test %rdi,%rdi .byte 117,116 // jne 203a <_sk_load_tables_hsw+0x7e> .byte 196,193,126,111,28,144 // vmovdqu (%r8,%rdx,4),%ymm3 .byte 197,229,219,13,76,137,2,0 // vpand 0x2894c(%rip),%ymm3,%ymm1 # 2a920 <_sk_srcover_rgba_8888_sse2_lowp+0x34c> .byte 196,65,61,118,192 // vpcmpeqd %ymm8,%ymm8,%ymm8 .byte 76,139,64,8 // mov 0x8(%rax),%r8 .byte 76,139,72,16 // mov 0x10(%rax),%r9 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 197,253,239,192 // vpxor %ymm0,%ymm0,%ymm0 .byte 196,65,53,118,201 // vpcmpeqd %ymm9,%ymm9,%ymm9 .byte 196,194,53,146,4,136 // vgatherdps %ymm9,(%r8,%ymm1,4),%ymm0 .byte 196,98,101,0,13,67,137,2,0 // vpshufb 0x28943(%rip),%ymm3,%ymm9 # 2a940 <_sk_srcover_rgba_8888_sse2_lowp+0x36c> .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 196,65,45,118,210 // vpcmpeqd %ymm10,%ymm10,%ymm10 .byte 196,130,45,146,12,137 // vgatherdps %ymm10,(%r9,%ymm9,4),%ymm1 .byte 72,139,64,24 // mov 0x18(%rax),%rax .byte 196,98,101,0,13,71,137,2,0 // vpshufb 0x28947(%rip),%ymm3,%ymm9 # 2a960 <_sk_srcover_rgba_8888_sse2_lowp+0x38c> .byte 196,162,61,146,20,136 // vgatherdps %ymm8,(%rax,%ymm9,4),%ymm2 .byte 197,229,114,211,24 // vpsrld $0x18,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,98,125,24,5,75,142,2,0 // vbroadcastss 0x28e4b(%rip),%ymm8 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,122,255,255,255 // ja 1fcc <_sk_load_tables_hsw+0x10> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,139,0,0,0 // lea 0x8b(%rip),%r10 # 20e8 <_sk_load_tables_hsw+0x12c> .byte 79,99,12,138 // movslq (%r10,%r9,4),%r9 .byte 77,1,209 // add %r10,%r9 .byte 65,255,225 // jmpq *%r9 .byte 196,193,121,110,28,144 // vmovd (%r8,%rdx,4),%xmm3 .byte 233,90,255,255,255 // jmpq 1fcc <_sk_load_tables_hsw+0x10> .byte 196,193,121,110,68,144,8 // vmovd 0x8(%r8,%rdx,4),%xmm0 .byte 196,226,121,89,192 // vpbroadcastq %xmm0,%xmm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 196,227,117,2,216,4 // vpblendd $0x4,%ymm0,%ymm1,%ymm3 .byte 196,193,122,126,4,144 // vmovq (%r8,%rdx,4),%xmm0 .byte 196,227,101,2,216,3 // vpblendd $0x3,%ymm0,%ymm3,%ymm3 .byte 233,51,255,255,255 // jmpq 1fcc <_sk_load_tables_hsw+0x10> .byte 196,193,121,110,68,144,24 // vmovd 0x18(%r8,%rdx,4),%xmm0 .byte 196,226,125,89,192 // vpbroadcastq %xmm0,%ymm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 196,227,117,2,216,64 // vpblendd $0x40,%ymm0,%ymm1,%ymm3 .byte 196,227,125,57,216,1 // vextracti128 $0x1,%ymm3,%xmm0 .byte 196,195,121,34,68,144,20,1 // vpinsrd $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0 .byte 196,227,101,56,216,1 // vinserti128 $0x1,%xmm0,%ymm3,%ymm3 .byte 196,227,125,57,216,1 // vextracti128 $0x1,%ymm3,%xmm0 .byte 196,195,121,34,68,144,16,0 // vpinsrd $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0 .byte 196,227,101,56,216,1 // vinserti128 $0x1,%xmm0,%ymm3,%ymm3 .byte 196,193,122,111,4,144 // vmovdqu (%r8,%rdx,4),%xmm0 .byte 196,227,125,2,219,240 // vpblendd $0xf0,%ymm3,%ymm0,%ymm3 .byte 233,228,254,255,255 // jmpq 1fcc <_sk_load_tables_hsw+0x10> .byte 127,255 // jg 20e9 <_sk_load_tables_hsw+0x12d> .byte 255 // (bad) .byte 255,160,255,255,255,138 // jmpq *-0x75000001(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 239 // out %eax,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 219,255 // (bad) .byte 255 // (bad) .byte 255,199 // inc %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 177,255 // mov $0xff,%cl .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_tables_u16_be_hsw .globl _sk_load_tables_u16_be_hsw FUNCTION(_sk_load_tables_u16_be_hsw) _sk_load_tables_u16_be_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 76,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,215,0,0,0 // jne 21f1 <_sk_load_tables_u16_be_hsw+0xed> .byte 196,1,121,16,4,72 // vmovupd (%r8,%r9,2),%xmm8 .byte 196,129,121,16,84,72,16 // vmovupd 0x10(%r8,%r9,2),%xmm2 .byte 196,129,121,16,92,72,32 // vmovupd 0x20(%r8,%r9,2),%xmm3 .byte 196,1,122,111,76,72,48 // vmovdqu 0x30(%r8,%r9,2),%xmm9 .byte 197,185,97,194 // vpunpcklwd %xmm2,%xmm8,%xmm0 .byte 197,185,105,210 // vpunpckhwd %xmm2,%xmm8,%xmm2 .byte 196,193,97,97,201 // vpunpcklwd %xmm9,%xmm3,%xmm1 .byte 196,193,97,105,217 // vpunpckhwd %xmm9,%xmm3,%xmm3 .byte 197,121,97,194 // vpunpcklwd %xmm2,%xmm0,%xmm8 .byte 197,121,105,202 // vpunpckhwd %xmm2,%xmm0,%xmm9 .byte 197,241,97,195 // vpunpcklwd %xmm3,%xmm1,%xmm0 .byte 197,113,105,243 // vpunpckhwd %xmm3,%xmm1,%xmm14 .byte 197,185,108,200 // vpunpcklqdq %xmm0,%xmm8,%xmm1 .byte 197,57,109,192 // vpunpckhqdq %xmm0,%xmm8,%xmm8 .byte 196,65,49,108,214 // vpunpcklqdq %xmm14,%xmm9,%xmm10 .byte 197,121,111,29,52,142,2,0 // vmovdqa 0x28e34(%rip),%xmm11 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 196,193,113,219,195 // vpand %xmm11,%xmm1,%xmm0 .byte 196,226,125,51,200 // vpmovzxwd %xmm0,%ymm1 .byte 196,65,29,118,228 // vpcmpeqd %ymm12,%ymm12,%ymm12 .byte 197,237,239,210 // vpxor %ymm2,%ymm2,%ymm2 .byte 76,139,64,8 // mov 0x8(%rax),%r8 .byte 76,139,72,16 // mov 0x10(%rax),%r9 .byte 196,65,21,118,237 // vpcmpeqd %ymm13,%ymm13,%ymm13 .byte 197,253,239,192 // vpxor %ymm0,%ymm0,%ymm0 .byte 196,194,21,146,4,136 // vgatherdps %ymm13,(%r8,%ymm1,4),%ymm0 .byte 196,193,57,219,203 // vpand %xmm11,%xmm8,%xmm1 .byte 196,98,125,51,193 // vpmovzxwd %xmm1,%ymm8 .byte 196,65,21,118,237 // vpcmpeqd %ymm13,%ymm13,%ymm13 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 196,130,21,146,12,129 // vgatherdps %ymm13,(%r9,%ymm8,4),%ymm1 .byte 72,139,64,24 // mov 0x18(%rax),%rax .byte 196,193,41,219,219 // vpand %xmm11,%xmm10,%xmm3 .byte 196,226,125,51,219 // vpmovzxwd %xmm3,%ymm3 .byte 196,226,29,146,20,152 // vgatherdps %ymm12,(%rax,%ymm3,4),%ymm2 .byte 196,193,49,109,222 // vpunpckhqdq %xmm14,%xmm9,%xmm3 .byte 197,185,113,243,8 // vpsllw $0x8,%xmm3,%xmm8 .byte 197,225,113,211,8 // vpsrlw $0x8,%xmm3,%xmm3 .byte 197,185,235,219 // vpor %xmm3,%xmm8,%xmm3 .byte 196,226,125,51,219 // vpmovzxwd %xmm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,98,125,24,5,176,140,2,0 // vbroadcastss 0x28cb0(%rip),%ymm8 # 2ae98 <_sk_srcover_rgba_8888_sse2_lowp+0x8c4> .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,1,123,16,4,72 // vmovsd (%r8,%r9,2),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,85 // je 2257 <_sk_load_tables_u16_be_hsw+0x153> .byte 196,1,57,22,68,72,8 // vmovhpd 0x8(%r8,%r9,2),%xmm8,%xmm8 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,72 // jb 2257 <_sk_load_tables_u16_be_hsw+0x153> .byte 196,129,123,16,84,72,16 // vmovsd 0x10(%r8,%r9,2),%xmm2 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 116,72 // je 2264 <_sk_load_tables_u16_be_hsw+0x160> .byte 196,129,105,22,84,72,24 // vmovhpd 0x18(%r8,%r9,2),%xmm2,%xmm2 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,59 // jb 2264 <_sk_load_tables_u16_be_hsw+0x160> .byte 196,129,123,16,92,72,32 // vmovsd 0x20(%r8,%r9,2),%xmm3 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 15,132,251,254,255,255 // je 2135 <_sk_load_tables_u16_be_hsw+0x31> .byte 196,129,97,22,92,72,40 // vmovhpd 0x28(%r8,%r9,2),%xmm3,%xmm3 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 15,130,234,254,255,255 // jb 2135 <_sk_load_tables_u16_be_hsw+0x31> .byte 196,1,122,126,76,72,48 // vmovq 0x30(%r8,%r9,2),%xmm9 .byte 233,222,254,255,255 // jmpq 2135 <_sk_load_tables_u16_be_hsw+0x31> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 197,233,87,210 // vxorpd %xmm2,%xmm2,%xmm2 .byte 233,209,254,255,255 // jmpq 2135 <_sk_load_tables_u16_be_hsw+0x31> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 233,200,254,255,255 // jmpq 2135 <_sk_load_tables_u16_be_hsw+0x31> HIDDEN _sk_load_tables_rgb_u16_be_hsw .globl _sk_load_tables_rgb_u16_be_hsw FUNCTION(_sk_load_tables_rgb_u16_be_hsw) _sk_load_tables_rgb_u16_be_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 76,141,12,82 // lea (%rdx,%rdx,2),%r9 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,206,0,0,0 // jne 234d <_sk_load_tables_rgb_u16_be_hsw+0xe0> .byte 196,1,122,111,28,72 // vmovdqu (%r8,%r9,2),%xmm11 .byte 196,129,122,111,92,72,12 // vmovdqu 0xc(%r8,%r9,2),%xmm3 .byte 196,129,122,111,84,72,24 // vmovdqu 0x18(%r8,%r9,2),%xmm2 .byte 196,129,122,111,68,72,32 // vmovdqu 0x20(%r8,%r9,2),%xmm0 .byte 197,249,115,216,4 // vpsrldq $0x4,%xmm0,%xmm0 .byte 196,193,57,115,219,6 // vpsrldq $0x6,%xmm11,%xmm8 .byte 197,169,115,219,6 // vpsrldq $0x6,%xmm3,%xmm10 .byte 197,241,115,218,6 // vpsrldq $0x6,%xmm2,%xmm1 .byte 197,177,115,216,6 // vpsrldq $0x6,%xmm0,%xmm9 .byte 196,65,113,97,201 // vpunpcklwd %xmm9,%xmm1,%xmm9 .byte 197,233,97,192 // vpunpcklwd %xmm0,%xmm2,%xmm0 .byte 196,193,57,97,210 // vpunpcklwd %xmm10,%xmm8,%xmm2 .byte 197,161,97,219 // vpunpcklwd %xmm3,%xmm11,%xmm3 .byte 197,225,97,202 // vpunpcklwd %xmm2,%xmm3,%xmm1 .byte 197,225,105,210 // vpunpckhwd %xmm2,%xmm3,%xmm2 .byte 196,193,121,97,217 // vpunpcklwd %xmm9,%xmm0,%xmm3 .byte 196,193,121,105,193 // vpunpckhwd %xmm9,%xmm0,%xmm0 .byte 197,105,108,192 // vpunpcklqdq %xmm0,%xmm2,%xmm8 .byte 197,241,108,195 // vpunpcklqdq %xmm3,%xmm1,%xmm0 .byte 197,241,109,203 // vpunpckhqdq %xmm3,%xmm1,%xmm1 .byte 197,249,111,29,180,140,2,0 // vmovdqa 0x28cb4(%rip),%xmm3 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 197,249,219,195 // vpand %xmm3,%xmm0,%xmm0 .byte 196,98,125,51,200 // vpmovzxwd %xmm0,%ymm9 .byte 196,65,45,118,210 // vpcmpeqd %ymm10,%ymm10,%ymm10 .byte 197,237,239,210 // vpxor %ymm2,%ymm2,%ymm2 .byte 76,139,64,8 // mov 0x8(%rax),%r8 .byte 76,139,72,16 // mov 0x10(%rax),%r9 .byte 196,65,37,118,219 // vpcmpeqd %ymm11,%ymm11,%ymm11 .byte 197,253,239,192 // vpxor %ymm0,%ymm0,%ymm0 .byte 196,130,37,146,4,136 // vgatherdps %ymm11,(%r8,%ymm9,4),%ymm0 .byte 197,241,219,203 // vpand %xmm3,%xmm1,%xmm1 .byte 196,98,125,51,201 // vpmovzxwd %xmm1,%ymm9 .byte 196,65,37,118,219 // vpcmpeqd %ymm11,%ymm11,%ymm11 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 196,130,37,146,12,137 // vgatherdps %ymm11,(%r9,%ymm9,4),%ymm1 .byte 72,139,64,24 // mov 0x18(%rax),%rax .byte 197,185,219,219 // vpand %xmm3,%xmm8,%xmm3 .byte 196,226,125,51,219 // vpmovzxwd %xmm3,%ymm3 .byte 196,226,45,146,20,152 // vgatherdps %ymm10,(%rax,%ymm3,4),%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,189,138,2,0 // vbroadcastss 0x28abd(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 255,224 // jmpq *%rax .byte 196,129,121,110,4,72 // vmovd (%r8,%r9,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,1,121,196,92,72,4,2 // vpinsrw $0x2,0x4(%r8,%r9,2),%xmm0,%xmm11 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,31 // jne 2385 <_sk_load_tables_rgb_u16_be_hsw+0x118> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 197,225,239,219 // vpxor %xmm3,%xmm3,%xmm3 .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 233,47,255,255,255 // jmpq 22b4 <_sk_load_tables_rgb_u16_be_hsw+0x47> .byte 196,129,121,110,68,72,6 // vmovd 0x6(%r8,%r9,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,1,121,196,68,72,10,2 // vpinsrw $0x2,0xa(%r8,%r9,2),%xmm0,%xmm8 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,48 // jb 23cf <_sk_load_tables_rgb_u16_be_hsw+0x162> .byte 196,129,121,110,68,72,12 // vmovd 0xc(%r8,%r9,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,129,121,196,92,72,16,2 // vpinsrw $0x2,0x10(%r8,%r9,2),%xmm0,%xmm3 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 117,48 // jne 23e9 <_sk_load_tables_rgb_u16_be_hsw+0x17c> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 233,229,254,255,255 // jmpq 22b4 <_sk_load_tables_rgb_u16_be_hsw+0x47> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 197,225,239,219 // vpxor %xmm3,%xmm3,%xmm3 .byte 233,203,254,255,255 // jmpq 22b4 <_sk_load_tables_rgb_u16_be_hsw+0x47> .byte 196,129,121,110,68,72,18 // vmovd 0x12(%r8,%r9,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,1,121,196,84,72,22,2 // vpinsrw $0x2,0x16(%r8,%r9,2),%xmm0,%xmm10 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,39 // jb 242a <_sk_load_tables_rgb_u16_be_hsw+0x1bd> .byte 196,129,121,110,68,72,24 // vmovd 0x18(%r8,%r9,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,129,121,196,84,72,28,2 // vpinsrw $0x2,0x1c(%r8,%r9,2),%xmm0,%xmm2 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 117,30 // jne 243b <_sk_load_tables_rgb_u16_be_hsw+0x1ce> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 233,138,254,255,255 // jmpq 22b4 <_sk_load_tables_rgb_u16_be_hsw+0x47> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 233,121,254,255,255 // jmpq 22b4 <_sk_load_tables_rgb_u16_be_hsw+0x47> .byte 196,129,121,110,68,72,30 // vmovd 0x1e(%r8,%r9,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,129,121,196,76,72,34,2 // vpinsrw $0x2,0x22(%r8,%r9,2),%xmm0,%xmm1 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 114,25 // jb 246e <_sk_load_tables_rgb_u16_be_hsw+0x201> .byte 196,129,121,110,68,72,36 // vmovd 0x24(%r8,%r9,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,129,121,196,68,72,40,2 // vpinsrw $0x2,0x28(%r8,%r9,2),%xmm0,%xmm0 .byte 233,70,254,255,255 // jmpq 22b4 <_sk_load_tables_rgb_u16_be_hsw+0x47> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 233,61,254,255,255 // jmpq 22b4 <_sk_load_tables_rgb_u16_be_hsw+0x47> HIDDEN _sk_byte_tables_hsw .globl _sk_byte_tables_hsw FUNCTION(_sk_byte_tables_hsw) _sk_byte_tables_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,5,178,137,2,0 // vbroadcastss 0x289b2(%rip),%ymm8 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 197,125,91,200 // vcvtps2dq %ymm0,%ymm9 .byte 196,65,249,126,200 // vmovq %xmm9,%r8 .byte 69,137,193 // mov %r8d,%r9d .byte 76,139,16 // mov (%rax),%r10 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,193,121,110,193 // vmovd %r9d,%xmm0 .byte 196,67,249,22,201,1 // vpextrq $0x1,%xmm9,%r9 .byte 73,193,232,32 // shr $0x20,%r8 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,67,121,32,208,1 // vpinsrb $0x1,%r8d,%xmm0,%xmm10 .byte 69,137,200 // mov %r9d,%r8d .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,99,125,57,200,1 // vextracti128 $0x1,%ymm9,%xmm0 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,67,41,32,200,2 // vpinsrb $0x2,%r8d,%xmm10,%xmm9 .byte 196,193,249,126,192 // vmovq %xmm0,%r8 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,67,49,32,201,3 // vpinsrb $0x3,%r9d,%xmm9,%xmm9 .byte 69,137,193 // mov %r8d,%r9d .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,67,49,32,201,4 // vpinsrb $0x4,%r9d,%xmm9,%xmm9 .byte 196,195,249,22,193,1 // vpextrq $0x1,%xmm0,%r9 .byte 73,193,232,32 // shr $0x20,%r8 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,195,49,32,192,5 // vpinsrb $0x5,%r8d,%xmm9,%xmm0 .byte 69,137,200 // mov %r9d,%r8d .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,195,121,32,192,6 // vpinsrb $0x6,%r8d,%xmm0,%xmm0 .byte 76,139,64,8 // mov 0x8(%rax),%r8 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,67,121,32,201,7 // vpinsrb $0x7,%r9d,%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,201 // vmovq %xmm1,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,193,121,110,194 // vmovd %r10d,%xmm0 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,1 // vpinsrb $0x1,%r9d,%xmm0,%xmm0 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,57,201,1 // vextracti128 $0x1,%ymm1,%xmm1 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,2 // vpinsrb $0x2,%r9d,%xmm0,%xmm0 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,195,121,32,194,3 // vpinsrb $0x3,%r10d,%xmm0,%xmm0 .byte 69,137,202 // mov %r9d,%r10d .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,195,121,32,194,4 // vpinsrb $0x4,%r10d,%xmm0,%xmm0 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,5 // vpinsrb $0x5,%r9d,%xmm0,%xmm0 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,6 // vpinsrb $0x6,%r9d,%xmm0,%xmm0 .byte 71,15,182,4,16 // movzbl (%r8,%r10,1),%r8d .byte 196,195,121,32,200,7 // vpinsrb $0x7,%r8d,%xmm0,%xmm1 .byte 76,139,64,16 // mov 0x10(%rax),%r8 .byte 196,193,108,89,192 // vmulps %ymm8,%ymm2,%ymm0 .byte 197,253,91,208 // vcvtps2dq %ymm0,%ymm2 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,193,121,110,194 // vmovd %r10d,%xmm0 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,1 // vpinsrb $0x1,%r9d,%xmm0,%xmm0 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,57,210,1 // vextracti128 $0x1,%ymm2,%xmm2 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,2 // vpinsrb $0x2,%r9d,%xmm0,%xmm0 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,195,121,32,194,3 // vpinsrb $0x3,%r10d,%xmm0,%xmm0 .byte 69,137,202 // mov %r9d,%r10d .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,195,121,32,194,4 // vpinsrb $0x4,%r10d,%xmm0,%xmm0 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,5 // vpinsrb $0x5,%r9d,%xmm0,%xmm0 .byte 69,137,209 // mov %r10d,%r9d .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,6 // vpinsrb $0x6,%r9d,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,4,16 // movzbl (%r8,%r10,1),%r8d .byte 196,195,121,32,208,7 // vpinsrb $0x7,%r8d,%xmm0,%xmm2 .byte 76,139,72,24 // mov 0x18(%rax),%r9 .byte 196,193,100,89,192 // vmulps %ymm8,%ymm3,%ymm0 .byte 197,253,91,216 // vcvtps2dq %ymm0,%ymm3 .byte 196,193,249,126,216 // vmovq %xmm3,%r8 .byte 68,137,192 // mov %r8d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 196,195,249,22,218,1 // vpextrq $0x1,%xmm3,%r10 .byte 73,193,232,32 // shr $0x20,%r8 .byte 67,15,182,4,1 // movzbl (%r9,%r8,1),%eax .byte 196,227,121,32,192,1 // vpinsrb $0x1,%eax,%xmm0,%xmm0 .byte 68,137,208 // mov %r10d,%eax .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,57,219,1 // vextracti128 $0x1,%ymm3,%xmm3 .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,121,32,192,2 // vpinsrb $0x2,%eax,%xmm0,%xmm0 .byte 196,193,249,126,216 // vmovq %xmm3,%r8 .byte 67,15,182,4,17 // movzbl (%r9,%r10,1),%eax .byte 196,227,121,32,192,3 // vpinsrb $0x3,%eax,%xmm0,%xmm0 .byte 68,137,192 // mov %r8d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,121,32,192,4 // vpinsrb $0x4,%eax,%xmm0,%xmm0 .byte 196,195,249,22,218,1 // vpextrq $0x1,%xmm3,%r10 .byte 73,193,232,32 // shr $0x20,%r8 .byte 67,15,182,4,1 // movzbl (%r9,%r8,1),%eax .byte 196,227,121,32,192,5 // vpinsrb $0x5,%eax,%xmm0,%xmm0 .byte 68,137,208 // mov %r10d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,121,32,216,6 // vpinsrb $0x6,%eax,%xmm0,%xmm3 .byte 73,193,234,32 // shr $0x20,%r10 .byte 67,15,182,4,17 // movzbl (%r9,%r10,1),%eax .byte 196,194,125,49,193 // vpmovzxbd %xmm9,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,5,128,135,2,0 // vbroadcastss 0x28780(%rip),%ymm8 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 196,226,125,49,201 // vpmovzxbd %xmm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,226,125,49,210 // vpmovzxbd %xmm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 196,227,97,32,216,7 // vpinsrb $0x7,%eax,%xmm3,%xmm3 .byte 196,226,125,49,219 // vpmovzxbd %xmm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_byte_tables_rgb_hsw .globl _sk_byte_tables_rgb_hsw FUNCTION(_sk_byte_tables_rgb_hsw) _sk_byte_tables_rgb_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,139,64,24 // mov 0x18(%rax),%r8d .byte 65,255,200 // dec %r8d .byte 196,65,121,110,192 // vmovd %r8d,%xmm8 .byte 196,66,125,88,192 // vpbroadcastd %xmm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,125,91,200 // vcvtps2dq %ymm0,%ymm9 .byte 196,65,249,126,200 // vmovq %xmm9,%r8 .byte 69,137,193 // mov %r8d,%r9d .byte 76,139,16 // mov (%rax),%r10 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,193,121,110,193 // vmovd %r9d,%xmm0 .byte 196,67,249,22,201,1 // vpextrq $0x1,%xmm9,%r9 .byte 73,193,232,32 // shr $0x20,%r8 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,67,121,32,208,1 // vpinsrb $0x1,%r8d,%xmm0,%xmm10 .byte 69,137,200 // mov %r9d,%r8d .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,99,125,57,200,1 // vextracti128 $0x1,%ymm9,%xmm0 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,67,41,32,200,2 // vpinsrb $0x2,%r8d,%xmm10,%xmm9 .byte 196,193,249,126,192 // vmovq %xmm0,%r8 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,67,49,32,201,3 // vpinsrb $0x3,%r9d,%xmm9,%xmm9 .byte 69,137,193 // mov %r8d,%r9d .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,67,49,32,201,4 // vpinsrb $0x4,%r9d,%xmm9,%xmm9 .byte 196,195,249,22,193,1 // vpextrq $0x1,%xmm0,%r9 .byte 73,193,232,32 // shr $0x20,%r8 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,195,49,32,192,5 // vpinsrb $0x5,%r8d,%xmm9,%xmm0 .byte 69,137,200 // mov %r9d,%r8d .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,195,121,32,192,6 // vpinsrb $0x6,%r8d,%xmm0,%xmm0 .byte 76,139,64,8 // mov 0x8(%rax),%r8 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,67,121,32,201,7 // vpinsrb $0x7,%r9d,%xmm0,%xmm9 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,253,91,201 // vcvtps2dq %ymm1,%ymm1 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,193,121,110,194 // vmovd %r10d,%xmm0 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,1 // vpinsrb $0x1,%r9d,%xmm0,%xmm0 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,57,201,1 // vextracti128 $0x1,%ymm1,%xmm1 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,2 // vpinsrb $0x2,%r9d,%xmm0,%xmm0 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,195,121,32,194,3 // vpinsrb $0x3,%r10d,%xmm0,%xmm0 .byte 69,137,202 // mov %r9d,%r10d .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,195,121,32,194,4 // vpinsrb $0x4,%r10d,%xmm0,%xmm0 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,5 // vpinsrb $0x5,%r9d,%xmm0,%xmm0 .byte 69,137,209 // mov %r10d,%r9d .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,6 // vpinsrb $0x6,%r9d,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,4,16 // movzbl (%r8,%r10,1),%r8d .byte 196,195,121,32,200,7 // vpinsrb $0x7,%r8d,%xmm0,%xmm1 .byte 76,139,72,16 // mov 0x10(%rax),%r9 .byte 197,188,89,194 // vmulps %ymm2,%ymm8,%ymm0 .byte 197,253,91,208 // vcvtps2dq %ymm0,%ymm2 .byte 196,193,249,126,208 // vmovq %xmm2,%r8 .byte 68,137,192 // mov %r8d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 73,193,232,32 // shr $0x20,%r8 .byte 67,15,182,4,1 // movzbl (%r9,%r8,1),%eax .byte 196,227,121,32,192,1 // vpinsrb $0x1,%eax,%xmm0,%xmm0 .byte 68,137,208 // mov %r10d,%eax .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,57,210,1 // vextracti128 $0x1,%ymm2,%xmm2 .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,121,32,192,2 // vpinsrb $0x2,%eax,%xmm0,%xmm0 .byte 196,193,249,126,208 // vmovq %xmm2,%r8 .byte 67,15,182,4,17 // movzbl (%r9,%r10,1),%eax .byte 196,227,121,32,192,3 // vpinsrb $0x3,%eax,%xmm0,%xmm0 .byte 68,137,192 // mov %r8d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,121,32,192,4 // vpinsrb $0x4,%eax,%xmm0,%xmm0 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 73,193,232,32 // shr $0x20,%r8 .byte 67,15,182,4,1 // movzbl (%r9,%r8,1),%eax .byte 196,227,121,32,192,5 // vpinsrb $0x5,%eax,%xmm0,%xmm0 .byte 68,137,208 // mov %r10d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,121,32,208,6 // vpinsrb $0x6,%eax,%xmm0,%xmm2 .byte 73,193,234,32 // shr $0x20,%r10 .byte 67,15,182,4,17 // movzbl (%r9,%r10,1),%eax .byte 196,194,125,49,193 // vpmovzxbd %xmm9,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,5,84,133,2,0 // vbroadcastss 0x28554(%rip),%ymm8 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 196,226,125,49,201 // vpmovzxbd %xmm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,227,105,32,208,7 // vpinsrb $0x7,%eax,%xmm2,%xmm2 .byte 196,226,125,49,210 // vpmovzxbd %xmm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_table_r_hsw .globl _sk_table_r_hsw FUNCTION(_sk_table_r_hsw) _sk_table_r_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,66,125,88,192 // vpbroadcastd %xmm8,%ymm8 .byte 196,65,124,91,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 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 196,130,53,146,4,128 // vgatherdps %ymm9,(%r8,%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,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,66,125,88,192 // vpbroadcastd %xmm8,%ymm8 .byte 196,65,124,91,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 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 196,130,53,146,12,128 // vgatherdps %ymm9,(%r8,%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,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,66,125,88,192 // vpbroadcastd %xmm8,%ymm8 .byte 196,65,124,91,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 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 196,130,53,146,20,128 // vgatherdps %ymm9,(%r8,%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,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,66,125,88,192 // vpbroadcastd %xmm8,%ymm8 .byte 196,65,124,91,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 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,130,53,146,28,128 // vgatherdps %ymm9,(%r8,%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,58,132,2,0 // vbroadcastss 0x2843a(%rip),%ymm12 # 2ae9c <_sk_srcover_rgba_8888_sse2_lowp+0x8c8> .byte 196,98,125,24,45,53,132,2,0 // vbroadcastss 0x28435(%rip),%ymm13 # 2aea0 <_sk_srcover_rgba_8888_sse2_lowp+0x8cc> .byte 196,65,44,84,213 // vandps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,139,131,2,0 // vbroadcastss 0x2838b(%rip),%ymm13 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 196,65,44,86,213 // vorps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,29,132,2,0 // vbroadcastss 0x2841d(%rip),%ymm13 # 2aea4 <_sk_srcover_rgba_8888_sse2_lowp+0x8d0> .byte 196,66,37,184,236 // vfmadd231ps %ymm12,%ymm11,%ymm13 .byte 196,98,125,24,29,19,132,2,0 // vbroadcastss 0x28413(%rip),%ymm11 # 2aea8 <_sk_srcover_rgba_8888_sse2_lowp+0x8d4> .byte 196,66,45,172,221 // vfnmadd213ps %ymm13,%ymm10,%ymm11 .byte 196,98,125,24,37,9,132,2,0 // vbroadcastss 0x28409(%rip),%ymm12 # 2aeac <_sk_srcover_rgba_8888_sse2_lowp+0x8d8> .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,98,125,24,37,255,131,2,0 // vbroadcastss 0x283ff(%rip),%ymm12 # 2aeb0 <_sk_srcover_rgba_8888_sse2_lowp+0x8dc> .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,224,131,2,0 // vbroadcastss 0x283e0(%rip),%ymm11 # 2aeb4 <_sk_srcover_rgba_8888_sse2_lowp+0x8e0> .byte 196,193,124,88,195 // vaddps %ymm11,%ymm0,%ymm0 .byte 196,98,125,24,29,214,131,2,0 // vbroadcastss 0x283d6(%rip),%ymm11 # 2aeb8 <_sk_srcover_rgba_8888_sse2_lowp+0x8e4> .byte 196,98,45,172,216 // vfnmadd213ps %ymm0,%ymm10,%ymm11 .byte 196,226,125,24,5,204,131,2,0 // vbroadcastss 0x283cc(%rip),%ymm0 # 2aebc <_sk_srcover_rgba_8888_sse2_lowp+0x8e8> .byte 196,193,124,92,194 // vsubps %ymm10,%ymm0,%ymm0 .byte 196,98,125,24,21,194,131,2,0 // vbroadcastss 0x283c2(%rip),%ymm10 # 2aec0 <_sk_srcover_rgba_8888_sse2_lowp+0x8ec> .byte 197,172,94,192 // vdivps %ymm0,%ymm10,%ymm0 .byte 197,164,88,192 // vaddps %ymm0,%ymm11,%ymm0 .byte 196,98,125,24,21,181,131,2,0 // vbroadcastss 0x283b5(%rip),%ymm10 # 2aec4 <_sk_srcover_rgba_8888_sse2_lowp+0x8f0> .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 197,172,88,192 // vaddps %ymm0,%ymm10,%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,205,130,2,0 // vbroadcastss 0x282cd(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,21,131,2,0 // vbroadcastss 0x28315(%rip),%ymm12 # 2ae9c <_sk_srcover_rgba_8888_sse2_lowp+0x8c8> .byte 196,98,125,24,45,16,131,2,0 // vbroadcastss 0x28310(%rip),%ymm13 # 2aea0 <_sk_srcover_rgba_8888_sse2_lowp+0x8cc> .byte 196,65,44,84,213 // vandps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,102,130,2,0 // vbroadcastss 0x28266(%rip),%ymm13 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 196,65,44,86,213 // vorps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,248,130,2,0 // vbroadcastss 0x282f8(%rip),%ymm13 # 2aea4 <_sk_srcover_rgba_8888_sse2_lowp+0x8d0> .byte 196,66,37,184,236 // vfmadd231ps %ymm12,%ymm11,%ymm13 .byte 196,98,125,24,29,238,130,2,0 // vbroadcastss 0x282ee(%rip),%ymm11 # 2aea8 <_sk_srcover_rgba_8888_sse2_lowp+0x8d4> .byte 196,66,45,172,221 // vfnmadd213ps %ymm13,%ymm10,%ymm11 .byte 196,98,125,24,37,228,130,2,0 // vbroadcastss 0x282e4(%rip),%ymm12 # 2aeac <_sk_srcover_rgba_8888_sse2_lowp+0x8d8> .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,98,125,24,37,218,130,2,0 // vbroadcastss 0x282da(%rip),%ymm12 # 2aeb0 <_sk_srcover_rgba_8888_sse2_lowp+0x8dc> .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,187,130,2,0 // vbroadcastss 0x282bb(%rip),%ymm11 # 2aeb4 <_sk_srcover_rgba_8888_sse2_lowp+0x8e0> .byte 196,193,116,88,203 // vaddps %ymm11,%ymm1,%ymm1 .byte 196,98,125,24,29,177,130,2,0 // vbroadcastss 0x282b1(%rip),%ymm11 # 2aeb8 <_sk_srcover_rgba_8888_sse2_lowp+0x8e4> .byte 196,98,45,172,217 // vfnmadd213ps %ymm1,%ymm10,%ymm11 .byte 196,226,125,24,13,167,130,2,0 // vbroadcastss 0x282a7(%rip),%ymm1 # 2aebc <_sk_srcover_rgba_8888_sse2_lowp+0x8e8> .byte 196,193,116,92,202 // vsubps %ymm10,%ymm1,%ymm1 .byte 196,98,125,24,21,157,130,2,0 // vbroadcastss 0x2829d(%rip),%ymm10 # 2aec0 <_sk_srcover_rgba_8888_sse2_lowp+0x8ec> .byte 197,172,94,201 // vdivps %ymm1,%ymm10,%ymm1 .byte 197,164,88,201 // vaddps %ymm1,%ymm11,%ymm1 .byte 196,98,125,24,21,144,130,2,0 // vbroadcastss 0x28290(%rip),%ymm10 # 2aec4 <_sk_srcover_rgba_8888_sse2_lowp+0x8f0> .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 197,172,88,201 // vaddps %ymm1,%ymm10,%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,168,129,2,0 // vbroadcastss 0x281a8(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,240,129,2,0 // vbroadcastss 0x281f0(%rip),%ymm12 # 2ae9c <_sk_srcover_rgba_8888_sse2_lowp+0x8c8> .byte 196,98,125,24,45,235,129,2,0 // vbroadcastss 0x281eb(%rip),%ymm13 # 2aea0 <_sk_srcover_rgba_8888_sse2_lowp+0x8cc> .byte 196,65,44,84,213 // vandps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,65,129,2,0 // vbroadcastss 0x28141(%rip),%ymm13 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 196,65,44,86,213 // vorps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,211,129,2,0 // vbroadcastss 0x281d3(%rip),%ymm13 # 2aea4 <_sk_srcover_rgba_8888_sse2_lowp+0x8d0> .byte 196,66,37,184,236 // vfmadd231ps %ymm12,%ymm11,%ymm13 .byte 196,98,125,24,29,201,129,2,0 // vbroadcastss 0x281c9(%rip),%ymm11 # 2aea8 <_sk_srcover_rgba_8888_sse2_lowp+0x8d4> .byte 196,66,45,172,221 // vfnmadd213ps %ymm13,%ymm10,%ymm11 .byte 196,98,125,24,37,191,129,2,0 // vbroadcastss 0x281bf(%rip),%ymm12 # 2aeac <_sk_srcover_rgba_8888_sse2_lowp+0x8d8> .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,98,125,24,37,181,129,2,0 // vbroadcastss 0x281b5(%rip),%ymm12 # 2aeb0 <_sk_srcover_rgba_8888_sse2_lowp+0x8dc> .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,150,129,2,0 // vbroadcastss 0x28196(%rip),%ymm11 # 2aeb4 <_sk_srcover_rgba_8888_sse2_lowp+0x8e0> .byte 196,193,108,88,211 // vaddps %ymm11,%ymm2,%ymm2 .byte 196,98,125,24,29,140,129,2,0 // vbroadcastss 0x2818c(%rip),%ymm11 # 2aeb8 <_sk_srcover_rgba_8888_sse2_lowp+0x8e4> .byte 196,98,45,172,218 // vfnmadd213ps %ymm2,%ymm10,%ymm11 .byte 196,226,125,24,21,130,129,2,0 // vbroadcastss 0x28182(%rip),%ymm2 # 2aebc <_sk_srcover_rgba_8888_sse2_lowp+0x8e8> .byte 196,193,108,92,210 // vsubps %ymm10,%ymm2,%ymm2 .byte 196,98,125,24,21,120,129,2,0 // vbroadcastss 0x28178(%rip),%ymm10 # 2aec0 <_sk_srcover_rgba_8888_sse2_lowp+0x8ec> .byte 197,172,94,210 // vdivps %ymm2,%ymm10,%ymm2 .byte 197,164,88,210 // vaddps %ymm2,%ymm11,%ymm2 .byte 196,98,125,24,21,107,129,2,0 // vbroadcastss 0x2816b(%rip),%ymm10 # 2aec4 <_sk_srcover_rgba_8888_sse2_lowp+0x8f0> .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 197,172,88,210 // vaddps %ymm2,%ymm10,%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,131,128,2,0 // vbroadcastss 0x28083(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,203,128,2,0 // vbroadcastss 0x280cb(%rip),%ymm12 # 2ae9c <_sk_srcover_rgba_8888_sse2_lowp+0x8c8> .byte 196,98,125,24,45,198,128,2,0 // vbroadcastss 0x280c6(%rip),%ymm13 # 2aea0 <_sk_srcover_rgba_8888_sse2_lowp+0x8cc> .byte 196,65,44,84,213 // vandps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,28,128,2,0 // vbroadcastss 0x2801c(%rip),%ymm13 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 196,65,44,86,213 // vorps %ymm13,%ymm10,%ymm10 .byte 196,98,125,24,45,174,128,2,0 // vbroadcastss 0x280ae(%rip),%ymm13 # 2aea4 <_sk_srcover_rgba_8888_sse2_lowp+0x8d0> .byte 196,66,37,184,236 // vfmadd231ps %ymm12,%ymm11,%ymm13 .byte 196,98,125,24,29,164,128,2,0 // vbroadcastss 0x280a4(%rip),%ymm11 # 2aea8 <_sk_srcover_rgba_8888_sse2_lowp+0x8d4> .byte 196,66,45,172,221 // vfnmadd213ps %ymm13,%ymm10,%ymm11 .byte 196,98,125,24,37,154,128,2,0 // vbroadcastss 0x2809a(%rip),%ymm12 # 2aeac <_sk_srcover_rgba_8888_sse2_lowp+0x8d8> .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,98,125,24,37,144,128,2,0 // vbroadcastss 0x28090(%rip),%ymm12 # 2aeb0 <_sk_srcover_rgba_8888_sse2_lowp+0x8dc> .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,113,128,2,0 // vbroadcastss 0x28071(%rip),%ymm11 # 2aeb4 <_sk_srcover_rgba_8888_sse2_lowp+0x8e0> .byte 196,193,100,88,219 // vaddps %ymm11,%ymm3,%ymm3 .byte 196,98,125,24,29,103,128,2,0 // vbroadcastss 0x28067(%rip),%ymm11 # 2aeb8 <_sk_srcover_rgba_8888_sse2_lowp+0x8e4> .byte 196,98,45,172,219 // vfnmadd213ps %ymm3,%ymm10,%ymm11 .byte 196,226,125,24,29,93,128,2,0 // vbroadcastss 0x2805d(%rip),%ymm3 # 2aebc <_sk_srcover_rgba_8888_sse2_lowp+0x8e8> .byte 196,193,100,92,218 // vsubps %ymm10,%ymm3,%ymm3 .byte 196,98,125,24,21,83,128,2,0 // vbroadcastss 0x28053(%rip),%ymm10 # 2aec0 <_sk_srcover_rgba_8888_sse2_lowp+0x8ec> .byte 197,172,94,219 // vdivps %ymm3,%ymm10,%ymm3 .byte 197,164,88,219 // vaddps %ymm3,%ymm11,%ymm3 .byte 196,98,125,24,21,70,128,2,0 // vbroadcastss 0x28046(%rip),%ymm10 # 2aec4 <_sk_srcover_rgba_8888_sse2_lowp+0x8f0> .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 197,172,88,219 // vaddps %ymm3,%ymm10,%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,94,127,2,0 // vbroadcastss 0x27f5e(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 196,193,100,93,216 // vminps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_gamma_hsw .globl _sk_gamma_hsw FUNCTION(_sk_gamma_hsw) _sk_gamma_hsw: .byte 72,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,250 // vmovaps %ymm2,%ymm7 .byte 197,252,40,241 // vmovaps %ymm1,%ymm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,91,208 // vcvtdq2ps %ymm0,%ymm10 .byte 196,98,125,24,29,177,127,2,0 // vbroadcastss 0x27fb1(%rip),%ymm11 # 2ae9c <_sk_srcover_rgba_8888_sse2_lowp+0x8c8> .byte 196,226,125,24,45,172,127,2,0 // vbroadcastss 0x27fac(%rip),%ymm5 # 2aea0 <_sk_srcover_rgba_8888_sse2_lowp+0x8cc> .byte 197,124,84,205 // vandps %ymm5,%ymm0,%ymm9 .byte 196,226,125,24,37,3,127,2,0 // vbroadcastss 0x27f03(%rip),%ymm4 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 197,52,86,228 // vorps %ymm4,%ymm9,%ymm12 .byte 196,98,125,24,45,150,127,2,0 // vbroadcastss 0x27f96(%rip),%ymm13 # 2aea4 <_sk_srcover_rgba_8888_sse2_lowp+0x8d0> .byte 196,66,37,168,213 // vfmadd213ps %ymm13,%ymm11,%ymm10 .byte 196,98,125,24,13,140,127,2,0 // vbroadcastss 0x27f8c(%rip),%ymm9 # 2aea8 <_sk_srcover_rgba_8888_sse2_lowp+0x8d4> .byte 196,66,29,188,209 // vfnmadd231ps %ymm9,%ymm12,%ymm10 .byte 197,124,91,246 // vcvtdq2ps %ymm6,%ymm14 .byte 196,66,37,168,245 // vfmadd213ps %ymm13,%ymm11,%ymm14 .byte 197,124,91,255 // vcvtdq2ps %ymm7,%ymm15 .byte 196,66,37,168,253 // vfmadd213ps %ymm13,%ymm11,%ymm15 .byte 196,98,125,24,29,112,127,2,0 // vbroadcastss 0x27f70(%rip),%ymm11 # 2aeac <_sk_srcover_rgba_8888_sse2_lowp+0x8d8> .byte 196,65,28,88,227 // vaddps %ymm11,%ymm12,%ymm12 .byte 196,98,125,24,45,102,127,2,0 // vbroadcastss 0x27f66(%rip),%ymm13 # 2aeb0 <_sk_srcover_rgba_8888_sse2_lowp+0x8dc> .byte 196,65,20,94,228 // vdivps %ymm12,%ymm13,%ymm12 .byte 196,65,44,92,212 // vsubps %ymm12,%ymm10,%ymm10 .byte 196,98,125,24,32 // vbroadcastss (%rax),%ymm12 .byte 196,65,44,89,212 // vmulps %ymm12,%ymm10,%ymm10 .byte 196,67,125,8,194,1 // vroundps $0x1,%ymm10,%ymm8 .byte 196,65,44,92,192 // vsubps %ymm8,%ymm10,%ymm8 .byte 196,226,125,24,21,66,127,2,0 // vbroadcastss 0x27f42(%rip),%ymm2 # 2aeb4 <_sk_srcover_rgba_8888_sse2_lowp+0x8e0> .byte 197,44,88,210 // vaddps %ymm2,%ymm10,%ymm10 .byte 196,226,125,24,29,57,127,2,0 // vbroadcastss 0x27f39(%rip),%ymm3 # 2aeb8 <_sk_srcover_rgba_8888_sse2_lowp+0x8e4> .byte 196,98,61,188,211 // vfnmadd231ps %ymm3,%ymm8,%ymm10 .byte 196,226,125,24,13,47,127,2,0 // vbroadcastss 0x27f2f(%rip),%ymm1 # 2aebc <_sk_srcover_rgba_8888_sse2_lowp+0x8e8> .byte 196,65,116,92,192 // vsubps %ymm8,%ymm1,%ymm8 .byte 196,226,125,24,5,37,127,2,0 // vbroadcastss 0x27f25(%rip),%ymm0 # 2aec0 <_sk_srcover_rgba_8888_sse2_lowp+0x8ec> .byte 196,65,124,94,192 // vdivps %ymm8,%ymm0,%ymm8 .byte 196,65,44,88,192 // vaddps %ymm8,%ymm10,%ymm8 .byte 197,204,84,245 // vandps %ymm5,%ymm6,%ymm6 .byte 197,204,86,244 // vorps %ymm4,%ymm6,%ymm6 .byte 196,66,77,188,241 // vfnmadd231ps %ymm9,%ymm6,%ymm14 .byte 196,193,76,88,243 // vaddps %ymm11,%ymm6,%ymm6 .byte 197,148,94,246 // vdivps %ymm6,%ymm13,%ymm6 .byte 197,140,92,246 // vsubps %ymm6,%ymm14,%ymm6 .byte 196,193,76,89,244 // vmulps %ymm12,%ymm6,%ymm6 .byte 196,99,125,8,214,1 // vroundps $0x1,%ymm6,%ymm10 .byte 196,65,76,92,210 // vsubps %ymm10,%ymm6,%ymm10 .byte 197,204,88,242 // vaddps %ymm2,%ymm6,%ymm6 .byte 196,226,45,188,243 // vfnmadd231ps %ymm3,%ymm10,%ymm6 .byte 196,65,116,92,210 // vsubps %ymm10,%ymm1,%ymm10 .byte 196,65,124,94,210 // vdivps %ymm10,%ymm0,%ymm10 .byte 196,193,76,88,242 // vaddps %ymm10,%ymm6,%ymm6 .byte 197,196,84,237 // vandps %ymm5,%ymm7,%ymm5 .byte 197,212,86,228 // vorps %ymm4,%ymm5,%ymm4 .byte 196,66,93,188,249 // vfnmadd231ps %ymm9,%ymm4,%ymm15 .byte 196,193,92,88,227 // vaddps %ymm11,%ymm4,%ymm4 .byte 197,148,94,228 // vdivps %ymm4,%ymm13,%ymm4 .byte 197,132,92,228 // vsubps %ymm4,%ymm15,%ymm4 .byte 196,193,92,89,228 // vmulps %ymm12,%ymm4,%ymm4 .byte 196,227,125,8,236,1 // vroundps $0x1,%ymm4,%ymm5 .byte 197,220,92,237 // vsubps %ymm5,%ymm4,%ymm5 .byte 197,220,88,210 // vaddps %ymm2,%ymm4,%ymm2 .byte 196,226,85,188,211 // vfnmadd231ps %ymm3,%ymm5,%ymm2 .byte 197,244,92,205 // vsubps %ymm5,%ymm1,%ymm1 .byte 197,252,94,193 // vdivps %ymm1,%ymm0,%ymm0 .byte 197,236,88,192 // vaddps %ymm0,%ymm2,%ymm0 .byte 196,226,125,24,13,150,126,2,0 // vbroadcastss 0x27e96(%rip),%ymm1 # 2aec4 <_sk_srcover_rgba_8888_sse2_lowp+0x8f0> .byte 197,188,89,209 // vmulps %ymm1,%ymm8,%ymm2 .byte 197,204,89,217 // vmulps %ymm1,%ymm6,%ymm3 .byte 197,252,89,225 // vmulps %ymm1,%ymm0,%ymm4 .byte 197,253,91,194 // vcvtps2dq %ymm2,%ymm0 .byte 197,253,91,203 // vcvtps2dq %ymm3,%ymm1 .byte 197,253,91,212 // vcvtps2dq %ymm4,%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_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,84,126,2,0 // vbroadcastss 0x27e54(%rip),%ymm8 # 2aec8 <_sk_srcover_rgba_8888_sse2_lowp+0x8f4> .byte 196,98,125,24,13,183,125,2,0 // vbroadcastss 0x27db7(%rip),%ymm9 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .byte 196,98,125,24,21,70,126,2,0 // vbroadcastss 0x27e46(%rip),%ymm10 # 2aecc <_sk_srcover_rgba_8888_sse2_lowp+0x8f8> .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,55,126,2,0 // vbroadcastss 0x27e37(%rip),%ymm9 # 2aed0 <_sk_srcover_rgba_8888_sse2_lowp+0x8fc> .byte 196,66,125,184,200 // vfmadd231ps %ymm8,%ymm0,%ymm9 .byte 196,226,125,24,5,45,126,2,0 // vbroadcastss 0x27e2d(%rip),%ymm0 # 2aed4 <_sk_srcover_rgba_8888_sse2_lowp+0x900> .byte 197,180,89,192 // vmulps %ymm0,%ymm9,%ymm0 .byte 196,98,125,24,5,36,126,2,0 // vbroadcastss 0x27e24(%rip),%ymm8 # 2aed8 <_sk_srcover_rgba_8888_sse2_lowp+0x904> .byte 196,98,117,168,192 // vfmadd213ps %ymm0,%ymm1,%ymm8 .byte 196,98,125,24,13,26,126,2,0 // vbroadcastss 0x27e1a(%rip),%ymm9 # 2aedc <_sk_srcover_rgba_8888_sse2_lowp+0x908> .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,7,126,2,0 // vbroadcastss 0x27e07(%rip),%ymm2 # 2aee0 <_sk_srcover_rgba_8888_sse2_lowp+0x90c> .byte 197,108,194,209,1 // vcmpltps %ymm1,%ymm2,%ymm10 .byte 196,98,125,24,29,253,125,2,0 // vbroadcastss 0x27dfd(%rip),%ymm11 # 2aee4 <_sk_srcover_rgba_8888_sse2_lowp+0x910> .byte 196,65,60,88,195 // vaddps %ymm11,%ymm8,%ymm8 .byte 196,98,125,24,37,243,125,2,0 // vbroadcastss 0x27df3(%rip),%ymm12 # 2aee8 <_sk_srcover_rgba_8888_sse2_lowp+0x914> .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,168,125,2,0 // vbroadcastss 0x27da8(%rip),%ymm0 # 2aeec <_sk_srcover_rgba_8888_sse2_lowp+0x918> .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 196,98,125,24,5,159,125,2,0 // vbroadcastss 0x27d9f(%rip),%ymm8 # 2aef0 <_sk_srcover_rgba_8888_sse2_lowp+0x91c> .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_load_a8_hsw .globl _sk_load_a8_hsw FUNCTION(_sk_load_a8_hsw) _sk_load_a8_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,52 // jne 31a6 <_sk_load_a8_hsw+0x4c> .byte 196,130,121,48,4,24 // vpmovzxbw (%r8,%r11,1),%xmm0 .byte 197,249,219,5,32,126,2,0 // vpand 0x27e20(%rip),%xmm0,%xmm0 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 196,226,125,51,192 // vpmovzxwd %xmm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,234,124,2,0 // vbroadcastss 0x27cea(%rip),%ymm1 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .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 65,137,249 // mov %edi,%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 3178 <_sk_load_a8_hsw+0x1e> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,119,0,0,0 // lea 0x77(%rip),%r10 # 323c <_sk_load_a8_hsw+0xe2> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,182,4,24 // movzbl (%r8,%r11,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 235,159 // jmp 3178 <_sk_load_a8_hsw+0x1e> .byte 67,15,182,68,24,2 // movzbl 0x2(%r8,%r11,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,2 // vpinsrw $0x2,%eax,%xmm0,%xmm0 .byte 67,15,183,4,24 // movzwl (%r8,%r11,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 3178 <_sk_load_a8_hsw+0x1e> .byte 67,15,182,68,24,6 // movzbl 0x6(%r8,%r11,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,6 // vpinsrw $0x6,%eax,%xmm0,%xmm0 .byte 67,15,182,68,24,5 // movzbl 0x5(%r8,%r11,1),%eax .byte 197,249,196,192,5 // vpinsrw $0x5,%eax,%xmm0,%xmm0 .byte 67,15,182,68,24,4 // movzbl 0x4(%r8,%r11,1),%eax .byte 197,249,196,192,4 // vpinsrw $0x4,%eax,%xmm0,%xmm0 .byte 196,129,121,110,12,24 // vmovd (%r8,%r11,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 3178 <_sk_load_a8_hsw+0x1e> .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,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,52 // jne 32a4 <_sk_load_a8_dst_hsw+0x4c> .byte 196,130,121,48,36,24 // vpmovzxbw (%r8,%r11,1),%xmm4 .byte 197,217,219,37,34,125,2,0 // vpand 0x27d22(%rip),%xmm4,%xmm4 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 196,226,125,51,228 // vpmovzxwd %xmm4,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,236,123,2,0 // vbroadcastss 0x27bec(%rip),%ymm5 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .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 65,137,249 // mov %edi,%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 3276 <_sk_load_a8_dst_hsw+0x1e> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,121,0,0,0 // lea 0x79(%rip),%r10 # 333c <_sk_load_a8_dst_hsw+0xe4> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,182,4,24 // movzbl (%r8,%r11,1),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 235,159 // jmp 3276 <_sk_load_a8_dst_hsw+0x1e> .byte 67,15,182,68,24,2 // movzbl 0x2(%r8,%r11,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,2 // vpinsrw $0x2,%eax,%xmm4,%xmm4 .byte 67,15,183,4,24 // movzwl (%r8,%r11,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 3276 <_sk_load_a8_dst_hsw+0x1e> .byte 67,15,182,68,24,6 // movzbl 0x6(%r8,%r11,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,6 // vpinsrw $0x6,%eax,%xmm4,%xmm4 .byte 67,15,182,68,24,5 // movzbl 0x5(%r8,%r11,1),%eax .byte 197,217,196,224,5 // vpinsrw $0x5,%eax,%xmm4,%xmm4 .byte 67,15,182,68,24,4 // movzbl 0x4(%r8,%r11,1),%eax .byte 197,217,196,224,4 // vpinsrw $0x4,%eax,%xmm4,%xmm4 .byte 196,129,121,110,44,24 // vmovd (%r8,%r11,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 3276 <_sk_load_a8_dst_hsw+0x1e> .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 ffffffffde00334c <_sk_srcover_rgba_8888_sse2_lowp+0xffffffffddfd8d78> .byte 255 // (bad) .byte 255 // (bad) .byte 255,210 // callq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255,195 // inc %ebx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_a8_hsw .globl _sk_gather_a8_hsw FUNCTION(_sk_gather_a8_hsw) _sk_gather_a8_hsw: .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,125,88,80,8 // vpbroadcastd 0x8(%rax),%ymm2 .byte 196,226,109,64,201 // vpmulld %ymm1,%ymm2,%ymm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,245,254,192 // vpaddd %ymm0,%ymm1,%ymm0 .byte 196,227,249,22,192,1 // vpextrq $0x1,%xmm0,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,57,192,1 // vextracti128 $0x1,%ymm0,%xmm0 .byte 196,227,249,22,195,1 // vpextrq $0x1,%xmm0,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,193,249,126,199 // vmovq %xmm0,%r15 .byte 69,137,252 // mov %r15d,%r12d .byte 73,193,239,32 // shr $0x20,%r15 .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 71,15,182,28,24 // movzbl (%r8,%r11,1),%r11d .byte 196,193,121,110,195 // vmovd %r11d,%xmm0 .byte 196,195,121,32,194,1 // vpinsrb $0x1,%r10d,%xmm0,%xmm0 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,2 // vpinsrb $0x2,%r9d,%xmm0,%xmm0 .byte 65,15,182,4,0 // movzbl (%r8,%rax,1),%eax .byte 196,227,121,32,192,3 // vpinsrb $0x3,%eax,%xmm0,%xmm0 .byte 67,15,182,4,32 // movzbl (%r8,%r12,1),%eax .byte 196,227,121,32,192,4 // vpinsrb $0x4,%eax,%xmm0,%xmm0 .byte 67,15,182,4,56 // movzbl (%r8,%r15,1),%eax .byte 196,227,121,32,192,5 // vpinsrb $0x5,%eax,%xmm0,%xmm0 .byte 67,15,182,4,48 // movzbl (%r8,%r14,1),%eax .byte 196,227,121,32,192,6 // vpinsrb $0x6,%eax,%xmm0,%xmm0 .byte 65,15,182,4,24 // movzbl (%r8,%rbx,1),%eax .byte 196,227,121,32,192,7 // vpinsrb $0x7,%eax,%xmm0,%xmm0 .byte 196,226,125,49,192 // vpmovzxbd %xmm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,96,122,2,0 // vbroadcastss 0x27a60(%rip),%ymm1 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 197,252,89,217 // vmulps %ymm1,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,237,239,210 // vpxor %ymm2,%ymm2,%ymm2 .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_store_a8_hsw .globl _sk_store_a8_hsw FUNCTION(_sk_store_a8_hsw) _sk_store_a8_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 196,98,125,24,5,225,121,2,0 // vbroadcastss 0x279e1(%rip),%ymm8 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .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 197,57,103,192 // vpackuswb %xmm0,%xmm8,%xmm8 .byte 72,133,255 // test %rdi,%rdi .byte 117,10 // jne 347b <_sk_store_a8_hsw+0x44> .byte 196,1,121,214,4,24 // vmovq %xmm8,(%r8,%r11,1) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja 3477 <_sk_store_a8_hsw+0x40> .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 # 34f0 <_sk_store_a8_hsw+0xb9> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,3,121,20,4,24,0 // vpextrb $0x0,%xmm8,(%r8,%r11,1) .byte 235,202 // jmp 3477 <_sk_store_a8_hsw+0x40> .byte 196,3,121,20,68,24,2,4 // vpextrb $0x4,%xmm8,0x2(%r8,%r11,1) .byte 196,98,57,0,5,242,122,2,0 // vpshufb 0x27af2(%rip),%xmm8,%xmm8 # 2afb0 <_sk_srcover_rgba_8888_sse2_lowp+0x9dc> .byte 196,3,121,21,4,24,0 // vpextrw $0x0,%xmm8,(%r8,%r11,1) .byte 235,176 // jmp 3477 <_sk_store_a8_hsw+0x40> .byte 196,3,121,20,68,24,6,12 // vpextrb $0xc,%xmm8,0x6(%r8,%r11,1) .byte 196,3,121,20,68,24,5,10 // vpextrb $0xa,%xmm8,0x5(%r8,%r11,1) .byte 196,3,121,20,68,24,4,8 // vpextrb $0x8,%xmm8,0x4(%r8,%r11,1) .byte 196,98,57,0,5,216,122,2,0 // vpshufb 0x27ad8(%rip),%xmm8,%xmm8 # 2afc0 <_sk_srcover_rgba_8888_sse2_lowp+0x9ec> .byte 196,1,121,126,4,24 // vmovd %xmm8,(%r8,%r11,1) .byte 235,135 // jmp 3477 <_sk_store_a8_hsw+0x40> .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_hsw .globl _sk_load_g8_hsw FUNCTION(_sk_load_g8_hsw) _sk_load_g8_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,57 // jne 355d <_sk_load_g8_hsw+0x51> .byte 196,130,121,48,4,24 // vpmovzxbw (%r8,%r11,1),%xmm0 .byte 197,249,219,5,110,122,2,0 // vpand 0x27a6e(%rip),%xmm0,%xmm0 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 196,226,125,51,192 // vpmovzxwd %xmm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,56,121,2,0 // vbroadcastss 0x27938(%rip),%ymm1 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,181,120,2,0 // vbroadcastss 0x278b5(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%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 352a <_sk_load_g8_hsw+0x1e> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,120,0,0,0 // lea 0x78(%rip),%r10 # 35f4 <_sk_load_g8_hsw+0xe8> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,182,4,24 // movzbl (%r8,%r11,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 235,154 // jmp 352a <_sk_load_g8_hsw+0x1e> .byte 67,15,182,68,24,2 // movzbl 0x2(%r8,%r11,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,2 // vpinsrw $0x2,%eax,%xmm0,%xmm0 .byte 67,15,183,4,24 // movzwl (%r8,%r11,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 352a <_sk_load_g8_hsw+0x1e> .byte 67,15,182,68,24,6 // movzbl 0x6(%r8,%r11,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,6 // vpinsrw $0x6,%eax,%xmm0,%xmm0 .byte 67,15,182,68,24,5 // movzbl 0x5(%r8,%r11,1),%eax .byte 197,249,196,192,5 // vpinsrw $0x5,%eax,%xmm0,%xmm0 .byte 67,15,182,68,24,4 // movzbl 0x4(%r8,%r11,1),%eax .byte 197,249,196,192,4 // vpinsrw $0x4,%eax,%xmm0,%xmm0 .byte 196,129,121,110,12,24 // vmovd (%r8,%r11,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 352a <_sk_load_g8_hsw+0x1e> .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 ffffffffdf003604 <_sk_srcover_rgba_8888_sse2_lowp+0xffffffffdefd9030> .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_hsw .globl _sk_load_g8_dst_hsw FUNCTION(_sk_load_g8_dst_hsw) _sk_load_g8_dst_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,57 // jne 3661 <_sk_load_g8_dst_hsw+0x51> .byte 196,130,121,48,36,24 // vpmovzxbw (%r8,%r11,1),%xmm4 .byte 197,217,219,37,106,121,2,0 // vpand 0x2796a(%rip),%xmm4,%xmm4 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 196,226,125,51,228 // vpmovzxwd %xmm4,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,52,120,2,0 // vbroadcastss 0x27834(%rip),%ymm5 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 197,220,89,229 // vmulps %ymm5,%ymm4,%ymm4 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,61,177,119,2,0 // vbroadcastss 0x277b1(%rip),%ymm7 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,252,40,236 // vmovaps %ymm4,%ymm5 .byte 197,252,40,244 // vmovaps %ymm4,%ymm6 .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%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 362e <_sk_load_g8_dst_hsw+0x1e> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,120,0,0,0 // lea 0x78(%rip),%r10 # 36f8 <_sk_load_g8_dst_hsw+0xe8> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,182,4,24 // movzbl (%r8,%r11,1),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 235,154 // jmp 362e <_sk_load_g8_dst_hsw+0x1e> .byte 67,15,182,68,24,2 // movzbl 0x2(%r8,%r11,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,2 // vpinsrw $0x2,%eax,%xmm4,%xmm4 .byte 67,15,183,4,24 // movzwl (%r8,%r11,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 362e <_sk_load_g8_dst_hsw+0x1e> .byte 67,15,182,68,24,6 // movzbl 0x6(%r8,%r11,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,6 // vpinsrw $0x6,%eax,%xmm4,%xmm4 .byte 67,15,182,68,24,5 // movzbl 0x5(%r8,%r11,1),%eax .byte 197,217,196,224,5 // vpinsrw $0x5,%eax,%xmm4,%xmm4 .byte 67,15,182,68,24,4 // movzbl 0x4(%r8,%r11,1),%eax .byte 197,217,196,224,4 // vpinsrw $0x4,%eax,%xmm4,%xmm4 .byte 196,129,121,110,44,24 // vmovd (%r8,%r11,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 362e <_sk_load_g8_dst_hsw+0x1e> .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 ffffffffdf003708 <_sk_srcover_rgba_8888_sse2_lowp+0xffffffffdefd9134> .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_hsw .globl _sk_gather_g8_hsw FUNCTION(_sk_gather_g8_hsw) _sk_gather_g8_hsw: .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,125,88,80,8 // vpbroadcastd 0x8(%rax),%ymm2 .byte 196,226,109,64,201 // vpmulld %ymm1,%ymm2,%ymm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,245,254,192 // vpaddd %ymm0,%ymm1,%ymm0 .byte 196,227,249,22,192,1 // vpextrq $0x1,%xmm0,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,57,192,1 // vextracti128 $0x1,%ymm0,%xmm0 .byte 196,227,249,22,195,1 // vpextrq $0x1,%xmm0,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,193,249,126,199 // vmovq %xmm0,%r15 .byte 69,137,252 // mov %r15d,%r12d .byte 73,193,239,32 // shr $0x20,%r15 .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 71,15,182,28,24 // movzbl (%r8,%r11,1),%r11d .byte 196,193,121,110,195 // vmovd %r11d,%xmm0 .byte 196,195,121,32,194,1 // vpinsrb $0x1,%r10d,%xmm0,%xmm0 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,2 // vpinsrb $0x2,%r9d,%xmm0,%xmm0 .byte 65,15,182,4,0 // movzbl (%r8,%rax,1),%eax .byte 196,227,121,32,192,3 // vpinsrb $0x3,%eax,%xmm0,%xmm0 .byte 67,15,182,4,32 // movzbl (%r8,%r12,1),%eax .byte 196,227,121,32,192,4 // vpinsrb $0x4,%eax,%xmm0,%xmm0 .byte 67,15,182,4,56 // movzbl (%r8,%r15,1),%eax .byte 196,227,121,32,192,5 // vpinsrb $0x5,%eax,%xmm0,%xmm0 .byte 67,15,182,4,48 // movzbl (%r8,%r14,1),%eax .byte 196,227,121,32,192,6 // vpinsrb $0x6,%eax,%xmm0,%xmm0 .byte 65,15,182,4,24 // movzbl (%r8,%rbx,1),%eax .byte 196,227,121,32,192,7 // vpinsrb $0x7,%eax,%xmm0,%xmm0 .byte 196,226,125,49,192 // vpmovzxbd %xmm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,164,118,2,0 // vbroadcastss 0x276a4(%rip),%ymm1 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,33,118,2,0 // vbroadcastss 0x27621(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_load_565_hsw .globl _sk_load_565_hsw FUNCTION(_sk_load_565_hsw) _sk_load_565_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,114 // jne 3885 <_sk_load_565_hsw+0x8d> .byte 196,129,122,111,4,88 // vmovdqu (%r8,%r11,2),%xmm0 .byte 196,226,125,51,208 // vpmovzxwd %xmm0,%ymm2 .byte 196,226,125,88,5,89,118,2,0 // vpbroadcastd 0x27659(%rip),%ymm0 # 2ae80 <_sk_srcover_rgba_8888_sse2_lowp+0x8ac> .byte 197,237,219,192 // vpand %ymm0,%ymm2,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,76,118,2,0 // vbroadcastss 0x2764c(%rip),%ymm1 # 2ae84 <_sk_srcover_rgba_8888_sse2_lowp+0x8b0> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,88,13,67,118,2,0 // vpbroadcastd 0x27643(%rip),%ymm1 # 2ae88 <_sk_srcover_rgba_8888_sse2_lowp+0x8b4> .byte 197,237,219,201 // vpand %ymm1,%ymm2,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,29,54,118,2,0 // vbroadcastss 0x27636(%rip),%ymm3 # 2ae8c <_sk_srcover_rgba_8888_sse2_lowp+0x8b8> .byte 197,244,89,203 // vmulps %ymm3,%ymm1,%ymm1 .byte 196,226,125,88,29,45,118,2,0 // vpbroadcastd 0x2762d(%rip),%ymm3 # 2ae90 <_sk_srcover_rgba_8888_sse2_lowp+0x8bc> .byte 197,237,219,211 // vpand %ymm3,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,226,125,24,29,32,118,2,0 // vbroadcastss 0x27620(%rip),%ymm3 # 2ae94 <_sk_srcover_rgba_8888_sse2_lowp+0x8c0> .byte 197,236,89,211 // vmulps %ymm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,133,117,2,0 // vbroadcastss 0x27585(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%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 3819 <_sk_load_565_hsw+0x21> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,100,0,0,0 // lea 0x64(%rip),%r10 # 3908 <_sk_load_565_hsw+0x110> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,183,4,88 // movzwl (%r8,%r11,2),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 233,94,255,255,255 // jmpq 3819 <_sk_load_565_hsw+0x21> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,129,121,196,68,88,4,2 // vpinsrw $0x2,0x4(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,121,110,12,88 // vmovd (%r8,%r11,2),%xmm1 .byte 196,227,121,2,193,1 // vpblendd $0x1,%xmm1,%xmm0,%xmm0 .byte 233,65,255,255,255 // jmpq 3819 <_sk_load_565_hsw+0x21> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,129,121,196,68,88,12,6 // vpinsrw $0x6,0xc(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,121,196,68,88,10,5 // vpinsrw $0x5,0xa(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,121,196,68,88,8,4 // vpinsrw $0x4,0x8(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,122,126,12,88 // vmovq (%r8,%r11,2),%xmm1 .byte 196,227,113,2,192,12 // vpblendd $0xc,%xmm0,%xmm1,%xmm0 .byte 233,20,255,255,255 // jmpq 3819 <_sk_load_565_hsw+0x21> .byte 15,31,0 // nopl (%rax) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 191,255,255,255,179 // mov $0xb3ffffff,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 236 // in (%dx),%al .byte 255 // (bad) .byte 255 // (bad) .byte 255,228 // jmpq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,208 // callq *%rax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_565_dst_hsw .globl _sk_load_565_dst_hsw FUNCTION(_sk_load_565_dst_hsw) _sk_load_565_dst_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,114 // jne 39b1 <_sk_load_565_dst_hsw+0x8d> .byte 196,129,122,111,36,88 // vmovdqu (%r8,%r11,2),%xmm4 .byte 196,226,125,51,244 // vpmovzxwd %xmm4,%ymm6 .byte 196,226,125,88,37,45,117,2,0 // vpbroadcastd 0x2752d(%rip),%ymm4 # 2ae80 <_sk_srcover_rgba_8888_sse2_lowp+0x8ac> .byte 197,205,219,228 // vpand %ymm4,%ymm6,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,32,117,2,0 // vbroadcastss 0x27520(%rip),%ymm5 # 2ae84 <_sk_srcover_rgba_8888_sse2_lowp+0x8b0> .byte 197,220,89,229 // vmulps %ymm5,%ymm4,%ymm4 .byte 196,226,125,88,45,23,117,2,0 // vpbroadcastd 0x27517(%rip),%ymm5 # 2ae88 <_sk_srcover_rgba_8888_sse2_lowp+0x8b4> .byte 197,205,219,237 // vpand %ymm5,%ymm6,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,226,125,24,61,10,117,2,0 // vbroadcastss 0x2750a(%rip),%ymm7 # 2ae8c <_sk_srcover_rgba_8888_sse2_lowp+0x8b8> .byte 197,212,89,239 // vmulps %ymm7,%ymm5,%ymm5 .byte 196,226,125,88,61,1,117,2,0 // vpbroadcastd 0x27501(%rip),%ymm7 # 2ae90 <_sk_srcover_rgba_8888_sse2_lowp+0x8bc> .byte 197,205,219,247 // vpand %ymm7,%ymm6,%ymm6 .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 196,226,125,24,61,244,116,2,0 // vbroadcastss 0x274f4(%rip),%ymm7 # 2ae94 <_sk_srcover_rgba_8888_sse2_lowp+0x8c0> .byte 197,204,89,247 // vmulps %ymm7,%ymm6,%ymm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,61,89,116,2,0 // vbroadcastss 0x27459(%rip),%ymm7 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%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 3945 <_sk_load_565_dst_hsw+0x21> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,100,0,0,0 // lea 0x64(%rip),%r10 # 3a34 <_sk_load_565_dst_hsw+0x110> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,183,4,88 // movzwl (%r8,%r11,2),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 233,94,255,255,255 // jmpq 3945 <_sk_load_565_dst_hsw+0x21> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,129,89,196,100,88,4,2 // vpinsrw $0x2,0x4(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,121,110,44,88 // vmovd (%r8,%r11,2),%xmm5 .byte 196,227,89,2,229,1 // vpblendd $0x1,%xmm5,%xmm4,%xmm4 .byte 233,65,255,255,255 // jmpq 3945 <_sk_load_565_dst_hsw+0x21> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,129,89,196,100,88,12,6 // vpinsrw $0x6,0xc(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,89,196,100,88,10,5 // vpinsrw $0x5,0xa(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,89,196,100,88,8,4 // vpinsrw $0x4,0x8(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,122,126,44,88 // vmovq (%r8,%r11,2),%xmm5 .byte 196,227,81,2,228,12 // vpblendd $0xc,%xmm4,%xmm5,%xmm4 .byte 233,20,255,255,255 // jmpq 3945 <_sk_load_565_dst_hsw+0x21> .byte 15,31,0 // nopl (%rax) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 191,255,255,255,179 // mov $0xb3ffffff,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 236 // in (%dx),%al .byte 255 // (bad) .byte 255 // (bad) .byte 255,228 // jmpq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,208 // callq *%rax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_565_hsw .globl _sk_gather_565_hsw FUNCTION(_sk_gather_565_hsw) _sk_gather_565_hsw: .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,125,88,80,8 // vpbroadcastd 0x8(%rax),%ymm2 .byte 196,226,109,64,201 // vpmulld %ymm1,%ymm2,%ymm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,245,254,192 // vpaddd %ymm0,%ymm1,%ymm0 .byte 196,227,249,22,192,1 // vpextrq $0x1,%xmm0,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,57,192,1 // vextracti128 $0x1,%ymm0,%xmm0 .byte 196,227,249,22,195,1 // vpextrq $0x1,%xmm0,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,193,249,126,199 // vmovq %xmm0,%r15 .byte 69,137,252 // mov %r15d,%r12d .byte 73,193,239,32 // shr $0x20,%r15 .byte 71,15,183,20,80 // movzwl (%r8,%r10,2),%r10d .byte 71,15,183,28,88 // movzwl (%r8,%r11,2),%r11d .byte 196,193,121,110,195 // vmovd %r11d,%xmm0 .byte 196,193,121,196,194,1 // vpinsrw $0x1,%r10d,%xmm0,%xmm0 .byte 71,15,183,12,72 // movzwl (%r8,%r9,2),%r9d .byte 196,193,121,196,193,2 // vpinsrw $0x2,%r9d,%xmm0,%xmm0 .byte 65,15,183,4,64 // movzwl (%r8,%rax,2),%eax .byte 197,249,196,192,3 // vpinsrw $0x3,%eax,%xmm0,%xmm0 .byte 67,15,183,4,96 // movzwl (%r8,%r12,2),%eax .byte 197,249,196,192,4 // vpinsrw $0x4,%eax,%xmm0,%xmm0 .byte 67,15,183,4,120 // movzwl (%r8,%r15,2),%eax .byte 197,249,196,192,5 // vpinsrw $0x5,%eax,%xmm0,%xmm0 .byte 67,15,183,4,112 // movzwl (%r8,%r14,2),%eax .byte 197,249,196,192,6 // vpinsrw $0x6,%eax,%xmm0,%xmm0 .byte 65,15,183,4,88 // movzwl (%r8,%rbx,2),%eax .byte 197,249,196,192,7 // vpinsrw $0x7,%eax,%xmm0,%xmm0 .byte 196,226,125,51,208 // vpmovzxwd %xmm0,%ymm2 .byte 196,226,125,88,5,117,115,2,0 // vpbroadcastd 0x27375(%rip),%ymm0 # 2ae80 <_sk_srcover_rgba_8888_sse2_lowp+0x8ac> .byte 197,237,219,192 // vpand %ymm0,%ymm2,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,104,115,2,0 // vbroadcastss 0x27368(%rip),%ymm1 # 2ae84 <_sk_srcover_rgba_8888_sse2_lowp+0x8b0> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,88,13,95,115,2,0 // vpbroadcastd 0x2735f(%rip),%ymm1 # 2ae88 <_sk_srcover_rgba_8888_sse2_lowp+0x8b4> .byte 197,237,219,201 // vpand %ymm1,%ymm2,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,29,82,115,2,0 // vbroadcastss 0x27352(%rip),%ymm3 # 2ae8c <_sk_srcover_rgba_8888_sse2_lowp+0x8b8> .byte 197,244,89,203 // vmulps %ymm3,%ymm1,%ymm1 .byte 196,226,125,88,29,73,115,2,0 // vpbroadcastd 0x27349(%rip),%ymm3 # 2ae90 <_sk_srcover_rgba_8888_sse2_lowp+0x8bc> .byte 197,237,219,211 // vpand %ymm3,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,226,125,24,29,60,115,2,0 // vbroadcastss 0x2733c(%rip),%ymm3 # 2ae94 <_sk_srcover_rgba_8888_sse2_lowp+0x8c0> .byte 197,236,89,211 // vmulps %ymm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,161,114,2,0 // vbroadcastss 0x272a1(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_store_565_hsw .globl _sk_store_565_hsw FUNCTION(_sk_store_565_hsw) _sk_store_565_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 196,98,125,24,5,101,115,2,0 // vbroadcastss 0x27365(%rip),%ymm8 # 2aef4 <_sk_srcover_rgba_8888_sse2_lowp+0x920> .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,80,115,2,0 // vbroadcastss 0x27350(%rip),%ymm10 # 2aef8 <_sk_srcover_rgba_8888_sse2_lowp+0x924> .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 72,133,255 // test %rdi,%rdi .byte 117,10 // jne 3be6 <_sk_store_565_hsw+0x76> .byte 196,1,122,127,4,88 // vmovdqu %xmm8,(%r8,%r11,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja 3be2 <_sk_store_565_hsw+0x72> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,67,0,0,0 // lea 0x43(%rip),%r10 # 3c44 <_sk_store_565_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 196,3,121,21,4,88,0 // vpextrw $0x0,%xmm8,(%r8,%r11,2) .byte 235,207 // jmp 3be2 <_sk_store_565_hsw+0x72> .byte 196,3,121,21,68,88,4,2 // vpextrw $0x2,%xmm8,0x4(%r8,%r11,2) .byte 196,1,121,126,4,88 // vmovd %xmm8,(%r8,%r11,2) .byte 235,191 // jmp 3be2 <_sk_store_565_hsw+0x72> .byte 196,3,121,21,68,88,12,6 // vpextrw $0x6,%xmm8,0xc(%r8,%r11,2) .byte 196,3,121,21,68,88,10,5 // vpextrw $0x5,%xmm8,0xa(%r8,%r11,2) .byte 196,3,121,21,68,88,8,4 // vpextrw $0x4,%xmm8,0x8(%r8,%r11,2) .byte 196,1,121,214,4,88 // vmovq %xmm8,(%r8,%r11,2) .byte 235,159 // jmp 3be2 <_sk_store_565_hsw+0x72> .byte 144 // nop .byte 198 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,215 // callq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255,207 // dec %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255,247 // push %rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 239 // out %eax,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,231 // jmpq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 223,255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_4444_hsw .globl _sk_load_4444_hsw FUNCTION(_sk_load_4444_hsw) _sk_load_4444_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,138,0,0,0 // jne 3d09 <_sk_load_4444_hsw+0xa9> .byte 196,129,122,111,4,88 // vmovdqu (%r8,%r11,2),%xmm0 .byte 196,226,125,51,216 // vpmovzxwd %xmm0,%ymm3 .byte 196,226,125,88,5,105,114,2,0 // vpbroadcastd 0x27269(%rip),%ymm0 # 2aefc <_sk_srcover_rgba_8888_sse2_lowp+0x928> .byte 197,229,219,192 // vpand %ymm0,%ymm3,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,92,114,2,0 // vbroadcastss 0x2725c(%rip),%ymm1 # 2af00 <_sk_srcover_rgba_8888_sse2_lowp+0x92c> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,88,13,83,114,2,0 // vpbroadcastd 0x27253(%rip),%ymm1 # 2af04 <_sk_srcover_rgba_8888_sse2_lowp+0x930> .byte 197,229,219,201 // vpand %ymm1,%ymm3,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,21,70,114,2,0 // vbroadcastss 0x27246(%rip),%ymm2 # 2af08 <_sk_srcover_rgba_8888_sse2_lowp+0x934> .byte 197,244,89,202 // vmulps %ymm2,%ymm1,%ymm1 .byte 196,226,125,88,21,61,114,2,0 // vpbroadcastd 0x2723d(%rip),%ymm2 # 2af0c <_sk_srcover_rgba_8888_sse2_lowp+0x938> .byte 197,229,219,210 // vpand %ymm2,%ymm3,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,98,125,24,5,48,114,2,0 // vbroadcastss 0x27230(%rip),%ymm8 # 2af10 <_sk_srcover_rgba_8888_sse2_lowp+0x93c> .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 196,98,125,88,5,38,114,2,0 // vpbroadcastd 0x27226(%rip),%ymm8 # 2af14 <_sk_srcover_rgba_8888_sse2_lowp+0x940> .byte 196,193,101,219,216 // vpand %ymm8,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,98,125,24,5,24,114,2,0 // vbroadcastss 0x27218(%rip),%ymm8 # 2af18 <_sk_srcover_rgba_8888_sse2_lowp+0x944> .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,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 3c85 <_sk_load_4444_hsw+0x25> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,100,0,0,0 // lea 0x64(%rip),%r10 # 3d90 <_sk_load_4444_hsw+0x130> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,183,4,88 // movzwl (%r8,%r11,2),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 233,66,255,255,255 // jmpq 3c85 <_sk_load_4444_hsw+0x25> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,129,121,196,68,88,4,2 // vpinsrw $0x2,0x4(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,121,110,12,88 // vmovd (%r8,%r11,2),%xmm1 .byte 196,227,121,2,193,1 // vpblendd $0x1,%xmm1,%xmm0,%xmm0 .byte 233,37,255,255,255 // jmpq 3c85 <_sk_load_4444_hsw+0x25> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,129,121,196,68,88,12,6 // vpinsrw $0x6,0xc(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,121,196,68,88,10,5 // vpinsrw $0x5,0xa(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,121,196,68,88,8,4 // vpinsrw $0x4,0x8(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,122,126,12,88 // vmovq (%r8,%r11,2),%xmm1 .byte 196,227,113,2,192,12 // vpblendd $0xc,%xmm0,%xmm1,%xmm0 .byte 233,248,254,255,255 // jmpq 3c85 <_sk_load_4444_hsw+0x25> .byte 15,31,0 // nopl (%rax) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 191,255,255,255,179 // mov $0xb3ffffff,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 236 // in (%dx),%al .byte 255 // (bad) .byte 255 // (bad) .byte 255,228 // jmpq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,208 // callq *%rax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_4444_dst_hsw .globl _sk_load_4444_dst_hsw FUNCTION(_sk_load_4444_dst_hsw) _sk_load_4444_dst_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,138,0,0,0 // jne 3e55 <_sk_load_4444_dst_hsw+0xa9> .byte 196,129,122,111,36,88 // vmovdqu (%r8,%r11,2),%xmm4 .byte 196,226,125,51,252 // vpmovzxwd %xmm4,%ymm7 .byte 196,226,125,88,37,29,113,2,0 // vpbroadcastd 0x2711d(%rip),%ymm4 # 2aefc <_sk_srcover_rgba_8888_sse2_lowp+0x928> .byte 197,197,219,228 // vpand %ymm4,%ymm7,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,16,113,2,0 // vbroadcastss 0x27110(%rip),%ymm5 # 2af00 <_sk_srcover_rgba_8888_sse2_lowp+0x92c> .byte 197,220,89,229 // vmulps %ymm5,%ymm4,%ymm4 .byte 196,226,125,88,45,7,113,2,0 // vpbroadcastd 0x27107(%rip),%ymm5 # 2af04 <_sk_srcover_rgba_8888_sse2_lowp+0x930> .byte 197,197,219,237 // vpand %ymm5,%ymm7,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,226,125,24,53,250,112,2,0 // vbroadcastss 0x270fa(%rip),%ymm6 # 2af08 <_sk_srcover_rgba_8888_sse2_lowp+0x934> .byte 197,212,89,238 // vmulps %ymm6,%ymm5,%ymm5 .byte 196,226,125,88,53,241,112,2,0 // vpbroadcastd 0x270f1(%rip),%ymm6 # 2af0c <_sk_srcover_rgba_8888_sse2_lowp+0x938> .byte 197,197,219,246 // vpand %ymm6,%ymm7,%ymm6 .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 196,98,125,24,5,228,112,2,0 // vbroadcastss 0x270e4(%rip),%ymm8 # 2af10 <_sk_srcover_rgba_8888_sse2_lowp+0x93c> .byte 196,193,76,89,240 // vmulps %ymm8,%ymm6,%ymm6 .byte 196,98,125,88,5,218,112,2,0 // vpbroadcastd 0x270da(%rip),%ymm8 # 2af14 <_sk_srcover_rgba_8888_sse2_lowp+0x940> .byte 196,193,69,219,248 // vpand %ymm8,%ymm7,%ymm7 .byte 197,252,91,255 // vcvtdq2ps %ymm7,%ymm7 .byte 196,98,125,24,5,204,112,2,0 // vbroadcastss 0x270cc(%rip),%ymm8 # 2af18 <_sk_srcover_rgba_8888_sse2_lowp+0x944> .byte 196,193,68,89,248 // vmulps %ymm8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,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 3dd1 <_sk_load_4444_dst_hsw+0x25> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,100,0,0,0 // lea 0x64(%rip),%r10 # 3edc <_sk_load_4444_dst_hsw+0x130> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,183,4,88 // movzwl (%r8,%r11,2),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 233,66,255,255,255 // jmpq 3dd1 <_sk_load_4444_dst_hsw+0x25> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,129,89,196,100,88,4,2 // vpinsrw $0x2,0x4(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,121,110,44,88 // vmovd (%r8,%r11,2),%xmm5 .byte 196,227,89,2,229,1 // vpblendd $0x1,%xmm5,%xmm4,%xmm4 .byte 233,37,255,255,255 // jmpq 3dd1 <_sk_load_4444_dst_hsw+0x25> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,129,89,196,100,88,12,6 // vpinsrw $0x6,0xc(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,89,196,100,88,10,5 // vpinsrw $0x5,0xa(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,89,196,100,88,8,4 // vpinsrw $0x4,0x8(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,122,126,44,88 // vmovq (%r8,%r11,2),%xmm5 .byte 196,227,81,2,228,12 // vpblendd $0xc,%xmm4,%xmm5,%xmm4 .byte 233,248,254,255,255 // jmpq 3dd1 <_sk_load_4444_dst_hsw+0x25> .byte 15,31,0 // nopl (%rax) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 191,255,255,255,179 // mov $0xb3ffffff,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 236 // in (%dx),%al .byte 255 // (bad) .byte 255 // (bad) .byte 255,228 // jmpq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,208 // callq *%rax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_4444_hsw .globl _sk_gather_4444_hsw FUNCTION(_sk_gather_4444_hsw) _sk_gather_4444_hsw: .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,125,88,80,8 // vpbroadcastd 0x8(%rax),%ymm2 .byte 196,226,109,64,201 // vpmulld %ymm1,%ymm2,%ymm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,245,254,192 // vpaddd %ymm0,%ymm1,%ymm0 .byte 196,227,249,22,192,1 // vpextrq $0x1,%xmm0,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,57,192,1 // vextracti128 $0x1,%ymm0,%xmm0 .byte 196,227,249,22,195,1 // vpextrq $0x1,%xmm0,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,193,249,126,199 // vmovq %xmm0,%r15 .byte 69,137,252 // mov %r15d,%r12d .byte 73,193,239,32 // shr $0x20,%r15 .byte 71,15,183,20,80 // movzwl (%r8,%r10,2),%r10d .byte 71,15,183,28,88 // movzwl (%r8,%r11,2),%r11d .byte 196,193,121,110,195 // vmovd %r11d,%xmm0 .byte 196,193,121,196,194,1 // vpinsrw $0x1,%r10d,%xmm0,%xmm0 .byte 71,15,183,12,72 // movzwl (%r8,%r9,2),%r9d .byte 196,193,121,196,193,2 // vpinsrw $0x2,%r9d,%xmm0,%xmm0 .byte 65,15,183,4,64 // movzwl (%r8,%rax,2),%eax .byte 197,249,196,192,3 // vpinsrw $0x3,%eax,%xmm0,%xmm0 .byte 67,15,183,4,96 // movzwl (%r8,%r12,2),%eax .byte 197,249,196,192,4 // vpinsrw $0x4,%eax,%xmm0,%xmm0 .byte 67,15,183,4,120 // movzwl (%r8,%r15,2),%eax .byte 197,249,196,192,5 // vpinsrw $0x5,%eax,%xmm0,%xmm0 .byte 67,15,183,4,112 // movzwl (%r8,%r14,2),%eax .byte 197,249,196,192,6 // vpinsrw $0x6,%eax,%xmm0,%xmm0 .byte 65,15,183,4,88 // movzwl (%r8,%rbx,2),%eax .byte 197,249,196,192,7 // vpinsrw $0x7,%eax,%xmm0,%xmm0 .byte 196,226,125,51,216 // vpmovzxwd %xmm0,%ymm3 .byte 196,226,125,88,5,73,111,2,0 // vpbroadcastd 0x26f49(%rip),%ymm0 # 2aefc <_sk_srcover_rgba_8888_sse2_lowp+0x928> .byte 197,229,219,192 // vpand %ymm0,%ymm3,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,60,111,2,0 // vbroadcastss 0x26f3c(%rip),%ymm1 # 2af00 <_sk_srcover_rgba_8888_sse2_lowp+0x92c> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,88,13,51,111,2,0 // vpbroadcastd 0x26f33(%rip),%ymm1 # 2af04 <_sk_srcover_rgba_8888_sse2_lowp+0x930> .byte 197,229,219,201 // vpand %ymm1,%ymm3,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,21,38,111,2,0 // vbroadcastss 0x26f26(%rip),%ymm2 # 2af08 <_sk_srcover_rgba_8888_sse2_lowp+0x934> .byte 197,244,89,202 // vmulps %ymm2,%ymm1,%ymm1 .byte 196,226,125,88,21,29,111,2,0 // vpbroadcastd 0x26f1d(%rip),%ymm2 # 2af0c <_sk_srcover_rgba_8888_sse2_lowp+0x938> .byte 197,229,219,210 // vpand %ymm2,%ymm3,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,98,125,24,5,16,111,2,0 // vbroadcastss 0x26f10(%rip),%ymm8 # 2af10 <_sk_srcover_rgba_8888_sse2_lowp+0x93c> .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 196,98,125,88,5,6,111,2,0 // vpbroadcastd 0x26f06(%rip),%ymm8 # 2af14 <_sk_srcover_rgba_8888_sse2_lowp+0x940> .byte 196,193,101,219,216 // vpand %ymm8,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,98,125,24,5,248,110,2,0 // vbroadcastss 0x26ef8(%rip),%ymm8 # 2af18 <_sk_srcover_rgba_8888_sse2_lowp+0x944> .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_store_4444_hsw .globl _sk_store_4444_hsw FUNCTION(_sk_store_4444_hsw) _sk_store_4444_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 196,98,125,24,5,205,110,2,0 // vbroadcastss 0x26ecd(%rip),%ymm8 # 2af1c <_sk_srcover_rgba_8888_sse2_lowp+0x948> .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 72,133,255 // test %rdi,%rdi .byte 117,10 // jne 40b2 <_sk_store_4444_hsw+0x82> .byte 196,1,122,127,4,88 // vmovdqu %xmm8,(%r8,%r11,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja 40ae <_sk_store_4444_hsw+0x7e> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,67,0,0,0 // lea 0x43(%rip),%r10 # 4110 <_sk_store_4444_hsw+0xe0> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,3,121,21,4,88,0 // vpextrw $0x0,%xmm8,(%r8,%r11,2) .byte 235,207 // jmp 40ae <_sk_store_4444_hsw+0x7e> .byte 196,3,121,21,68,88,4,2 // vpextrw $0x2,%xmm8,0x4(%r8,%r11,2) .byte 196,1,121,126,4,88 // vmovd %xmm8,(%r8,%r11,2) .byte 235,191 // jmp 40ae <_sk_store_4444_hsw+0x7e> .byte 196,3,121,21,68,88,12,6 // vpextrw $0x6,%xmm8,0xc(%r8,%r11,2) .byte 196,3,121,21,68,88,10,5 // vpextrw $0x5,%xmm8,0xa(%r8,%r11,2) .byte 196,3,121,21,68,88,8,4 // vpextrw $0x4,%xmm8,0x8(%r8,%r11,2) .byte 196,1,121,214,4,88 // vmovq %xmm8,(%r8,%r11,2) .byte 235,159 // jmp 40ae <_sk_store_4444_hsw+0x7e> .byte 144 // nop .byte 198 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,215 // callq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255,207 // dec %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255,247 // push %rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 239 // out %eax,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,231 // jmpq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 223,255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_8888_hsw .globl _sk_load_8888_hsw FUNCTION(_sk_load_8888_hsw) _sk_load_8888_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,86 // jne 419e <_sk_load_8888_hsw+0x72> .byte 196,129,126,111,28,152 // vmovdqu (%r8,%r11,4),%ymm3 .byte 197,229,219,5,42,104,2,0 // vpand 0x2682a(%rip),%ymm3,%ymm0 # 2a980 <_sk_srcover_rgba_8888_sse2_lowp+0x3ac> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,5,25,109,2,0 // vbroadcastss 0x26d19(%rip),%ymm8 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 196,226,101,0,13,47,104,2,0 // vpshufb 0x2682f(%rip),%ymm3,%ymm1 # 2a9a0 <_sk_srcover_rgba_8888_sse2_lowp+0x3cc> .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,226,101,0,21,61,104,2,0 // vpshufb 0x2683d(%rip),%ymm3,%ymm2 # 2a9c0 <_sk_srcover_rgba_8888_sse2_lowp+0x3ec> .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 197,229,114,211,24 // vpsrld $0x18,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,156 // ja 414e <_sk_load_8888_hsw+0x22> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,135,0,0,0 // lea 0x87(%rip),%r10 # 4244 <_sk_load_8888_hsw+0x118> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,129,121,110,28,152 // vmovd (%r8,%r11,4),%xmm3 .byte 235,128 // jmp 414e <_sk_load_8888_hsw+0x22> .byte 196,129,121,110,68,152,8 // vmovd 0x8(%r8,%r11,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,129,122,126,4,152 // vmovq (%r8,%r11,4),%xmm0 .byte 196,227,101,2,216,3 // vpblendd $0x3,%ymm0,%ymm3,%ymm3 .byte 233,89,255,255,255 // jmpq 414e <_sk_load_8888_hsw+0x22> .byte 196,129,121,110,68,152,24 // vmovd 0x18(%r8,%r11,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,131,121,34,68,152,20,1 // vpinsrd $0x1,0x14(%r8,%r11,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,131,121,34,68,152,16,0 // vpinsrd $0x0,0x10(%r8,%r11,4),%xmm0,%xmm0 .byte 196,227,101,56,216,1 // vinserti128 $0x1,%xmm0,%ymm3,%ymm3 .byte 196,129,122,111,4,152 // vmovdqu (%r8,%r11,4),%xmm0 .byte 196,227,125,2,219,240 // vpblendd $0xf0,%ymm3,%ymm0,%ymm3 .byte 233,10,255,255,255 // jmpq 414e <_sk_load_8888_hsw+0x22> .byte 130 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,160,255,255,255,138 // jmpq *-0x75000001(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 239 // out %eax,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 219,255 // (bad) .byte 255 // (bad) .byte 255,199 // inc %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 177,255 // mov $0xff,%cl .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_8888_dst_hsw .globl _sk_load_8888_dst_hsw FUNCTION(_sk_load_8888_dst_hsw) _sk_load_8888_dst_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,86 // jne 42d2 <_sk_load_8888_dst_hsw+0x72> .byte 196,129,126,111,60,152 // vmovdqu (%r8,%r11,4),%ymm7 .byte 197,197,219,37,86,103,2,0 // vpand 0x26756(%rip),%ymm7,%ymm4 # 2a9e0 <_sk_srcover_rgba_8888_sse2_lowp+0x40c> .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,98,125,24,5,229,107,2,0 // vbroadcastss 0x26be5(%rip),%ymm8 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 196,193,92,89,224 // vmulps %ymm8,%ymm4,%ymm4 .byte 196,226,69,0,45,91,103,2,0 // vpshufb 0x2675b(%rip),%ymm7,%ymm5 # 2aa00 <_sk_srcover_rgba_8888_sse2_lowp+0x42c> .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,193,84,89,232 // vmulps %ymm8,%ymm5,%ymm5 .byte 196,226,69,0,53,105,103,2,0 // vpshufb 0x26769(%rip),%ymm7,%ymm6 # 2aa20 <_sk_srcover_rgba_8888_sse2_lowp+0x44c> .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 196,193,76,89,240 // vmulps %ymm8,%ymm6,%ymm6 .byte 197,197,114,215,24 // vpsrld $0x18,%ymm7,%ymm7 .byte 197,252,91,255 // vcvtdq2ps %ymm7,%ymm7 .byte 196,193,68,89,248 // vmulps %ymm8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,156 // ja 4282 <_sk_load_8888_dst_hsw+0x22> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,135,0,0,0 // lea 0x87(%rip),%r10 # 4378 <_sk_load_8888_dst_hsw+0x118> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,129,121,110,60,152 // vmovd (%r8,%r11,4),%xmm7 .byte 235,128 // jmp 4282 <_sk_load_8888_dst_hsw+0x22> .byte 196,129,121,110,100,152,8 // vmovd 0x8(%r8,%r11,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,129,122,126,36,152 // vmovq (%r8,%r11,4),%xmm4 .byte 196,227,69,2,252,3 // vpblendd $0x3,%ymm4,%ymm7,%ymm7 .byte 233,89,255,255,255 // jmpq 4282 <_sk_load_8888_dst_hsw+0x22> .byte 196,129,121,110,100,152,24 // vmovd 0x18(%r8,%r11,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,131,89,34,100,152,20,1 // vpinsrd $0x1,0x14(%r8,%r11,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,131,89,34,100,152,16,0 // vpinsrd $0x0,0x10(%r8,%r11,4),%xmm4,%xmm4 .byte 196,227,69,56,252,1 // vinserti128 $0x1,%xmm4,%ymm7,%ymm7 .byte 196,129,122,111,36,152 // vmovdqu (%r8,%r11,4),%xmm4 .byte 196,227,93,2,255,240 // vpblendd $0xf0,%ymm7,%ymm4,%ymm7 .byte 233,10,255,255,255 // jmpq 4282 <_sk_load_8888_dst_hsw+0x22> .byte 130 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,160,255,255,255,138 // jmpq *-0x75000001(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 239 // out %eax,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 219,255 // (bad) .byte 255 // (bad) .byte 255,199 // inc %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 177,255 // mov $0xff,%cl .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_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,0 // mov (%rax),%r8 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,125,88,80,8 // vpbroadcastd 0x8(%rax),%ymm2 .byte 196,226,109,64,201 // vpmulld %ymm1,%ymm2,%ymm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,245,254,192 // vpaddd %ymm0,%ymm1,%ymm0 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 196,194,117,144,28,128 // vpgatherdd %ymm1,(%r8,%ymm0,4),%ymm3 .byte 197,229,219,5,122,102,2,0 // vpand 0x2667a(%rip),%ymm3,%ymm0 # 2aa40 <_sk_srcover_rgba_8888_sse2_lowp+0x46c> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,5,169,106,2,0 // vbroadcastss 0x26aa9(%rip),%ymm8 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 196,226,101,0,13,127,102,2,0 // vpshufb 0x2667f(%rip),%ymm3,%ymm1 # 2aa60 <_sk_srcover_rgba_8888_sse2_lowp+0x48c> .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,226,101,0,21,141,102,2,0 // vpshufb 0x2668d(%rip),%ymm3,%ymm2 # 2aa80 <_sk_srcover_rgba_8888_sse2_lowp+0x4ac> .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 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 196,98,125,24,5,6,106,2,0 // vbroadcastss 0x26a06(%rip),%ymm8 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .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 72,133,255 // test %rdi,%rdi .byte 117,10 // jne 4486 <_sk_store_8888_hsw+0x78> .byte 196,1,126,127,4,152 // vmovdqu %ymm8,(%r8,%r11,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja 4482 <_sk_store_8888_hsw+0x74> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,83,0,0,0 // lea 0x53(%rip),%r10 # 44f4 <_sk_store_8888_hsw+0xe6> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,1,121,126,4,152 // vmovd %xmm8,(%r8,%r11,4) .byte 235,208 // jmp 4482 <_sk_store_8888_hsw+0x74> .byte 196,3,121,22,68,152,8,2 // vpextrd $0x2,%xmm8,0x8(%r8,%r11,4) .byte 196,1,121,214,4,152 // vmovq %xmm8,(%r8,%r11,4) .byte 235,192 // jmp 4482 <_sk_store_8888_hsw+0x74> .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,3,121,22,76,152,24,2 // vpextrd $0x2,%xmm9,0x18(%r8,%r11,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,3,121,22,76,152,20,1 // vpextrd $0x1,%xmm9,0x14(%r8,%r11,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,1,121,126,76,152,16 // vmovd %xmm9,0x10(%r8,%r11,4) .byte 196,1,122,127,4,152 // vmovdqu %xmm8,(%r8,%r11,4) .byte 235,143 // jmp 4482 <_sk_store_8888_hsw+0x74> .byte 144 // nop .byte 182,255 // mov $0xff,%dh .byte 255 // (bad) .byte 255,198 // inc %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 190,255,255,255,247 // mov $0xf7ffffff,%esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 234 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,206 // dec %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_bgra_hsw .globl _sk_load_bgra_hsw FUNCTION(_sk_load_bgra_hsw) _sk_load_bgra_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,86 // jne 4582 <_sk_load_bgra_hsw+0x72> .byte 196,129,126,111,28,152 // vmovdqu (%r8,%r11,4),%ymm3 .byte 197,229,219,5,102,101,2,0 // vpand 0x26566(%rip),%ymm3,%ymm0 # 2aaa0 <_sk_srcover_rgba_8888_sse2_lowp+0x4cc> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,5,53,105,2,0 // vbroadcastss 0x26935(%rip),%ymm8 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 196,193,124,89,208 // vmulps %ymm8,%ymm0,%ymm2 .byte 196,226,101,0,5,107,101,2,0 // vpshufb 0x2656b(%rip),%ymm3,%ymm0 # 2aac0 <_sk_srcover_rgba_8888_sse2_lowp+0x4ec> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,193,124,89,200 // vmulps %ymm8,%ymm0,%ymm1 .byte 196,226,101,0,5,121,101,2,0 // vpshufb 0x26579(%rip),%ymm3,%ymm0 # 2aae0 <_sk_srcover_rgba_8888_sse2_lowp+0x50c> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 197,229,114,211,24 // vpsrld $0x18,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,156 // ja 4532 <_sk_load_bgra_hsw+0x22> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,135,0,0,0 // lea 0x87(%rip),%r10 # 4628 <_sk_load_bgra_hsw+0x118> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,129,121,110,28,152 // vmovd (%r8,%r11,4),%xmm3 .byte 235,128 // jmp 4532 <_sk_load_bgra_hsw+0x22> .byte 196,129,121,110,68,152,8 // vmovd 0x8(%r8,%r11,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,129,122,126,4,152 // vmovq (%r8,%r11,4),%xmm0 .byte 196,227,101,2,216,3 // vpblendd $0x3,%ymm0,%ymm3,%ymm3 .byte 233,89,255,255,255 // jmpq 4532 <_sk_load_bgra_hsw+0x22> .byte 196,129,121,110,68,152,24 // vmovd 0x18(%r8,%r11,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,131,121,34,68,152,20,1 // vpinsrd $0x1,0x14(%r8,%r11,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,131,121,34,68,152,16,0 // vpinsrd $0x0,0x10(%r8,%r11,4),%xmm0,%xmm0 .byte 196,227,101,56,216,1 // vinserti128 $0x1,%xmm0,%ymm3,%ymm3 .byte 196,129,122,111,4,152 // vmovdqu (%r8,%r11,4),%xmm0 .byte 196,227,125,2,219,240 // vpblendd $0xf0,%ymm3,%ymm0,%ymm3 .byte 233,10,255,255,255 // jmpq 4532 <_sk_load_bgra_hsw+0x22> .byte 130 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,160,255,255,255,138 // jmpq *-0x75000001(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 239 // out %eax,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 219,255 // (bad) .byte 255 // (bad) .byte 255,199 // inc %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 177,255 // mov $0xff,%cl .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_bgra_dst_hsw .globl _sk_load_bgra_dst_hsw FUNCTION(_sk_load_bgra_dst_hsw) _sk_load_bgra_dst_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,86 // jne 46b6 <_sk_load_bgra_dst_hsw+0x72> .byte 196,129,126,111,60,152 // vmovdqu (%r8,%r11,4),%ymm7 .byte 197,197,219,37,146,100,2,0 // vpand 0x26492(%rip),%ymm7,%ymm4 # 2ab00 <_sk_srcover_rgba_8888_sse2_lowp+0x52c> .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,98,125,24,5,1,104,2,0 // vbroadcastss 0x26801(%rip),%ymm8 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 196,193,92,89,240 // vmulps %ymm8,%ymm4,%ymm6 .byte 196,226,69,0,37,151,100,2,0 // vpshufb 0x26497(%rip),%ymm7,%ymm4 # 2ab20 <_sk_srcover_rgba_8888_sse2_lowp+0x54c> .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,193,92,89,232 // vmulps %ymm8,%ymm4,%ymm5 .byte 196,226,69,0,37,165,100,2,0 // vpshufb 0x264a5(%rip),%ymm7,%ymm4 # 2ab40 <_sk_srcover_rgba_8888_sse2_lowp+0x56c> .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,193,92,89,224 // vmulps %ymm8,%ymm4,%ymm4 .byte 197,197,114,215,24 // vpsrld $0x18,%ymm7,%ymm7 .byte 197,252,91,255 // vcvtdq2ps %ymm7,%ymm7 .byte 196,193,68,89,248 // vmulps %ymm8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,156 // ja 4666 <_sk_load_bgra_dst_hsw+0x22> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,135,0,0,0 // lea 0x87(%rip),%r10 # 475c <_sk_load_bgra_dst_hsw+0x118> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,129,121,110,60,152 // vmovd (%r8,%r11,4),%xmm7 .byte 235,128 // jmp 4666 <_sk_load_bgra_dst_hsw+0x22> .byte 196,129,121,110,100,152,8 // vmovd 0x8(%r8,%r11,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,129,122,126,36,152 // vmovq (%r8,%r11,4),%xmm4 .byte 196,227,69,2,252,3 // vpblendd $0x3,%ymm4,%ymm7,%ymm7 .byte 233,89,255,255,255 // jmpq 4666 <_sk_load_bgra_dst_hsw+0x22> .byte 196,129,121,110,100,152,24 // vmovd 0x18(%r8,%r11,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,131,89,34,100,152,20,1 // vpinsrd $0x1,0x14(%r8,%r11,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,131,89,34,100,152,16,0 // vpinsrd $0x0,0x10(%r8,%r11,4),%xmm4,%xmm4 .byte 196,227,69,56,252,1 // vinserti128 $0x1,%xmm4,%ymm7,%ymm7 .byte 196,129,122,111,36,152 // vmovdqu (%r8,%r11,4),%xmm4 .byte 196,227,93,2,255,240 // vpblendd $0xf0,%ymm7,%ymm4,%ymm7 .byte 233,10,255,255,255 // jmpq 4666 <_sk_load_bgra_dst_hsw+0x22> .byte 130 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,160,255,255,255,138 // jmpq *-0x75000001(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 239 // out %eax,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 219,255 // (bad) .byte 255 // (bad) .byte 255,199 // inc %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 177,255 // mov $0xff,%cl .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_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,0 // mov (%rax),%r8 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,125,88,80,8 // vpbroadcastd 0x8(%rax),%ymm2 .byte 196,226,109,64,201 // vpmulld %ymm1,%ymm2,%ymm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,245,254,192 // vpaddd %ymm0,%ymm1,%ymm0 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 196,194,117,144,28,128 // vpgatherdd %ymm1,(%r8,%ymm0,4),%ymm3 .byte 197,229,219,5,182,99,2,0 // vpand 0x263b6(%rip),%ymm3,%ymm0 # 2ab60 <_sk_srcover_rgba_8888_sse2_lowp+0x58c> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,5,197,102,2,0 // vbroadcastss 0x266c5(%rip),%ymm8 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 196,193,124,89,208 // vmulps %ymm8,%ymm0,%ymm2 .byte 196,226,101,0,5,187,99,2,0 // vpshufb 0x263bb(%rip),%ymm3,%ymm0 # 2ab80 <_sk_srcover_rgba_8888_sse2_lowp+0x5ac> .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,193,124,89,200 // vmulps %ymm8,%ymm0,%ymm1 .byte 196,226,101,0,5,201,99,2,0 // vpshufb 0x263c9(%rip),%ymm3,%ymm0 # 2aba0 <_sk_srcover_rgba_8888_sse2_lowp+0x5cc> .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 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 196,98,125,24,5,34,102,2,0 // vbroadcastss 0x26622(%rip),%ymm8 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .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 72,133,255 // test %rdi,%rdi .byte 117,10 // jne 486a <_sk_store_bgra_hsw+0x78> .byte 196,1,126,127,4,152 // vmovdqu %ymm8,(%r8,%r11,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja 4866 <_sk_store_bgra_hsw+0x74> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,83,0,0,0 // lea 0x53(%rip),%r10 # 48d8 <_sk_store_bgra_hsw+0xe6> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,1,121,126,4,152 // vmovd %xmm8,(%r8,%r11,4) .byte 235,208 // jmp 4866 <_sk_store_bgra_hsw+0x74> .byte 196,3,121,22,68,152,8,2 // vpextrd $0x2,%xmm8,0x8(%r8,%r11,4) .byte 196,1,121,214,4,152 // vmovq %xmm8,(%r8,%r11,4) .byte 235,192 // jmp 4866 <_sk_store_bgra_hsw+0x74> .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,3,121,22,76,152,24,2 // vpextrd $0x2,%xmm9,0x18(%r8,%r11,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,3,121,22,76,152,20,1 // vpextrd $0x1,%xmm9,0x14(%r8,%r11,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,1,121,126,76,152,16 // vmovd %xmm9,0x10(%r8,%r11,4) .byte 196,1,122,127,4,152 // vmovdqu %xmm8,(%r8,%r11,4) .byte 235,143 // jmp 4866 <_sk_store_bgra_hsw+0x74> .byte 144 // nop .byte 182,255 // mov $0xff,%dh .byte 255 // (bad) .byte 255,198 // inc %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 190,255,255,255,247 // mov $0xf7ffffff,%esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 234 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,206 // dec %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_f16_hsw .globl _sk_load_f16_hsw FUNCTION(_sk_load_f16_hsw) _sk_load_f16_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,3 // shl $0x3,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 117,101 // jne 4975 <_sk_load_f16_hsw+0x81> .byte 196,65,121,16,4,192 // vmovupd (%r8,%rax,8),%xmm8 .byte 196,193,121,16,84,192,16 // vmovupd 0x10(%r8,%rax,8),%xmm2 .byte 196,193,121,16,92,192,32 // vmovupd 0x20(%r8,%rax,8),%xmm3 .byte 196,65,122,111,76,192,48 // vmovdqu 0x30(%r8,%rax,8),%xmm9 .byte 197,185,97,194 // vpunpcklwd %xmm2,%xmm8,%xmm0 .byte 197,185,105,210 // vpunpckhwd %xmm2,%xmm8,%xmm2 .byte 196,193,97,97,201 // vpunpcklwd %xmm9,%xmm3,%xmm1 .byte 196,193,97,105,217 // vpunpckhwd %xmm9,%xmm3,%xmm3 .byte 197,121,97,194 // vpunpcklwd %xmm2,%xmm0,%xmm8 .byte 197,121,105,202 // vpunpckhwd %xmm2,%xmm0,%xmm9 .byte 197,241,97,211 // vpunpcklwd %xmm3,%xmm1,%xmm2 .byte 197,241,105,219 // vpunpckhwd %xmm3,%xmm1,%xmm3 .byte 197,185,108,194 // vpunpcklqdq %xmm2,%xmm8,%xmm0 .byte 196,226,125,19,192 // vcvtph2ps %xmm0,%ymm0 .byte 197,185,109,202 // vpunpckhqdq %xmm2,%xmm8,%xmm1 .byte 196,226,125,19,201 // vcvtph2ps %xmm1,%ymm1 .byte 197,177,108,211 // vpunpcklqdq %xmm3,%xmm9,%xmm2 .byte 196,226,125,19,210 // vcvtph2ps %xmm2,%ymm2 .byte 197,177,109,219 // vpunpckhqdq %xmm3,%xmm9,%xmm3 .byte 196,226,125,19,219 // vcvtph2ps %xmm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,65,123,16,4,192 // vmovsd (%r8,%rax,8),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,85 // je 49db <_sk_load_f16_hsw+0xe7> .byte 196,65,57,22,68,192,8 // vmovhpd 0x8(%r8,%rax,8),%xmm8,%xmm8 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,72 // jb 49db <_sk_load_f16_hsw+0xe7> .byte 196,193,123,16,84,192,16 // vmovsd 0x10(%r8,%rax,8),%xmm2 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 116,72 // je 49e8 <_sk_load_f16_hsw+0xf4> .byte 196,193,105,22,84,192,24 // vmovhpd 0x18(%r8,%rax,8),%xmm2,%xmm2 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,59 // jb 49e8 <_sk_load_f16_hsw+0xf4> .byte 196,193,123,16,92,192,32 // vmovsd 0x20(%r8,%rax,8),%xmm3 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 15,132,109,255,255,255 // je 492b <_sk_load_f16_hsw+0x37> .byte 196,193,97,22,92,192,40 // vmovhpd 0x28(%r8,%rax,8),%xmm3,%xmm3 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 15,130,92,255,255,255 // jb 492b <_sk_load_f16_hsw+0x37> .byte 196,65,122,126,76,192,48 // vmovq 0x30(%r8,%rax,8),%xmm9 .byte 233,80,255,255,255 // jmpq 492b <_sk_load_f16_hsw+0x37> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 197,233,87,210 // vxorpd %xmm2,%xmm2,%xmm2 .byte 233,67,255,255,255 // jmpq 492b <_sk_load_f16_hsw+0x37> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 233,58,255,255,255 // jmpq 492b <_sk_load_f16_hsw+0x37> HIDDEN _sk_load_f16_dst_hsw .globl _sk_load_f16_dst_hsw FUNCTION(_sk_load_f16_dst_hsw) _sk_load_f16_dst_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,3 // shl $0x3,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 117,101 // jne 4a72 <_sk_load_f16_dst_hsw+0x81> .byte 196,65,121,16,4,192 // vmovupd (%r8,%rax,8),%xmm8 .byte 196,193,121,16,116,192,16 // vmovupd 0x10(%r8,%rax,8),%xmm6 .byte 196,193,121,16,124,192,32 // vmovupd 0x20(%r8,%rax,8),%xmm7 .byte 196,65,122,111,76,192,48 // vmovdqu 0x30(%r8,%rax,8),%xmm9 .byte 197,185,97,230 // vpunpcklwd %xmm6,%xmm8,%xmm4 .byte 197,185,105,246 // vpunpckhwd %xmm6,%xmm8,%xmm6 .byte 196,193,65,97,233 // vpunpcklwd %xmm9,%xmm7,%xmm5 .byte 196,193,65,105,249 // vpunpckhwd %xmm9,%xmm7,%xmm7 .byte 197,89,97,198 // vpunpcklwd %xmm6,%xmm4,%xmm8 .byte 197,89,105,206 // vpunpckhwd %xmm6,%xmm4,%xmm9 .byte 197,209,97,247 // vpunpcklwd %xmm7,%xmm5,%xmm6 .byte 197,209,105,255 // vpunpckhwd %xmm7,%xmm5,%xmm7 .byte 197,185,108,230 // vpunpcklqdq %xmm6,%xmm8,%xmm4 .byte 196,226,125,19,228 // vcvtph2ps %xmm4,%ymm4 .byte 197,185,109,238 // vpunpckhqdq %xmm6,%xmm8,%xmm5 .byte 196,226,125,19,237 // vcvtph2ps %xmm5,%ymm5 .byte 197,177,108,247 // vpunpcklqdq %xmm7,%xmm9,%xmm6 .byte 196,226,125,19,246 // vcvtph2ps %xmm6,%ymm6 .byte 197,177,109,255 // vpunpckhqdq %xmm7,%xmm9,%xmm7 .byte 196,226,125,19,255 // vcvtph2ps %xmm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,65,123,16,4,192 // vmovsd (%r8,%rax,8),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,85 // je 4ad8 <_sk_load_f16_dst_hsw+0xe7> .byte 196,65,57,22,68,192,8 // vmovhpd 0x8(%r8,%rax,8),%xmm8,%xmm8 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,72 // jb 4ad8 <_sk_load_f16_dst_hsw+0xe7> .byte 196,193,123,16,116,192,16 // vmovsd 0x10(%r8,%rax,8),%xmm6 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 116,72 // je 4ae5 <_sk_load_f16_dst_hsw+0xf4> .byte 196,193,73,22,116,192,24 // vmovhpd 0x18(%r8,%rax,8),%xmm6,%xmm6 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,59 // jb 4ae5 <_sk_load_f16_dst_hsw+0xf4> .byte 196,193,123,16,124,192,32 // vmovsd 0x20(%r8,%rax,8),%xmm7 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 15,132,109,255,255,255 // je 4a28 <_sk_load_f16_dst_hsw+0x37> .byte 196,193,65,22,124,192,40 // vmovhpd 0x28(%r8,%rax,8),%xmm7,%xmm7 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 15,130,92,255,255,255 // jb 4a28 <_sk_load_f16_dst_hsw+0x37> .byte 196,65,122,126,76,192,48 // vmovq 0x30(%r8,%rax,8),%xmm9 .byte 233,80,255,255,255 // jmpq 4a28 <_sk_load_f16_dst_hsw+0x37> .byte 197,193,87,255 // vxorpd %xmm7,%xmm7,%xmm7 .byte 197,201,87,246 // vxorpd %xmm6,%xmm6,%xmm6 .byte 233,67,255,255,255 // jmpq 4a28 <_sk_load_f16_dst_hsw+0x37> .byte 197,193,87,255 // vxorpd %xmm7,%xmm7,%xmm7 .byte 233,58,255,255,255 // jmpq 4a28 <_sk_load_f16_dst_hsw+0x37> 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,0 // mov (%rax),%r8 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,125,88,80,8 // vpbroadcastd 0x8(%rax),%ymm2 .byte 196,226,109,64,201 // vpmulld %ymm1,%ymm2,%ymm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,245,254,192 // vpaddd %ymm0,%ymm1,%ymm0 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 197,237,239,210 // vpxor %ymm2,%ymm2,%ymm2 .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 196,65,61,118,192 // vpcmpeqd %ymm8,%ymm8,%ymm8 .byte 196,194,189,144,28,192 // vpgatherdq %ymm8,(%r8,%xmm0,8),%ymm3 .byte 196,227,125,57,192,1 // vextracti128 $0x1,%ymm0,%xmm0 .byte 196,194,245,144,20,192 // vpgatherdq %ymm1,(%r8,%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 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,3 // shl $0x3,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%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 72,133,255 // test %rdi,%rdi .byte 117,31 // jne 4bfc <_sk_store_f16_hsw+0x7b> .byte 196,65,122,127,28,192 // vmovdqu %xmm11,(%r8,%rax,8) .byte 196,65,122,127,84,192,16 // vmovdqu %xmm10,0x10(%r8,%rax,8) .byte 196,65,122,127,76,192,32 // vmovdqu %xmm9,0x20(%r8,%rax,8) .byte 196,65,122,127,68,192,48 // vmovdqu %xmm8,0x30(%r8,%rax,8) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,214,28,192 // vmovq %xmm11,(%r8,%rax,8) .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,240 // je 4bf8 <_sk_store_f16_hsw+0x77> .byte 196,65,121,23,92,192,8 // vmovhpd %xmm11,0x8(%r8,%rax,8) .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,227 // jb 4bf8 <_sk_store_f16_hsw+0x77> .byte 196,65,121,214,84,192,16 // vmovq %xmm10,0x10(%r8,%rax,8) .byte 116,218 // je 4bf8 <_sk_store_f16_hsw+0x77> .byte 196,65,121,23,84,192,24 // vmovhpd %xmm10,0x18(%r8,%rax,8) .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,205 // jb 4bf8 <_sk_store_f16_hsw+0x77> .byte 196,65,121,214,76,192,32 // vmovq %xmm9,0x20(%r8,%rax,8) .byte 116,196 // je 4bf8 <_sk_store_f16_hsw+0x77> .byte 196,65,121,23,76,192,40 // vmovhpd %xmm9,0x28(%r8,%rax,8) .byte 72,131,255,7 // cmp $0x7,%rdi .byte 114,183 // jb 4bf8 <_sk_store_f16_hsw+0x77> .byte 196,65,121,214,68,192,48 // vmovq %xmm8,0x30(%r8,%rax,8) .byte 235,174 // jmp 4bf8 <_sk_store_f16_hsw+0x77> 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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%rax .byte 72,133,255 // test %rdi,%rdi .byte 15,133,204,0,0,0 // jne 4d3d <_sk_load_u16_be_hsw+0xf3> .byte 196,65,121,16,4,64 // vmovupd (%r8,%rax,2),%xmm8 .byte 196,193,121,16,84,64,16 // vmovupd 0x10(%r8,%rax,2),%xmm2 .byte 196,193,121,16,92,64,32 // vmovupd 0x20(%r8,%rax,2),%xmm3 .byte 196,65,122,111,76,64,48 // vmovdqu 0x30(%r8,%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,198,97,2,0 // vbroadcastss 0x261c6(%rip),%ymm10 # 2ae98 <_sk_srcover_rgba_8888_sse2_lowp+0x8c4> .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,64 // vmovsd (%r8,%rax,2),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,85 // je 4da3 <_sk_load_u16_be_hsw+0x159> .byte 196,65,57,22,68,64,8 // vmovhpd 0x8(%r8,%rax,2),%xmm8,%xmm8 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,72 // jb 4da3 <_sk_load_u16_be_hsw+0x159> .byte 196,193,123,16,84,64,16 // vmovsd 0x10(%r8,%rax,2),%xmm2 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 116,72 // je 4db0 <_sk_load_u16_be_hsw+0x166> .byte 196,193,105,22,84,64,24 // vmovhpd 0x18(%r8,%rax,2),%xmm2,%xmm2 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,59 // jb 4db0 <_sk_load_u16_be_hsw+0x166> .byte 196,193,123,16,92,64,32 // vmovsd 0x20(%r8,%rax,2),%xmm3 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 15,132,6,255,255,255 // je 4c8c <_sk_load_u16_be_hsw+0x42> .byte 196,193,97,22,92,64,40 // vmovhpd 0x28(%r8,%rax,2),%xmm3,%xmm3 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 15,130,245,254,255,255 // jb 4c8c <_sk_load_u16_be_hsw+0x42> .byte 196,65,122,126,76,64,48 // vmovq 0x30(%r8,%rax,2),%xmm9 .byte 233,233,254,255,255 // jmpq 4c8c <_sk_load_u16_be_hsw+0x42> .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 4c8c <_sk_load_u16_be_hsw+0x42> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 233,211,254,255,255 // jmpq 4c8c <_sk_load_u16_be_hsw+0x42> 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,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,137,208 // mov %rdx,%rax .byte 72,193,224,32 // shl $0x20,%rax .byte 72,141,4,64 // lea (%rax,%rax,2),%rax .byte 72,193,248,32 // sar $0x20,%rax .byte 72,133,255 // test %rdi,%rdi .byte 15,133,205,0,0,0 // jne 4eb1 <_sk_load_rgb_u16_be_hsw+0xf8> .byte 196,65,122,111,28,64 // vmovdqu (%r8,%rax,2),%xmm11 .byte 196,193,122,111,92,64,12 // vmovdqu 0xc(%r8,%rax,2),%xmm3 .byte 196,193,122,111,84,64,24 // vmovdqu 0x18(%r8,%rax,2),%xmm2 .byte 196,193,122,111,68,64,32 // vmovdqu 0x20(%r8,%rax,2),%xmm0 .byte 197,249,115,216,4 // vpsrldq $0x4,%xmm0,%xmm0 .byte 196,193,57,115,219,6 // vpsrldq $0x6,%xmm11,%xmm8 .byte 197,169,115,219,6 // vpsrldq $0x6,%xmm3,%xmm10 .byte 197,241,115,218,6 // vpsrldq $0x6,%xmm2,%xmm1 .byte 197,177,115,216,6 // vpsrldq $0x6,%xmm0,%xmm9 .byte 196,193,113,97,201 // vpunpcklwd %xmm9,%xmm1,%xmm1 .byte 197,233,97,192 // vpunpcklwd %xmm0,%xmm2,%xmm0 .byte 196,193,57,97,210 // vpunpcklwd %xmm10,%xmm8,%xmm2 .byte 197,161,97,219 // vpunpcklwd %xmm3,%xmm11,%xmm3 .byte 197,97,97,194 // vpunpcklwd %xmm2,%xmm3,%xmm8 .byte 197,225,105,210 // vpunpckhwd %xmm2,%xmm3,%xmm2 .byte 197,249,97,217 // vpunpcklwd %xmm1,%xmm0,%xmm3 .byte 197,249,105,193 // vpunpckhwd %xmm1,%xmm0,%xmm0 .byte 197,233,108,208 // vpunpcklqdq %xmm0,%xmm2,%xmm2 .byte 197,185,108,195 // vpunpcklqdq %xmm3,%xmm8,%xmm0 .byte 197,241,113,240,8 // vpsllw $0x8,%xmm0,%xmm1 .byte 197,249,113,208,8 // vpsrlw $0x8,%xmm0,%xmm0 .byte 197,241,235,192 // vpor %xmm0,%xmm1,%xmm0 .byte 196,226,125,51,192 // vpmovzxwd %xmm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,13,53,96,2,0 // vbroadcastss 0x26035(%rip),%ymm9 # 2ae98 <_sk_srcover_rgba_8888_sse2_lowp+0x8c4> .byte 196,193,124,89,193 // vmulps %ymm9,%ymm0,%ymm0 .byte 197,185,109,203 // vpunpckhqdq %xmm3,%xmm8,%xmm1 .byte 197,225,113,241,8 // vpsllw $0x8,%xmm1,%xmm3 .byte 197,241,113,209,8 // vpsrlw $0x8,%xmm1,%xmm1 .byte 197,225,235,201 // vpor %xmm1,%xmm3,%xmm1 .byte 196,226,125,51,201 // vpmovzxwd %xmm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,201 // vmulps %ymm9,%ymm1,%ymm1 .byte 197,225,113,242,8 // vpsllw $0x8,%xmm2,%xmm3 .byte 197,233,113,210,8 // vpsrlw $0x8,%xmm2,%xmm2 .byte 197,225,235,210 // vpor %xmm2,%xmm3,%xmm2 .byte 196,226,125,51,210 // vpmovzxwd %xmm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,209 // vmulps %ymm9,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,89,95,2,0 // vbroadcastss 0x25f59(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 255,224 // jmpq *%rax .byte 196,193,121,110,4,64 // vmovd (%r8,%rax,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,65,121,196,92,64,4,2 // vpinsrw $0x2,0x4(%r8,%rax,2),%xmm0,%xmm11 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,31 // jne 4ee9 <_sk_load_rgb_u16_be_hsw+0x130> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 197,225,239,219 // vpxor %xmm3,%xmm3,%xmm3 .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 233,48,255,255,255 // jmpq 4e19 <_sk_load_rgb_u16_be_hsw+0x60> .byte 196,193,121,110,68,64,6 // vmovd 0x6(%r8,%rax,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,65,121,196,68,64,10,2 // vpinsrw $0x2,0xa(%r8,%rax,2),%xmm0,%xmm8 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,48 // jb 4f33 <_sk_load_rgb_u16_be_hsw+0x17a> .byte 196,193,121,110,68,64,12 // vmovd 0xc(%r8,%rax,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,193,121,196,92,64,16,2 // vpinsrw $0x2,0x10(%r8,%rax,2),%xmm0,%xmm3 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 117,48 // jne 4f4d <_sk_load_rgb_u16_be_hsw+0x194> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 233,230,254,255,255 // jmpq 4e19 <_sk_load_rgb_u16_be_hsw+0x60> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 197,225,239,219 // vpxor %xmm3,%xmm3,%xmm3 .byte 233,204,254,255,255 // jmpq 4e19 <_sk_load_rgb_u16_be_hsw+0x60> .byte 196,193,121,110,68,64,18 // vmovd 0x12(%r8,%rax,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,65,121,196,84,64,22,2 // vpinsrw $0x2,0x16(%r8,%rax,2),%xmm0,%xmm10 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,39 // jb 4f8e <_sk_load_rgb_u16_be_hsw+0x1d5> .byte 196,193,121,110,68,64,24 // vmovd 0x18(%r8,%rax,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,193,121,196,84,64,28,2 // vpinsrw $0x2,0x1c(%r8,%rax,2),%xmm0,%xmm2 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 117,30 // jne 4f9f <_sk_load_rgb_u16_be_hsw+0x1e6> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 233,139,254,255,255 // jmpq 4e19 <_sk_load_rgb_u16_be_hsw+0x60> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 233,122,254,255,255 // jmpq 4e19 <_sk_load_rgb_u16_be_hsw+0x60> .byte 196,193,121,110,68,64,30 // vmovd 0x1e(%r8,%rax,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,193,121,196,76,64,34,2 // vpinsrw $0x2,0x22(%r8,%rax,2),%xmm0,%xmm1 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 114,25 // jb 4fd2 <_sk_load_rgb_u16_be_hsw+0x219> .byte 196,193,121,110,68,64,36 // vmovd 0x24(%r8,%rax,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,193,121,196,68,64,40,2 // vpinsrw $0x2,0x28(%r8,%rax,2),%xmm0,%xmm0 .byte 233,71,254,255,255 // jmpq 4e19 <_sk_load_rgb_u16_be_hsw+0x60> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 233,62,254,255,255 // jmpq 4e19 <_sk_load_rgb_u16_be_hsw+0x60> 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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%rax .byte 196,98,125,24,5,30,95,2,0 // vbroadcastss 0x25f1e(%rip),%ymm8 # 2af20 <_sk_srcover_rgba_8888_sse2_lowp+0x94c> .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 72,133,255 // test %rdi,%rdi .byte 117,31 // jne 50e6 <_sk_store_u16_be_hsw+0x10b> .byte 196,65,122,127,28,64 // vmovdqu %xmm11,(%r8,%rax,2) .byte 196,65,122,127,84,64,16 // vmovdqu %xmm10,0x10(%r8,%rax,2) .byte 196,65,122,127,76,64,32 // vmovdqu %xmm9,0x20(%r8,%rax,2) .byte 196,65,122,127,68,64,48 // vmovdqu %xmm8,0x30(%r8,%rax,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,214,28,64 // vmovq %xmm11,(%r8,%rax,2) .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,240 // je 50e2 <_sk_store_u16_be_hsw+0x107> .byte 196,65,121,23,92,64,8 // vmovhpd %xmm11,0x8(%r8,%rax,2) .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,227 // jb 50e2 <_sk_store_u16_be_hsw+0x107> .byte 196,65,121,214,84,64,16 // vmovq %xmm10,0x10(%r8,%rax,2) .byte 116,218 // je 50e2 <_sk_store_u16_be_hsw+0x107> .byte 196,65,121,23,84,64,24 // vmovhpd %xmm10,0x18(%r8,%rax,2) .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,205 // jb 50e2 <_sk_store_u16_be_hsw+0x107> .byte 196,65,121,214,76,64,32 // vmovq %xmm9,0x20(%r8,%rax,2) .byte 116,196 // je 50e2 <_sk_store_u16_be_hsw+0x107> .byte 196,65,121,23,76,64,40 // vmovhpd %xmm9,0x28(%r8,%rax,2) .byte 72,131,255,7 // cmp $0x7,%rdi .byte 114,183 // jb 50e2 <_sk_store_u16_be_hsw+0x107> .byte 196,65,121,214,68,64,48 // vmovq %xmm8,0x30(%r8,%rax,2) .byte 235,174 // jmp 50e2 <_sk_store_u16_be_hsw+0x107> HIDDEN _sk_load_f32_hsw .globl _sk_load_f32_hsw FUNCTION(_sk_load_f32_hsw) _sk_load_f32_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,253,87,192 // vxorpd %ymm0,%ymm0,%ymm0 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 15,135,97,1,0,0 // ja 52a5 <_sk_load_f32_hsw+0x171> .byte 72,131,236,24 // sub $0x18,%rsp .byte 197,253,17,100,36,128 // vmovupd %ymm4,-0x80(%rsp) .byte 197,253,17,108,36,160 // vmovupd %ymm5,-0x60(%rsp) .byte 197,253,17,116,36,192 // vmovupd %ymm6,-0x40(%rsp) .byte 197,253,17,124,36,224 // vmovupd %ymm7,-0x20(%rsp) .byte 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 77,99,201 // movslq %r9d,%r9 .byte 76,141,21,48,1,0,0 // lea 0x130(%rip),%r10 # 52b4 <_sk_load_f32_hsw+0x180> .byte 73,99,4,186 // movslq (%r10,%rdi,4),%rax .byte 76,1,208 // add %r10,%rax .byte 197,221,87,228 // vxorpd %ymm4,%ymm4,%ymm4 .byte 196,65,53,87,201 // vxorpd %ymm9,%ymm9,%ymm9 .byte 197,237,87,210 // vxorpd %ymm2,%ymm2,%ymm2 .byte 196,65,37,87,219 // vxorpd %ymm11,%ymm11,%ymm11 .byte 196,65,29,87,228 // vxorpd %ymm12,%ymm12,%ymm12 .byte 196,65,61,87,192 // vxorpd %ymm8,%ymm8,%ymm8 .byte 196,65,13,87,246 // vxorpd %ymm14,%ymm14,%ymm14 .byte 197,205,87,246 // vxorpd %ymm6,%ymm6,%ymm6 .byte 196,65,5,87,255 // vxorpd %ymm15,%ymm15,%ymm15 .byte 197,245,87,201 // vxorpd %ymm1,%ymm1,%ymm1 .byte 196,65,21,87,237 // vxorpd %ymm13,%ymm13,%ymm13 .byte 197,213,87,237 // vxorpd %ymm5,%ymm5,%ymm5 .byte 197,229,87,219 // vxorpd %ymm3,%ymm3,%ymm3 .byte 196,65,45,87,210 // vxorpd %ymm10,%ymm10,%ymm10 .byte 197,197,87,255 // vxorpd %ymm7,%ymm7,%ymm7 .byte 255,224 // jmpq *%rax .byte 196,129,121,16,68,136,112 // vmovupd 0x70(%r8,%r9,4),%xmm0 .byte 196,227,125,6,192,40 // vperm2f128 $0x28,%ymm0,%ymm0,%ymm0 .byte 196,129,121,16,76,136,96 // vmovupd 0x60(%r8,%r9,4),%xmm1 .byte 196,227,125,6,225,40 // vperm2f128 $0x28,%ymm1,%ymm0,%ymm4 .byte 196,129,121,16,76,136,80 // vmovupd 0x50(%r8,%r9,4),%xmm1 .byte 196,227,125,6,209,40 // vperm2f128 $0x28,%ymm1,%ymm0,%ymm2 .byte 197,125,40,204 // vmovapd %ymm4,%ymm9 .byte 196,129,121,16,76,136,64 // vmovupd 0x40(%r8,%r9,4),%xmm1 .byte 196,99,125,6,193,40 // vperm2f128 $0x28,%ymm1,%ymm0,%ymm8 .byte 196,65,125,40,217 // vmovapd %ymm9,%ymm11 .byte 197,125,40,226 // vmovapd %ymm2,%ymm12 .byte 196,129,121,16,76,136,48 // vmovupd 0x30(%r8,%r9,4),%xmm1 .byte 196,227,117,13,192,12 // vblendpd $0xc,%ymm0,%ymm1,%ymm0 .byte 196,65,125,40,243 // vmovapd %ymm11,%ymm14 .byte 197,125,41,230 // vmovapd %ymm12,%ymm6 .byte 196,65,125,40,248 // vmovapd %ymm8,%ymm15 .byte 196,129,121,16,76,136,32 // vmovupd 0x20(%r8,%r9,4),%xmm1 .byte 196,195,117,13,206,12 // vblendpd $0xc,%ymm14,%ymm1,%ymm1 .byte 197,125,40,238 // vmovapd %ymm6,%ymm13 .byte 197,125,41,253 // vmovapd %ymm15,%ymm5 .byte 196,129,121,16,84,136,16 // vmovupd 0x10(%r8,%r9,4),%xmm2 .byte 196,67,109,13,213,12 // vblendpd $0xc,%ymm13,%ymm2,%ymm10 .byte 197,253,40,217 // vmovapd %ymm1,%ymm3 .byte 197,253,40,253 // vmovapd %ymm5,%ymm7 .byte 196,129,121,16,12,136 // vmovupd (%r8,%r9,4),%xmm1 .byte 196,227,117,13,207,12 // vblendpd $0xc,%ymm7,%ymm1,%ymm1 .byte 197,252,16,124,36,224 // vmovups -0x20(%rsp),%ymm7 .byte 197,252,16,116,36,192 // vmovups -0x40(%rsp),%ymm6 .byte 197,252,16,108,36,160 // vmovups -0x60(%rsp),%ymm5 .byte 197,252,16,100,36,128 // vmovups -0x80(%rsp),%ymm4 .byte 72,131,196,24 // add $0x18,%rsp .byte 196,193,116,20,210 // vunpcklps %ymm10,%ymm1,%ymm2 .byte 196,65,116,21,194 // vunpckhps %ymm10,%ymm1,%ymm8 .byte 197,228,20,200 // vunpcklps %ymm0,%ymm3,%ymm1 .byte 197,228,21,216 // vunpckhps %ymm0,%ymm3,%ymm3 .byte 197,237,20,193 // vunpcklpd %ymm1,%ymm2,%ymm0 .byte 197,237,21,201 // vunpckhpd %ymm1,%ymm2,%ymm1 .byte 197,189,20,211 // vunpcklpd %ymm3,%ymm8,%ymm2 .byte 197,189,21,219 // vunpckhpd %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 197,229,87,219 // vxorpd %ymm3,%ymm3,%ymm3 .byte 196,65,45,87,210 // vxorpd %ymm10,%ymm10,%ymm10 .byte 197,245,87,201 // vxorpd %ymm1,%ymm1,%ymm1 .byte 235,203 // jmp 527f <_sk_load_f32_hsw+0x14b> .byte 29,255,255,255,163 // sbb $0xa3ffffff,%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,142,255,255,255,121 // decl 0x79ffffff(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,94,255 // lcall *-0x1(%rsi) .byte 255 // (bad) .byte 255,72,255 // decl -0x1(%rax) .byte 255 // (bad) .byte 255,55 // pushq (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,42 // ljmp *(%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 197,221,87,228 // vxorpd %ymm4,%ymm4,%ymm4 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 15,135,97,1,0,0 // ja 5445 <_sk_load_f32_dst_hsw+0x171> .byte 72,131,236,24 // sub $0x18,%rsp .byte 197,253,17,68,36,128 // vmovupd %ymm0,-0x80(%rsp) .byte 197,253,17,76,36,160 // vmovupd %ymm1,-0x60(%rsp) .byte 197,253,17,84,36,192 // vmovupd %ymm2,-0x40(%rsp) .byte 197,253,17,92,36,224 // vmovupd %ymm3,-0x20(%rsp) .byte 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 77,99,201 // movslq %r9d,%r9 .byte 76,141,21,48,1,0,0 // lea 0x130(%rip),%r10 # 5454 <_sk_load_f32_dst_hsw+0x180> .byte 73,99,4,186 // movslq (%r10,%rdi,4),%rax .byte 76,1,208 // add %r10,%rax .byte 197,253,87,192 // vxorpd %ymm0,%ymm0,%ymm0 .byte 196,65,53,87,201 // vxorpd %ymm9,%ymm9,%ymm9 .byte 197,205,87,246 // vxorpd %ymm6,%ymm6,%ymm6 .byte 196,65,37,87,219 // vxorpd %ymm11,%ymm11,%ymm11 .byte 196,65,29,87,228 // vxorpd %ymm12,%ymm12,%ymm12 .byte 196,65,61,87,192 // vxorpd %ymm8,%ymm8,%ymm8 .byte 196,65,13,87,246 // vxorpd %ymm14,%ymm14,%ymm14 .byte 197,237,87,210 // vxorpd %ymm2,%ymm2,%ymm2 .byte 196,65,5,87,255 // vxorpd %ymm15,%ymm15,%ymm15 .byte 197,213,87,237 // vxorpd %ymm5,%ymm5,%ymm5 .byte 196,65,21,87,237 // vxorpd %ymm13,%ymm13,%ymm13 .byte 197,245,87,201 // vxorpd %ymm1,%ymm1,%ymm1 .byte 197,197,87,255 // vxorpd %ymm7,%ymm7,%ymm7 .byte 196,65,45,87,210 // vxorpd %ymm10,%ymm10,%ymm10 .byte 197,229,87,219 // vxorpd %ymm3,%ymm3,%ymm3 .byte 255,224 // jmpq *%rax .byte 196,129,121,16,68,136,112 // vmovupd 0x70(%r8,%r9,4),%xmm0 .byte 196,227,125,6,224,40 // vperm2f128 $0x28,%ymm0,%ymm0,%ymm4 .byte 196,129,121,16,68,136,96 // vmovupd 0x60(%r8,%r9,4),%xmm0 .byte 196,227,125,6,192,40 // vperm2f128 $0x28,%ymm0,%ymm0,%ymm0 .byte 196,129,121,16,76,136,80 // vmovupd 0x50(%r8,%r9,4),%xmm1 .byte 196,227,125,6,241,40 // vperm2f128 $0x28,%ymm1,%ymm0,%ymm6 .byte 197,125,40,200 // vmovapd %ymm0,%ymm9 .byte 196,129,121,16,68,136,64 // vmovupd 0x40(%r8,%r9,4),%xmm0 .byte 196,99,125,6,192,40 // vperm2f128 $0x28,%ymm0,%ymm0,%ymm8 .byte 196,65,125,40,217 // vmovapd %ymm9,%ymm11 .byte 197,125,40,230 // vmovapd %ymm6,%ymm12 .byte 196,129,121,16,68,136,48 // vmovupd 0x30(%r8,%r9,4),%xmm0 .byte 196,227,125,13,228,12 // vblendpd $0xc,%ymm4,%ymm0,%ymm4 .byte 196,65,125,40,243 // vmovapd %ymm11,%ymm14 .byte 197,125,41,226 // vmovapd %ymm12,%ymm2 .byte 196,65,125,40,248 // vmovapd %ymm8,%ymm15 .byte 196,129,121,16,68,136,32 // vmovupd 0x20(%r8,%r9,4),%xmm0 .byte 196,195,125,13,238,12 // vblendpd $0xc,%ymm14,%ymm0,%ymm5 .byte 197,125,40,234 // vmovapd %ymm2,%ymm13 .byte 197,125,41,249 // vmovapd %ymm15,%ymm1 .byte 196,129,121,16,68,136,16 // vmovupd 0x10(%r8,%r9,4),%xmm0 .byte 196,67,125,13,213,12 // vblendpd $0xc,%ymm13,%ymm0,%ymm10 .byte 197,253,40,253 // vmovapd %ymm5,%ymm7 .byte 197,253,40,217 // vmovapd %ymm1,%ymm3 .byte 196,129,121,16,4,136 // vmovupd (%r8,%r9,4),%xmm0 .byte 196,227,125,13,235,12 // vblendpd $0xc,%ymm3,%ymm0,%ymm5 .byte 197,252,16,92,36,224 // vmovups -0x20(%rsp),%ymm3 .byte 197,252,16,84,36,192 // vmovups -0x40(%rsp),%ymm2 .byte 197,252,16,76,36,160 // vmovups -0x60(%rsp),%ymm1 .byte 197,252,16,68,36,128 // vmovups -0x80(%rsp),%ymm0 .byte 72,131,196,24 // add $0x18,%rsp .byte 196,193,84,20,242 // vunpcklps %ymm10,%ymm5,%ymm6 .byte 196,65,84,21,194 // vunpckhps %ymm10,%ymm5,%ymm8 .byte 197,196,20,236 // vunpcklps %ymm4,%ymm7,%ymm5 .byte 197,196,21,252 // vunpckhps %ymm4,%ymm7,%ymm7 .byte 197,205,20,229 // vunpcklpd %ymm5,%ymm6,%ymm4 .byte 197,205,21,237 // vunpckhpd %ymm5,%ymm6,%ymm5 .byte 197,189,20,247 // vunpcklpd %ymm7,%ymm8,%ymm6 .byte 197,189,21,255 // vunpckhpd %ymm7,%ymm8,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 197,197,87,255 // vxorpd %ymm7,%ymm7,%ymm7 .byte 196,65,45,87,210 // vxorpd %ymm10,%ymm10,%ymm10 .byte 197,213,87,237 // vxorpd %ymm5,%ymm5,%ymm5 .byte 235,203 // jmp 541f <_sk_load_f32_dst_hsw+0x14b> .byte 29,255,255,255,163 // sbb $0xa3ffffff,%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,142,255,255,255,121 // decl 0x79ffffff(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,94,255 // lcall *-0x1(%rsi) .byte 255 // (bad) .byte 255,72,255 // decl -0x1(%rax) .byte 255 // (bad) .byte 255,55 // pushq (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,42 // ljmp *(%rdx) .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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%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 72,133,255 // test %rdi,%rdi .byte 117,55 // jne 54f3 <_sk_store_f32_hsw+0x7f> .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,128 // vmovupd %ymm12,(%r8,%rax,4) .byte 196,65,125,17,108,128,32 // vmovupd %ymm13,0x20(%r8,%rax,4) .byte 196,65,125,17,76,128,64 // vmovupd %ymm9,0x40(%r8,%rax,4) .byte 196,65,125,17,68,128,96 // vmovupd %ymm8,0x60(%r8,%rax,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,17,20,128 // vmovupd %xmm10,(%r8,%rax,4) .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,240 // je 54ef <_sk_store_f32_hsw+0x7b> .byte 196,65,121,17,76,128,16 // vmovupd %xmm9,0x10(%r8,%rax,4) .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,227 // jb 54ef <_sk_store_f32_hsw+0x7b> .byte 196,65,121,17,68,128,32 // vmovupd %xmm8,0x20(%r8,%rax,4) .byte 116,218 // je 54ef <_sk_store_f32_hsw+0x7b> .byte 196,65,121,17,92,128,48 // vmovupd %xmm11,0x30(%r8,%rax,4) .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,205 // jb 54ef <_sk_store_f32_hsw+0x7b> .byte 196,67,125,25,84,128,64,1 // vextractf128 $0x1,%ymm10,0x40(%r8,%rax,4) .byte 116,195 // je 54ef <_sk_store_f32_hsw+0x7b> .byte 196,67,125,25,76,128,80,1 // vextractf128 $0x1,%ymm9,0x50(%r8,%rax,4) .byte 72,131,255,7 // cmp $0x7,%rdi .byte 114,181 // jb 54ef <_sk_store_f32_hsw+0x7b> .byte 196,67,125,25,68,128,96,1 // vextractf128 $0x1,%ymm8,0x60(%r8,%rax,4) .byte 235,171 // jmp 54ef <_sk_store_f32_hsw+0x7b> 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,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 196,193,124,95,192 // vmaxps %ymm8,%ymm0,%ymm0 .byte 196,65,61,118,192 // vpcmpeqd %ymm8,%ymm8,%ymm8 .byte 196,65,53,254,192 // vpaddd %ymm8,%ymm9,%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_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,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 196,193,116,95,200 // vmaxps %ymm8,%ymm1,%ymm1 .byte 196,65,61,118,192 // vpcmpeqd %ymm8,%ymm8,%ymm8 .byte 196,65,53,254,192 // vpaddd %ymm8,%ymm9,%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_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,227,87,2,0 // vmulss 0x257e3(%rip),%xmm9,%xmm0 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,200 // vsubps %ymm0,%ymm8,%ymm9 .byte 197,180,84,192 // vandps %ymm0,%ymm9,%ymm0 .byte 197,188,95,192 // vmaxps %ymm0,%ymm8,%ymm0 .byte 196,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,127,87,2,0 // vmulss 0x2577f(%rip),%xmm9,%xmm1 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,201 // vsubps %ymm1,%ymm8,%ymm9 .byte 197,180,84,201 // vandps %ymm1,%ymm9,%ymm1 .byte 197,188,95,201 // vmaxps %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,52,87,2,0 // vbroadcastss 0x25734(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,43,87,2,0 // vbroadcastss 0x2572b(%rip),%ymm8 # 2ae20 <_sk_srcover_rgba_8888_sse2_lowp+0x84c> .byte 196,193,124,88,192 // vaddps %ymm8,%ymm0,%ymm0 .byte 196,98,125,24,13,1,87,2,0 // vbroadcastss 0x25701(%rip),%ymm9 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,237,87,2,0 // vbroadcastss 0x257ed(%rip),%ymm3 # 2af24 <_sk_srcover_rgba_8888_sse2_lowp+0x950> .byte 196,98,125,24,5,232,87,2,0 // vbroadcastss 0x257e8(%rip),%ymm8 # 2af28 <_sk_srcover_rgba_8888_sse2_lowp+0x954> .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,217,87,2,0 // vbroadcastss 0x257d9(%rip),%ymm3 # 2af2c <_sk_srcover_rgba_8888_sse2_lowp+0x958> .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 72,173 // lods %ds:(%rsi),%rax .byte 76,139,8 // mov (%rax),%r9 .byte 76,139,64,8 // mov 0x8(%rax),%r8 .byte 77,137,202 // mov %r9,%r10 .byte 73,255,202 // dec %r10 .byte 120,7 // js 5a4b <_sk_evenly_spaced_gradient_hsw+0x18> .byte 196,193,242,42,202 // vcvtsi2ss %r10,%xmm1,%xmm1 .byte 235,22 // jmp 5a61 <_sk_evenly_spaced_gradient_hsw+0x2e> .byte 77,137,211 // mov %r10,%r11 .byte 73,209,235 // shr %r11 .byte 65,131,226,1 // and $0x1,%r10d .byte 77,9,218 // or %r11,%r10 .byte 196,193,242,42,202 // vcvtsi2ss %r10,%xmm1,%xmm1 .byte 197,242,88,201 // vaddss %xmm1,%xmm1,%xmm1 .byte 196,226,125,24,201 // vbroadcastss %xmm1,%ymm1 .byte 197,244,89,200 // vmulps %ymm0,%ymm1,%ymm1 .byte 197,126,91,225 // vcvttps2dq %ymm1,%ymm12 .byte 73,131,249,8 // cmp $0x8,%r9 .byte 119,73 // ja 5abd <_sk_evenly_spaced_gradient_hsw+0x8a> .byte 196,66,29,22,0 // vpermps (%r8),%ymm12,%ymm8 .byte 76,139,64,40 // mov 0x28(%rax),%r8 .byte 196,66,29,22,8 // vpermps (%r8),%ymm12,%ymm9 .byte 76,139,64,16 // mov 0x10(%rax),%r8 .byte 76,139,72,24 // mov 0x18(%rax),%r9 .byte 196,194,29,22,8 // vpermps (%r8),%ymm12,%ymm1 .byte 76,139,64,48 // mov 0x30(%rax),%r8 .byte 196,66,29,22,24 // vpermps (%r8),%ymm12,%ymm11 .byte 196,194,29,22,17 // vpermps (%r9),%ymm12,%ymm2 .byte 76,139,64,56 // mov 0x38(%rax),%r8 .byte 196,66,29,22,40 // vpermps (%r8),%ymm12,%ymm13 .byte 76,139,64,32 // mov 0x20(%rax),%r8 .byte 196,194,29,22,24 // vpermps (%r8),%ymm12,%ymm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 196,98,29,22,16 // vpermps (%rax),%ymm12,%ymm10 .byte 233,147,0,0,0 // jmpq 5b50 <_sk_evenly_spaced_gradient_hsw+0x11d> .byte 196,65,13,118,246 // vpcmpeqd %ymm14,%ymm14,%ymm14 .byte 196,65,44,87,210 // vxorps %ymm10,%ymm10,%ymm10 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,2,117,146,4,160 // vgatherdps %ymm1,(%r8,%ymm12,4),%ymm8 .byte 76,139,64,40 // mov 0x28(%rax),%r8 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 196,65,52,87,201 // vxorps %ymm9,%ymm9,%ymm9 .byte 196,2,117,146,12,160 // vgatherdps %ymm1,(%r8,%ymm12,4),%ymm9 .byte 76,139,64,16 // mov 0x10(%rax),%r8 .byte 76,139,72,24 // mov 0x18(%rax),%r9 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 196,130,109,146,12,160 // vgatherdps %ymm2,(%r8,%ymm12,4),%ymm1 .byte 76,139,64,48 // mov 0x30(%rax),%r8 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 196,65,36,87,219 // vxorps %ymm11,%ymm11,%ymm11 .byte 196,2,109,146,28,160 // vgatherdps %ymm2,(%r8,%ymm12,4),%ymm11 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 196,130,101,146,20,161 // vgatherdps %ymm3,(%r9,%ymm12,4),%ymm2 .byte 76,139,64,56 // mov 0x38(%rax),%r8 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 196,65,20,87,237 // vxorps %ymm13,%ymm13,%ymm13 .byte 196,2,101,146,44,160 // vgatherdps %ymm3,(%r8,%ymm12,4),%ymm13 .byte 76,139,64,32 // mov 0x20(%rax),%r8 .byte 196,65,5,118,255 // vpcmpeqd %ymm15,%ymm15,%ymm15 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,130,5,146,28,160 // vgatherdps %ymm15,(%r8,%ymm12,4),%ymm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 196,34,13,146,20,160 // vgatherdps %ymm14,(%rax,%ymm12,4),%ymm10 .byte 196,66,125,168,193 // vfmadd213ps %ymm9,%ymm0,%ymm8 .byte 196,194,125,168,203 // vfmadd213ps %ymm11,%ymm0,%ymm1 .byte 196,194,125,168,213 // vfmadd213ps %ymm13,%ymm0,%ymm2 .byte 196,194,125,168,218 // vfmadd213ps %ymm10,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_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,187,83,2,0 // vbroadcastss 0x253bb(%rip),%ymm0 # 2af30 <_sk_srcover_rgba_8888_sse2_lowp+0x95c> .byte 196,226,125,24,13,182,83,2,0 // vbroadcastss 0x253b6(%rip),%ymm1 # 2af34 <_sk_srcover_rgba_8888_sse2_lowp+0x960> .byte 196,226,101,168,200 // vfmadd213ps %ymm0,%ymm3,%ymm1 .byte 196,226,125,24,5,172,83,2,0 // vbroadcastss 0x253ac(%rip),%ymm0 # 2af38 <_sk_srcover_rgba_8888_sse2_lowp+0x964> .byte 196,226,101,184,193 // vfmadd231ps %ymm1,%ymm3,%ymm0 .byte 196,226,125,24,13,162,83,2,0 // vbroadcastss 0x253a2(%rip),%ymm1 # 2af3c <_sk_srcover_rgba_8888_sse2_lowp+0x968> .byte 196,226,101,184,200 // vfmadd231ps %ymm0,%ymm3,%ymm1 .byte 196,226,125,24,5,152,83,2,0 // vbroadcastss 0x25398(%rip),%ymm0 # 2af40 <_sk_srcover_rgba_8888_sse2_lowp+0x96c> .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,0 // mov (%rax),%r8 .byte 73,131,248,1 // cmp $0x1,%r8 .byte 15,134,220,0,0,0 // jbe 5ca8 <_sk_gradient_hsw+0xeb> .byte 76,139,72,72 // mov 0x48(%rax),%r9 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 65,186,1,0,0,0 // mov $0x1,%r10d .byte 196,226,125,24,21,41,82,2,0 // vbroadcastss 0x25229(%rip),%ymm2 # 2ae0c <_sk_srcover_rgba_8888_sse2_lowp+0x838> .byte 196,65,53,239,201 // vpxor %ymm9,%ymm9,%ymm9 .byte 196,130,125,24,28,145 // vbroadcastss (%r9,%r10,4),%ymm3 .byte 197,228,194,216,2 // vcmpleps %ymm0,%ymm3,%ymm3 .byte 196,227,117,74,218,48 // vblendvps %ymm3,%ymm2,%ymm1,%ymm3 .byte 197,53,254,203 // vpaddd %ymm3,%ymm9,%ymm9 .byte 73,255,194 // inc %r10 .byte 77,57,208 // cmp %r10,%r8 .byte 117,227 // jne 5be8 <_sk_gradient_hsw+0x2b> .byte 76,139,72,8 // mov 0x8(%rax),%r9 .byte 73,131,248,8 // cmp $0x8,%r8 .byte 15,134,158,0,0,0 // jbe 5cb1 <_sk_gradient_hsw+0xf4> .byte 196,65,13,118,246 // vpcmpeqd %ymm14,%ymm14,%ymm14 .byte 196,65,36,87,219 // vxorps %ymm11,%ymm11,%ymm11 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 196,2,117,146,4,137 // vgatherdps %ymm1,(%r9,%ymm9,4),%ymm8 .byte 76,139,64,40 // mov 0x28(%rax),%r8 .byte 196,65,44,87,210 // vxorps %ymm10,%ymm10,%ymm10 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 196,2,117,146,20,136 // vgatherdps %ymm1,(%r8,%ymm9,4),%ymm10 .byte 76,139,64,16 // mov 0x10(%rax),%r8 .byte 76,139,72,24 // mov 0x18(%rax),%r9 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 196,130,109,146,12,136 // vgatherdps %ymm2,(%r8,%ymm9,4),%ymm1 .byte 76,139,64,48 // mov 0x30(%rax),%r8 .byte 196,65,28,87,228 // vxorps %ymm12,%ymm12,%ymm12 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 196,2,109,146,36,136 // vgatherdps %ymm2,(%r8,%ymm9,4),%ymm12 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 196,130,101,146,20,137 // vgatherdps %ymm3,(%r9,%ymm9,4),%ymm2 .byte 76,139,64,56 // mov 0x38(%rax),%r8 .byte 196,65,20,87,237 // vxorps %ymm13,%ymm13,%ymm13 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 196,2,101,146,44,136 // vgatherdps %ymm3,(%r8,%ymm9,4),%ymm13 .byte 76,139,64,32 // mov 0x20(%rax),%r8 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,65,5,118,255 // vpcmpeqd %ymm15,%ymm15,%ymm15 .byte 196,130,5,146,28,136 // vgatherdps %ymm15,(%r8,%ymm9,4),%ymm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 196,34,13,146,28,136 // vgatherdps %ymm14,(%rax,%ymm9,4),%ymm11 .byte 235,77 // jmp 5cf5 <_sk_gradient_hsw+0x138> .byte 76,139,72,8 // mov 0x8(%rax),%r9 .byte 196,65,52,87,201 // vxorps %ymm9,%ymm9,%ymm9 .byte 196,66,53,22,1 // vpermps (%r9),%ymm9,%ymm8 .byte 76,139,64,40 // mov 0x28(%rax),%r8 .byte 196,66,53,22,16 // vpermps (%r8),%ymm9,%ymm10 .byte 76,139,64,16 // mov 0x10(%rax),%r8 .byte 76,139,72,24 // mov 0x18(%rax),%r9 .byte 196,194,53,22,8 // vpermps (%r8),%ymm9,%ymm1 .byte 76,139,64,48 // mov 0x30(%rax),%r8 .byte 196,66,53,22,32 // vpermps (%r8),%ymm9,%ymm12 .byte 196,194,53,22,17 // vpermps (%r9),%ymm9,%ymm2 .byte 76,139,64,56 // mov 0x38(%rax),%r8 .byte 196,66,53,22,40 // vpermps (%r8),%ymm9,%ymm13 .byte 76,139,64,32 // mov 0x20(%rax),%r8 .byte 196,194,53,22,24 // vpermps (%r8),%ymm9,%ymm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 196,98,53,22,24 // vpermps (%rax),%ymm9,%ymm11 .byte 196,66,125,168,194 // vfmadd213ps %ymm10,%ymm0,%ymm8 .byte 196,194,125,168,204 // vfmadd213ps %ymm12,%ymm0,%ymm1 .byte 196,194,125,168,213 // vfmadd213ps %ymm13,%ymm0,%ymm2 .byte 196,194,125,168,219 // vfmadd213ps %ymm11,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_evenly_spaced_2_stop_gradient_hsw .globl _sk_evenly_spaced_2_stop_gradient_hsw FUNCTION(_sk_evenly_spaced_2_stop_gradient_hsw) _sk_evenly_spaced_2_stop_gradient_hsw: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,8 // vbroadcastss (%rax),%ymm1 .byte 196,98,125,24,64,16 // vbroadcastss 0x10(%rax),%ymm8 .byte 196,98,125,184,193 // vfmadd231ps %ymm1,%ymm0,%ymm8 .byte 196,226,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm2 .byte 196,226,125,24,72,20 // vbroadcastss 0x14(%rax),%ymm1 .byte 196,226,125,184,202 // vfmadd231ps %ymm2,%ymm0,%ymm1 .byte 196,226,125,24,88,8 // vbroadcastss 0x8(%rax),%ymm3 .byte 196,226,125,24,80,24 // vbroadcastss 0x18(%rax),%ymm2 .byte 196,226,125,184,211 // vfmadd231ps %ymm3,%ymm0,%ymm2 .byte 196,98,125,24,72,12 // vbroadcastss 0xc(%rax),%ymm9 .byte 196,226,125,24,88,28 // vbroadcastss 0x1c(%rax),%ymm3 .byte 196,194,125,184,217 // vfmadd231ps %ymm9,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_unit_angle_hsw .globl _sk_xy_to_unit_angle_hsw FUNCTION(_sk_xy_to_unit_angle_hsw) _sk_xy_to_unit_angle_hsw: .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,60,92,200 // vsubps %ymm0,%ymm8,%ymm9 .byte 197,52,84,200 // vandps %ymm0,%ymm9,%ymm9 .byte 197,60,92,209 // vsubps %ymm1,%ymm8,%ymm10 .byte 197,44,84,209 // vandps %ymm1,%ymm10,%ymm10 .byte 196,65,52,93,218 // vminps %ymm10,%ymm9,%ymm11 .byte 196,65,52,95,226 // vmaxps %ymm10,%ymm9,%ymm12 .byte 196,65,36,94,220 // vdivps %ymm12,%ymm11,%ymm11 .byte 196,65,36,89,227 // vmulps %ymm11,%ymm11,%ymm12 .byte 196,98,125,24,45,180,81,2,0 // vbroadcastss 0x251b4(%rip),%ymm13 # 2af44 <_sk_srcover_rgba_8888_sse2_lowp+0x970> .byte 196,98,125,24,53,175,81,2,0 // vbroadcastss 0x251af(%rip),%ymm14 # 2af48 <_sk_srcover_rgba_8888_sse2_lowp+0x974> .byte 196,66,29,184,245 // vfmadd231ps %ymm13,%ymm12,%ymm14 .byte 196,98,125,24,45,165,81,2,0 // vbroadcastss 0x251a5(%rip),%ymm13 # 2af4c <_sk_srcover_rgba_8888_sse2_lowp+0x978> .byte 196,66,29,184,238 // vfmadd231ps %ymm14,%ymm12,%ymm13 .byte 196,98,125,24,53,155,81,2,0 // vbroadcastss 0x2519b(%rip),%ymm14 # 2af50 <_sk_srcover_rgba_8888_sse2_lowp+0x97c> .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,134,81,2,0 // vbroadcastss 0x25186(%rip),%ymm10 # 2af54 <_sk_srcover_rgba_8888_sse2_lowp+0x980> .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,28,80,2,0 // vbroadcastss 0x2501c(%rip),%ymm10 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,6,80,2,0 // vbroadcastss 0x25006(%rip),%ymm10 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,6,81,2,0 // vbroadcastss 0x25106(%rip),%ymm11 # 2af58 <_sk_srcover_rgba_8888_sse2_lowp+0x984> .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,229,80,2,0 // vbroadcastss 0x250e5(%rip),%ymm9 # 2af5c <_sk_srcover_rgba_8888_sse2_lowp+0x988> .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,200,80,2,0 // vbroadcastss 0x250c8(%rip),%ymm9 # 2af60 <_sk_srcover_rgba_8888_sse2_lowp+0x98c> .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,89,79,2,0 // vbroadcastss 0x24f59(%rip),%ymm11 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,110,80,2,0 // vbroadcastss 0x2506e(%rip),%ymm11 # 2af58 <_sk_srcover_rgba_8888_sse2_lowp+0x984> .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,77,80,2,0 // vbroadcastss 0x2504d(%rip),%ymm9 # 2af5c <_sk_srcover_rgba_8888_sse2_lowp+0x988> .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,48,80,2,0 // vbroadcastss 0x25030(%rip),%ymm9 # 2af60 <_sk_srcover_rgba_8888_sse2_lowp+0x98c> .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,193,78,2,0 // vbroadcastss 0x24ec1(%rip),%ymm11 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,220,79,2,0 // vbroadcastss 0x24fdc(%rip),%ymm10 # 2af58 <_sk_srcover_rgba_8888_sse2_lowp+0x984> .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,191,79,2,0 // vbroadcastss 0x24fbf(%rip),%ymm8 # 2af60 <_sk_srcover_rgba_8888_sse2_lowp+0x98c> .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,255,77,2,0 // vbroadcastss 0x24dff(%rip),%ymm8 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,239,78,2,0 // vbroadcastss 0x24eef(%rip),%ymm0 # 2af64 <_sk_srcover_rgba_8888_sse2_lowp+0x990> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 196,98,125,24,5,134,77,2,0 // vbroadcastss 0x24d86(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,102,77,2,0 // vbroadcastss 0x24d66(%rip),%ymm0 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,166,78,2,0 // vbroadcastss 0x24ea6(%rip),%ymm1 # 2af64 <_sk_srcover_rgba_8888_sse2_lowp+0x990> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 196,98,125,24,5,60,77,2,0 // vbroadcastss 0x24d3c(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,28,77,2,0 // vbroadcastss 0x24d1c(%rip),%ymm1 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,95,78,2,0 // vbroadcastss 0x24e5f(%rip),%ymm0 # 2af68 <_sk_srcover_rgba_8888_sse2_lowp+0x994> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 196,98,125,24,5,242,76,2,0 // vbroadcastss 0x24cf2(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,79,77,2,0 // vbroadcastss 0x24d4f(%rip),%ymm10 # 2ae78 <_sk_srcover_rgba_8888_sse2_lowp+0x8a4> .byte 196,98,125,24,29,58,78,2,0 // vbroadcastss 0x24e3a(%rip),%ymm11 # 2af6c <_sk_srcover_rgba_8888_sse2_lowp+0x998> .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,17,78,2,0 // vbroadcastss 0x24e11(%rip),%ymm0 # 2af64 <_sk_srcover_rgba_8888_sse2_lowp+0x990> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 196,98,125,24,5,168,76,2,0 // vbroadcastss 0x24ca8(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,60,92,64,64 // vsubps 0x40(%rax),%ymm8,%ymm8 .byte 196,98,125,24,13,2,78,2,0 // vbroadcastss 0x24e02(%rip),%ymm9 # 2af70 <_sk_srcover_rgba_8888_sse2_lowp+0x99c> .byte 196,98,125,24,21,253,77,2,0 // vbroadcastss 0x24dfd(%rip),%ymm10 # 2af74 <_sk_srcover_rgba_8888_sse2_lowp+0x9a0> .byte 196,66,61,168,209 // vfmadd213ps %ymm9,%ymm8,%ymm10 .byte 196,98,125,24,13,127,76,2,0 // vbroadcastss 0x24c7f(%rip),%ymm9 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 196,66,61,184,202 // vfmadd231ps %ymm10,%ymm8,%ymm9 .byte 196,98,125,24,21,229,77,2,0 // vbroadcastss 0x24de5(%rip),%ymm10 # 2af78 <_sk_srcover_rgba_8888_sse2_lowp+0x9a4> .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,85,76,2,0 // vbroadcastss 0x24c55(%rip),%ymm8 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,175,77,2,0 // vbroadcastss 0x24daf(%rip),%ymm10 # 2af70 <_sk_srcover_rgba_8888_sse2_lowp+0x99c> .byte 196,98,125,24,29,170,77,2,0 // vbroadcastss 0x24daa(%rip),%ymm11 # 2af74 <_sk_srcover_rgba_8888_sse2_lowp+0x9a0> .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,155,77,2,0 // vbroadcastss 0x24d9b(%rip),%ymm8 # 2af78 <_sk_srcover_rgba_8888_sse2_lowp+0x9a4> .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,119,77,2,0 // vbroadcastss 0x24d77(%rip),%ymm0 # 2af70 <_sk_srcover_rgba_8888_sse2_lowp+0x99c> .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,104,76,2,0 // vbroadcastss 0x24c68(%rip),%ymm10 # 2ae78 <_sk_srcover_rgba_8888_sse2_lowp+0x8a4> .byte 196,98,125,24,29,83,77,2,0 // vbroadcastss 0x24d53(%rip),%ymm11 # 2af6c <_sk_srcover_rgba_8888_sse2_lowp+0x998> .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,46,77,2,0 // vbroadcastss 0x24d2e(%rip),%ymm1 # 2af68 <_sk_srcover_rgba_8888_sse2_lowp+0x994> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 196,98,125,24,5,192,75,2,0 // vbroadcastss 0x24bc0(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,29,76,2,0 // vbroadcastss 0x24c1d(%rip),%ymm10 # 2ae78 <_sk_srcover_rgba_8888_sse2_lowp+0x8a4> .byte 196,98,125,24,29,8,77,2,0 // vbroadcastss 0x24d08(%rip),%ymm11 # 2af6c <_sk_srcover_rgba_8888_sse2_lowp+0x998> .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,223,76,2,0 // vbroadcastss 0x24cdf(%rip),%ymm1 # 2af64 <_sk_srcover_rgba_8888_sse2_lowp+0x990> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 196,98,125,24,5,117,75,2,0 // vbroadcastss 0x24b75(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,60,92,64,96 // vsubps 0x60(%rax),%ymm8,%ymm8 .byte 196,98,125,24,13,207,76,2,0 // vbroadcastss 0x24ccf(%rip),%ymm9 # 2af70 <_sk_srcover_rgba_8888_sse2_lowp+0x99c> .byte 196,98,125,24,21,202,76,2,0 // vbroadcastss 0x24cca(%rip),%ymm10 # 2af74 <_sk_srcover_rgba_8888_sse2_lowp+0x9a0> .byte 196,66,61,168,209 // vfmadd213ps %ymm9,%ymm8,%ymm10 .byte 196,98,125,24,13,76,75,2,0 // vbroadcastss 0x24b4c(%rip),%ymm9 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 196,66,61,184,202 // vfmadd231ps %ymm10,%ymm8,%ymm9 .byte 196,98,125,24,21,178,76,2,0 // vbroadcastss 0x24cb2(%rip),%ymm10 # 2af78 <_sk_srcover_rgba_8888_sse2_lowp+0x9a4> .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,34,75,2,0 // vbroadcastss 0x24b22(%rip),%ymm8 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,123,76,2,0 // vbroadcastss 0x24c7b(%rip),%ymm10 # 2af70 <_sk_srcover_rgba_8888_sse2_lowp+0x99c> .byte 196,98,125,24,29,118,76,2,0 // vbroadcastss 0x24c76(%rip),%ymm11 # 2af74 <_sk_srcover_rgba_8888_sse2_lowp+0x9a0> .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,103,76,2,0 // vbroadcastss 0x24c67(%rip),%ymm8 # 2af78 <_sk_srcover_rgba_8888_sse2_lowp+0x9a4> .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,67,76,2,0 // vbroadcastss 0x24c43(%rip),%ymm1 # 2af70 <_sk_srcover_rgba_8888_sse2_lowp+0x99c> .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,51,75,2,0 // vbroadcastss 0x24b33(%rip),%ymm10 # 2ae78 <_sk_srcover_rgba_8888_sse2_lowp+0x8a4> .byte 196,98,125,24,29,30,76,2,0 // vbroadcastss 0x24c1e(%rip),%ymm11 # 2af6c <_sk_srcover_rgba_8888_sse2_lowp+0x998> .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,160,0,0,0 // sub $0xa0,%rsp .byte 197,252,41,124,36,96 // vmovaps %ymm7,0x60(%rsp) .byte 197,252,41,116,36,64 // vmovaps %ymm6,0x40(%rsp) .byte 197,252,41,108,36,32 // vmovaps %ymm5,0x20(%rsp) .byte 197,252,41,36,36 // vmovaps %ymm4,(%rsp) .byte 73,137,206 // mov %rcx,%r14 .byte 73,137,215 // mov %rdx,%r15 .byte 73,137,253 // mov %rdi,%r13 .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,137,195 // mov %rax,%rbx .byte 73,137,244 // mov %rsi,%r12 .byte 197,252,20,225 // vunpcklps %ymm1,%ymm0,%ymm4 .byte 197,252,21,193 // vunpckhps %ymm1,%ymm0,%ymm0 .byte 197,236,20,203 // vunpcklps %ymm3,%ymm2,%ymm1 .byte 197,236,21,211 // vunpckhps %ymm3,%ymm2,%ymm2 .byte 197,221,20,217 // vunpcklpd %ymm1,%ymm4,%ymm3 .byte 197,221,21,201 // vunpckhpd %ymm1,%ymm4,%ymm1 .byte 197,253,20,226 // vunpcklpd %ymm2,%ymm0,%ymm4 .byte 197,253,21,194 // vunpckhpd %ymm2,%ymm0,%ymm0 .byte 196,227,101,24,209,1 // vinsertf128 $0x1,%xmm1,%ymm3,%ymm2 .byte 196,227,93,24,232,1 // vinsertf128 $0x1,%xmm0,%ymm4,%ymm5 .byte 196,227,101,6,201,49 // vperm2f128 $0x31,%ymm1,%ymm3,%ymm1 .byte 196,227,93,6,192,49 // vperm2f128 $0x31,%ymm0,%ymm4,%ymm0 .byte 197,253,17,83,8 // vmovupd %ymm2,0x8(%rbx) .byte 197,253,17,107,40 // vmovupd %ymm5,0x28(%rbx) .byte 197,253,17,75,72 // vmovupd %ymm1,0x48(%rbx) .byte 197,253,17,67,104 // vmovupd %ymm0,0x68(%rbx) .byte 77,133,237 // test %r13,%r13 .byte 190,8,0,0,0 // mov $0x8,%esi .byte 65,15,69,245 // cmovne %r13d,%esi .byte 72,137,223 // mov %rbx,%rdi .byte 197,248,119 // vzeroupper .byte 255,19 // callq *(%rbx) .byte 72,139,131,136,0,0,0 // mov 0x88(%rbx),%rax .byte 197,248,16,0 // vmovups (%rax),%xmm0 .byte 197,248,16,72,16 // vmovups 0x10(%rax),%xmm1 .byte 197,248,16,80,32 // vmovups 0x20(%rax),%xmm2 .byte 197,248,16,88,48 // vmovups 0x30(%rax),%xmm3 .byte 196,227,101,24,88,112,1 // vinsertf128 $0x1,0x70(%rax),%ymm3,%ymm3 .byte 196,227,109,24,80,96,1 // vinsertf128 $0x1,0x60(%rax),%ymm2,%ymm2 .byte 196,227,117,24,72,80,1 // vinsertf128 $0x1,0x50(%rax),%ymm1,%ymm1 .byte 196,227,125,24,64,64,1 // vinsertf128 $0x1,0x40(%rax),%ymm0,%ymm0 .byte 197,252,20,225 // vunpcklps %ymm1,%ymm0,%ymm4 .byte 197,252,21,233 // vunpckhps %ymm1,%ymm0,%ymm5 .byte 197,236,20,203 // vunpcklps %ymm3,%ymm2,%ymm1 .byte 197,236,21,219 // vunpckhps %ymm3,%ymm2,%ymm3 .byte 197,221,20,193 // vunpcklpd %ymm1,%ymm4,%ymm0 .byte 197,221,21,201 // vunpckhpd %ymm1,%ymm4,%ymm1 .byte 197,213,20,211 // vunpcklpd %ymm3,%ymm5,%ymm2 .byte 197,213,21,219 // vunpckhpd %ymm3,%ymm5,%ymm3 .byte 76,137,230 // mov %r12,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,239 // mov %r13,%rdi .byte 76,137,250 // mov %r15,%rdx .byte 76,137,241 // mov %r14,%rcx .byte 197,252,40,36,36 // vmovaps (%rsp),%ymm4 .byte 197,252,40,108,36,32 // vmovaps 0x20(%rsp),%ymm5 .byte 197,252,40,116,36,64 // vmovaps 0x40(%rsp),%ymm6 .byte 197,252,40,124,36,96 // vmovaps 0x60(%rsp),%ymm7 .byte 72,141,101,216 // lea -0x28(%rbp),%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_clut_3D_hsw .globl _sk_clut_3D_hsw FUNCTION(_sk_clut_3D_hsw) _sk_clut_3D_hsw: .byte 72,129,236,56,3,0,0 // sub $0x338,%rsp .byte 197,252,17,188,36,0,3,0,0 // vmovups %ymm7,0x300(%rsp) .byte 197,252,17,180,36,224,2,0,0 // vmovups %ymm6,0x2e0(%rsp) .byte 197,252,17,172,36,192,2,0,0 // vmovups %ymm5,0x2c0(%rsp) .byte 197,252,17,164,36,160,2,0,0 // vmovups %ymm4,0x2a0(%rsp) .byte 197,252,17,156,36,128,2,0,0 // vmovups %ymm3,0x280(%rsp) .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,139,64,16 // mov 0x10(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 196,193,121,110,217 // vmovd %r9d,%xmm3 .byte 196,226,125,88,219 // vpbroadcastd %xmm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 197,228,89,210 // vmulps %ymm2,%ymm3,%ymm2 .byte 197,254,91,234 // vcvttps2dq %ymm2,%ymm5 .byte 197,252,40,242 // vmovaps %ymm2,%ymm6 .byte 197,252,17,180,36,192,0,0,0 // vmovups %ymm6,0xc0(%rsp) .byte 196,193,121,110,208 // vmovd %r8d,%xmm2 .byte 196,193,121,110,216 // vmovd %r8d,%xmm3 .byte 196,226,125,88,219 // vpbroadcastd %xmm3,%ymm3 .byte 68,139,64,12 // mov 0xc(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 196,193,121,110,225 // vmovd %r9d,%xmm4 .byte 196,226,125,88,228 // vpbroadcastd %xmm4,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 197,220,89,201 // vmulps %ymm1,%ymm4,%ymm1 .byte 197,254,91,225 // vcvttps2dq %ymm1,%ymm4 .byte 197,254,127,164,36,96,2,0,0 // vmovdqu %ymm4,0x260(%rsp) .byte 197,124,40,201 // vmovaps %ymm1,%ymm9 .byte 197,124,17,140,36,224,1,0,0 // vmovups %ymm9,0x1e0(%rsp) .byte 196,98,101,64,228 // vpmulld %ymm4,%ymm3,%ymm12 .byte 197,157,254,205 // vpaddd %ymm5,%ymm12,%ymm1 .byte 197,125,111,197 // vmovdqa %ymm5,%ymm8 .byte 197,126,127,132,36,128,1,0,0 // vmovdqu %ymm8,0x180(%rsp) .byte 196,193,121,110,224 // vmovd %r8d,%xmm4 .byte 196,226,93,64,210 // vpmulld %ymm2,%ymm4,%ymm2 .byte 196,226,125,88,226 // vpbroadcastd %xmm2,%ymm4 .byte 68,139,64,8 // mov 0x8(%rax),%r8d .byte 65,255,200 // dec %r8d .byte 196,193,121,110,208 // vmovd %r8d,%xmm2 .byte 196,226,125,88,210 // vpbroadcastd %xmm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 197,236,89,192 // vmulps %ymm0,%ymm2,%ymm0 .byte 197,254,91,208 // vcvttps2dq %ymm0,%ymm2 .byte 197,254,127,148,36,64,2,0,0 // vmovdqu %ymm2,0x240(%rsp) .byte 197,124,40,208 // vmovaps %ymm0,%ymm10 .byte 197,124,17,148,36,192,1,0,0 // vmovups %ymm10,0x1c0(%rsp) .byte 196,98,93,64,218 // vpmulld %ymm2,%ymm4,%ymm11 .byte 72,139,0 // mov (%rax),%rax .byte 197,165,254,193 // vpaddd %ymm1,%ymm11,%ymm0 .byte 196,98,125,88,61,224,73,2,0 // vpbroadcastd 0x249e0(%rip),%ymm15 # 2af80 <_sk_srcover_rgba_8888_sse2_lowp+0x9ac> .byte 196,194,125,64,199 // vpmulld %ymm15,%ymm0,%ymm0 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 196,226,109,146,44,128 // vgatherdps %ymm2,(%rax,%ymm0,4),%ymm5 .byte 197,252,17,172,36,32,2,0,0 // vmovups %ymm5,0x220(%rsp) .byte 196,65,21,118,237 // vpcmpeqd %ymm13,%ymm13,%ymm13 .byte 196,193,125,250,213 // vpsubd %ymm13,%ymm0,%ymm2 .byte 197,196,87,255 // vxorps %ymm7,%ymm7,%ymm7 .byte 197,213,118,237 // vpcmpeqd %ymm5,%ymm5,%ymm5 .byte 196,226,85,146,60,144 // vgatherdps %ymm5,(%rax,%ymm2,4),%ymm7 .byte 197,252,17,188,36,0,2,0,0 // vmovups %ymm7,0x200(%rsp) .byte 196,226,125,88,61,46,72,2,0 // vpbroadcastd 0x2482e(%rip),%ymm7 # 2ae14 <_sk_srcover_rgba_8888_sse2_lowp+0x840> .byte 197,253,254,199 // vpaddd %ymm7,%ymm0,%ymm0 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 197,213,118,237 // vpcmpeqd %ymm5,%ymm5,%ymm5 .byte 196,226,85,146,20,128 // vgatherdps %ymm5,(%rax,%ymm0,4),%ymm2 .byte 197,252,17,148,36,32,1,0,0 // vmovups %ymm2,0x120(%rsp) .byte 196,226,125,24,5,114,73,2,0 // vbroadcastss 0x24972(%rip),%ymm0 # 2af7c <_sk_srcover_rgba_8888_sse2_lowp+0x9a8> .byte 197,172,88,232 // vaddps %ymm0,%ymm10,%ymm5 .byte 197,254,91,237 // vcvttps2dq %ymm5,%ymm5 .byte 196,226,93,64,213 // vpmulld %ymm5,%ymm4,%ymm2 .byte 197,237,254,201 // vpaddd %ymm1,%ymm2,%ymm1 .byte 196,194,117,64,207 // vpmulld %ymm15,%ymm1,%ymm1 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 197,221,118,228 // vpcmpeqd %ymm4,%ymm4,%ymm4 .byte 196,226,93,146,44,136 // vgatherdps %ymm4,(%rax,%ymm1,4),%ymm5 .byte 197,252,17,172,36,160,1,0,0 // vmovups %ymm5,0x1a0(%rsp) .byte 196,193,117,250,229 // vpsubd %ymm13,%ymm1,%ymm4 .byte 196,65,44,87,210 // vxorps %ymm10,%ymm10,%ymm10 .byte 197,213,118,237 // vpcmpeqd %ymm5,%ymm5,%ymm5 .byte 196,98,85,146,20,160 // vgatherdps %ymm5,(%rax,%ymm4,4),%ymm10 .byte 197,124,17,148,36,96,1,0,0 // vmovups %ymm10,0x160(%rsp) .byte 197,245,254,207 // vpaddd %ymm7,%ymm1,%ymm1 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 197,221,118,228 // vpcmpeqd %ymm4,%ymm4,%ymm4 .byte 196,226,93,146,44,136 // vgatherdps %ymm4,(%rax,%ymm1,4),%ymm5 .byte 197,252,17,172,36,64,1,0,0 // vmovups %ymm5,0x140(%rsp) .byte 197,180,88,200 // vaddps %ymm0,%ymm9,%ymm1 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,98,101,64,201 // vpmulld %ymm1,%ymm3,%ymm9 .byte 196,193,53,254,200 // vpaddd %ymm8,%ymm9,%ymm1 .byte 196,193,117,254,219 // vpaddd %ymm11,%ymm1,%ymm3 .byte 196,194,101,64,223 // vpmulld %ymm15,%ymm3,%ymm3 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 197,221,118,228 // vpcmpeqd %ymm4,%ymm4,%ymm4 .byte 196,226,93,146,44,152 // vgatherdps %ymm4,(%rax,%ymm3,4),%ymm5 .byte 197,252,17,172,36,0,1,0,0 // vmovups %ymm5,0x100(%rsp) .byte 196,193,101,250,229 // vpsubd %ymm13,%ymm3,%ymm4 .byte 196,65,61,239,192 // vpxor %ymm8,%ymm8,%ymm8 .byte 197,213,118,237 // vpcmpeqd %ymm5,%ymm5,%ymm5 .byte 196,98,85,146,4,160 // vgatherdps %ymm5,(%rax,%ymm4,4),%ymm8 .byte 197,124,17,132,36,224,0,0,0 // vmovups %ymm8,0xe0(%rsp) .byte 197,229,254,223 // vpaddd %ymm7,%ymm3,%ymm3 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 197,221,118,228 // vpcmpeqd %ymm4,%ymm4,%ymm4 .byte 196,226,93,146,44,152 // vgatherdps %ymm4,(%rax,%ymm3,4),%ymm5 .byte 197,252,17,172,36,160,0,0,0 // vmovups %ymm5,0xa0(%rsp) .byte 197,237,254,201 // vpaddd %ymm1,%ymm2,%ymm1 .byte 196,194,117,64,207 // vpmulld %ymm15,%ymm1,%ymm1 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 196,226,101,146,36,136 // vgatherdps %ymm3,(%rax,%ymm1,4),%ymm4 .byte 197,252,17,164,36,128,0,0,0 // vmovups %ymm4,0x80(%rsp) .byte 196,193,117,250,221 // vpsubd %ymm13,%ymm1,%ymm3 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 197,221,118,228 // vpcmpeqd %ymm4,%ymm4,%ymm4 .byte 196,226,93,146,44,152 // vgatherdps %ymm4,(%rax,%ymm3,4),%ymm5 .byte 197,252,17,108,36,96 // vmovups %ymm5,0x60(%rsp) .byte 197,245,254,207 // vpaddd %ymm7,%ymm1,%ymm1 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 196,226,101,146,36,136 // vgatherdps %ymm3,(%rax,%ymm1,4),%ymm4 .byte 197,252,17,100,36,64 // vmovups %ymm4,0x40(%rsp) .byte 197,204,88,192 // vaddps %ymm0,%ymm6,%ymm0 .byte 197,126,91,208 // vcvttps2dq %ymm0,%ymm10 .byte 196,193,29,254,218 // vpaddd %ymm10,%ymm12,%ymm3 .byte 197,165,254,195 // vpaddd %ymm3,%ymm11,%ymm0 .byte 196,194,125,64,199 // vpmulld %ymm15,%ymm0,%ymm0 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 196,226,117,146,36,128 // vgatherdps %ymm1,(%rax,%ymm0,4),%ymm4 .byte 197,252,17,100,36,32 // vmovups %ymm4,0x20(%rsp) .byte 196,193,125,250,237 // vpsubd %ymm13,%ymm0,%ymm5 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,205,118,246 // vpcmpeqd %ymm6,%ymm6,%ymm6 .byte 196,226,77,146,12,168 // vgatherdps %ymm6,(%rax,%ymm5,4),%ymm1 .byte 197,252,17,12,36 // vmovups %ymm1,(%rsp) .byte 197,253,254,239 // vpaddd %ymm7,%ymm0,%ymm5 .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,205,118,246 // vpcmpeqd %ymm6,%ymm6,%ymm6 .byte 196,226,77,146,4,168 // vgatherdps %ymm6,(%rax,%ymm5,4),%ymm0 .byte 197,252,17,68,36,224 // vmovups %ymm0,-0x20(%rsp) .byte 197,237,254,219 // vpaddd %ymm3,%ymm2,%ymm3 .byte 196,194,101,64,223 // vpmulld %ymm15,%ymm3,%ymm3 .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,213,118,237 // vpcmpeqd %ymm5,%ymm5,%ymm5 .byte 196,226,85,146,4,152 // vgatherdps %ymm5,(%rax,%ymm3,4),%ymm0 .byte 197,252,17,68,36,192 // vmovups %ymm0,-0x40(%rsp) .byte 196,193,101,250,197 // vpsubd %ymm13,%ymm3,%ymm0 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,65,13,118,246 // vpcmpeqd %ymm14,%ymm14,%ymm14 .byte 196,226,13,146,36,128 // vgatherdps %ymm14,(%rax,%ymm0,4),%ymm4 .byte 197,229,254,199 // vpaddd %ymm7,%ymm3,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 196,65,13,118,246 // vpcmpeqd %ymm14,%ymm14,%ymm14 .byte 196,226,13,146,12,128 // vgatherdps %ymm14,(%rax,%ymm0,4),%ymm1 .byte 197,252,17,76,36,160 // vmovups %ymm1,-0x60(%rsp) .byte 196,193,53,254,202 // vpaddd %ymm10,%ymm9,%ymm1 .byte 196,65,117,254,211 // vpaddd %ymm11,%ymm1,%ymm10 .byte 196,66,45,64,247 // vpmulld %ymm15,%ymm10,%ymm14 .byte 196,65,45,239,210 // vpxor %ymm10,%ymm10,%ymm10 .byte 196,65,29,118,228 // vpcmpeqd %ymm12,%ymm12,%ymm12 .byte 196,34,29,146,20,176 // vgatherdps %ymm12,(%rax,%ymm14,4),%ymm10 .byte 196,65,13,250,229 // vpsubd %ymm13,%ymm14,%ymm12 .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 196,65,37,118,219 // vpcmpeqd %ymm11,%ymm11,%ymm11 .byte 196,162,37,146,4,160 // vgatherdps %ymm11,(%rax,%ymm12,4),%ymm0 .byte 197,252,17,68,36,128 // vmovups %ymm0,-0x80(%rsp) .byte 197,13,254,223 // vpaddd %ymm7,%ymm14,%ymm11 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,65,13,118,246 // vpcmpeqd %ymm14,%ymm14,%ymm14 .byte 196,34,13,146,4,152 // vgatherdps %ymm14,(%rax,%ymm11,4),%ymm8 .byte 197,237,254,201 // vpaddd %ymm1,%ymm2,%ymm1 .byte 196,194,117,64,207 // vpmulld %ymm15,%ymm1,%ymm1 .byte 196,65,36,87,219 // vxorps %ymm11,%ymm11,%ymm11 .byte 196,65,13,118,246 // vpcmpeqd %ymm14,%ymm14,%ymm14 .byte 196,98,13,146,28,136 // vgatherdps %ymm14,(%rax,%ymm1,4),%ymm11 .byte 196,65,117,250,245 // vpsubd %ymm13,%ymm1,%ymm14 .byte 196,65,5,239,255 // vpxor %ymm15,%ymm15,%ymm15 .byte 196,65,53,118,201 // vpcmpeqd %ymm9,%ymm9,%ymm9 .byte 196,34,53,146,60,176 // vgatherdps %ymm9,(%rax,%ymm14,4),%ymm15 .byte 197,245,254,207 // vpaddd %ymm7,%ymm1,%ymm1 .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 196,226,21,146,60,136 // vgatherdps %ymm13,(%rax,%ymm1,4),%ymm7 .byte 197,252,91,140,36,64,2,0,0 // vcvtdq2ps 0x240(%rsp),%ymm1 .byte 197,252,16,132,36,192,1,0,0 // vmovups 0x1c0(%rsp),%ymm0 .byte 197,252,92,201 // vsubps %ymm1,%ymm0,%ymm1 .byte 197,252,16,132,36,32,2,0,0 // vmovups 0x220(%rsp),%ymm0 .byte 197,252,16,156,36,160,1,0,0 // vmovups 0x1a0(%rsp),%ymm3 .byte 197,100,92,200 // vsubps %ymm0,%ymm3,%ymm9 .byte 196,98,117,168,200 // vfmadd213ps %ymm0,%ymm1,%ymm9 .byte 197,252,16,132,36,0,2,0,0 // vmovups 0x200(%rsp),%ymm0 .byte 197,252,16,156,36,96,1,0,0 // vmovups 0x160(%rsp),%ymm3 .byte 197,100,92,232 // vsubps %ymm0,%ymm3,%ymm13 .byte 196,98,117,168,232 // vfmadd213ps %ymm0,%ymm1,%ymm13 .byte 197,252,16,148,36,32,1,0,0 // vmovups 0x120(%rsp),%ymm2 .byte 197,252,16,132,36,64,1,0,0 // vmovups 0x140(%rsp),%ymm0 .byte 197,124,92,242 // vsubps %ymm2,%ymm0,%ymm14 .byte 196,98,117,168,242 // vfmadd213ps %ymm2,%ymm1,%ymm14 .byte 197,252,16,132,36,0,1,0,0 // vmovups 0x100(%rsp),%ymm0 .byte 197,252,16,148,36,128,0,0,0 // vmovups 0x80(%rsp),%ymm2 .byte 197,108,92,224 // vsubps %ymm0,%ymm2,%ymm12 .byte 196,98,117,168,224 // vfmadd213ps %ymm0,%ymm1,%ymm12 .byte 197,252,16,132,36,224,0,0,0 // vmovups 0xe0(%rsp),%ymm0 .byte 197,252,16,84,36,96 // vmovups 0x60(%rsp),%ymm2 .byte 197,236,92,232 // vsubps %ymm0,%ymm2,%ymm5 .byte 196,226,117,168,232 // vfmadd213ps %ymm0,%ymm1,%ymm5 .byte 197,252,16,132,36,160,0,0,0 // vmovups 0xa0(%rsp),%ymm0 .byte 197,252,16,84,36,64 // vmovups 0x40(%rsp),%ymm2 .byte 197,236,92,240 // vsubps %ymm0,%ymm2,%ymm6 .byte 196,226,117,168,240 // vfmadd213ps %ymm0,%ymm1,%ymm6 .byte 197,252,16,84,36,32 // vmovups 0x20(%rsp),%ymm2 .byte 197,252,16,68,36,192 // vmovups -0x40(%rsp),%ymm0 .byte 197,252,92,194 // vsubps %ymm2,%ymm0,%ymm0 .byte 196,226,117,168,194 // vfmadd213ps %ymm2,%ymm1,%ymm0 .byte 197,252,16,28,36 // vmovups (%rsp),%ymm3 .byte 197,220,92,211 // vsubps %ymm3,%ymm4,%ymm2 .byte 196,226,117,168,211 // vfmadd213ps %ymm3,%ymm1,%ymm2 .byte 197,252,16,100,36,224 // vmovups -0x20(%rsp),%ymm4 .byte 197,252,16,92,36,160 // vmovups -0x60(%rsp),%ymm3 .byte 197,228,92,220 // vsubps %ymm4,%ymm3,%ymm3 .byte 196,226,117,168,220 // vfmadd213ps %ymm4,%ymm1,%ymm3 .byte 196,65,36,92,218 // vsubps %ymm10,%ymm11,%ymm11 .byte 196,66,117,168,218 // vfmadd213ps %ymm10,%ymm1,%ymm11 .byte 197,252,16,100,36,128 // vmovups -0x80(%rsp),%ymm4 .byte 197,4,92,212 // vsubps %ymm4,%ymm15,%ymm10 .byte 196,98,117,168,212 // vfmadd213ps %ymm4,%ymm1,%ymm10 .byte 196,193,68,92,248 // vsubps %ymm8,%ymm7,%ymm7 .byte 196,194,117,168,248 // vfmadd213ps %ymm8,%ymm1,%ymm7 .byte 197,252,91,140,36,96,2,0,0 // vcvtdq2ps 0x260(%rsp),%ymm1 .byte 197,124,16,132,36,224,1,0,0 // vmovups 0x1e0(%rsp),%ymm8 .byte 197,188,92,201 // vsubps %ymm1,%ymm8,%ymm1 .byte 196,193,28,92,225 // vsubps %ymm9,%ymm12,%ymm4 .byte 196,194,117,168,225 // vfmadd213ps %ymm9,%ymm1,%ymm4 .byte 196,193,84,92,237 // vsubps %ymm13,%ymm5,%ymm5 .byte 196,194,117,168,237 // vfmadd213ps %ymm13,%ymm1,%ymm5 .byte 196,193,76,92,246 // vsubps %ymm14,%ymm6,%ymm6 .byte 196,194,117,168,246 // vfmadd213ps %ymm14,%ymm1,%ymm6 .byte 197,36,92,192 // vsubps %ymm0,%ymm11,%ymm8 .byte 196,98,117,168,192 // vfmadd213ps %ymm0,%ymm1,%ymm8 .byte 197,44,92,202 // vsubps %ymm2,%ymm10,%ymm9 .byte 196,98,117,168,202 // vfmadd213ps %ymm2,%ymm1,%ymm9 .byte 197,196,92,211 // vsubps %ymm3,%ymm7,%ymm2 .byte 196,226,117,168,211 // vfmadd213ps %ymm3,%ymm1,%ymm2 .byte 197,252,91,132,36,128,1,0,0 // vcvtdq2ps 0x180(%rsp),%ymm0 .byte 197,252,16,140,36,192,0,0,0 // vmovups 0xc0(%rsp),%ymm1 .byte 197,244,92,216 // vsubps %ymm0,%ymm1,%ymm3 .byte 197,188,92,196 // vsubps %ymm4,%ymm8,%ymm0 .byte 196,226,101,168,196 // vfmadd213ps %ymm4,%ymm3,%ymm0 .byte 197,180,92,205 // vsubps %ymm5,%ymm9,%ymm1 .byte 196,226,101,168,205 // vfmadd213ps %ymm5,%ymm3,%ymm1 .byte 197,236,92,214 // vsubps %ymm6,%ymm2,%ymm2 .byte 196,226,101,168,214 // vfmadd213ps %ymm6,%ymm3,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,156,36,128,2,0,0 // vmovups 0x280(%rsp),%ymm3 .byte 197,252,16,164,36,160,2,0,0 // vmovups 0x2a0(%rsp),%ymm4 .byte 197,252,16,172,36,192,2,0,0 // vmovups 0x2c0(%rsp),%ymm5 .byte 197,252,16,180,36,224,2,0,0 // vmovups 0x2e0(%rsp),%ymm6 .byte 197,252,16,188,36,0,3,0,0 // vmovups 0x300(%rsp),%ymm7 .byte 72,129,196,56,3,0,0 // add $0x338,%rsp .byte 255,224 // jmpq *%rax HIDDEN _sk_clut_4D_hsw .globl _sk_clut_4D_hsw FUNCTION(_sk_clut_4D_hsw) _sk_clut_4D_hsw: .byte 72,129,236,248,6,0,0 // sub $0x6f8,%rsp .byte 197,252,17,188,36,192,6,0,0 // vmovups %ymm7,0x6c0(%rsp) .byte 197,252,17,180,36,160,6,0,0 // vmovups %ymm6,0x6a0(%rsp) .byte 197,252,17,172,36,128,6,0,0 // vmovups %ymm5,0x680(%rsp) .byte 197,252,17,164,36,96,6,0,0 // vmovups %ymm4,0x660(%rsp) .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,139,64,20 // mov 0x14(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 196,193,121,110,225 // vmovd %r9d,%xmm4 .byte 196,226,125,88,228 // vpbroadcastd %xmm4,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 197,220,89,219 // vmulps %ymm3,%ymm4,%ymm3 .byte 197,252,17,156,36,32,1,0,0 // vmovups %ymm3,0x120(%rsp) .byte 197,254,91,243 // vcvttps2dq %ymm3,%ymm6 .byte 196,193,121,110,216 // vmovd %r8d,%xmm3 .byte 196,193,121,110,224 // vmovd %r8d,%xmm4 .byte 196,98,125,88,252 // vpbroadcastd %xmm4,%ymm15 .byte 68,139,64,16 // mov 0x10(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 196,193,121,110,233 // vmovd %r9d,%xmm5 .byte 196,226,125,88,237 // vpbroadcastd %xmm5,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 197,212,89,210 // vmulps %ymm2,%ymm5,%ymm2 .byte 197,254,91,234 // vcvttps2dq %ymm2,%ymm5 .byte 197,254,127,172,36,64,6,0,0 // vmovdqu %ymm5,0x640(%rsp) .byte 197,124,40,242 // vmovaps %ymm2,%ymm14 .byte 197,124,17,180,36,224,5,0,0 // vmovups %ymm14,0x5e0(%rsp) .byte 196,226,5,64,213 // vpmulld %ymm5,%ymm15,%ymm2 .byte 197,254,127,84,36,160 // vmovdqu %ymm2,-0x60(%rsp) .byte 197,237,254,230 // vpaddd %ymm6,%ymm2,%ymm4 .byte 197,125,111,230 // vmovdqa %ymm6,%ymm12 .byte 197,126,127,164,36,192,5,0,0 // vmovdqu %ymm12,0x5c0(%rsp) .byte 196,193,121,110,232 // vmovd %r8d,%xmm5 .byte 196,226,85,64,235 // vpmulld %ymm3,%ymm5,%ymm5 .byte 196,226,125,88,221 // vpbroadcastd %xmm5,%ymm3 .byte 68,139,64,12 // mov 0xc(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 196,193,121,110,241 // vmovd %r9d,%xmm6 .byte 196,226,125,88,246 // vpbroadcastd %xmm6,%ymm6 .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 197,204,89,241 // vmulps %ymm1,%ymm6,%ymm6 .byte 196,193,121,110,200 // vmovd %r8d,%xmm1 .byte 196,226,117,64,205 // vpmulld %ymm5,%ymm1,%ymm1 .byte 68,139,64,8 // mov 0x8(%rax),%r8d .byte 65,255,200 // dec %r8d .byte 196,193,121,110,232 // vmovd %r8d,%xmm5 .byte 196,226,125,88,237 // vpbroadcastd %xmm5,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 197,212,89,232 // vmulps %ymm0,%ymm5,%ymm5 .byte 197,254,91,198 // vcvttps2dq %ymm6,%ymm0 .byte 197,254,127,132,36,32,6,0,0 // vmovdqu %ymm0,0x620(%rsp) .byte 197,252,17,180,36,0,6,0,0 // vmovups %ymm6,0x600(%rsp) .byte 196,226,125,88,209 // vpbroadcastd %xmm1,%ymm2 .byte 72,139,0 // mov (%rax),%rax .byte 196,226,101,64,192 // vpmulld %ymm0,%ymm3,%ymm0 .byte 197,254,127,68,36,128 // vmovdqu %ymm0,-0x80(%rsp) .byte 197,253,254,252 // vpaddd %ymm4,%ymm0,%ymm7 .byte 197,254,91,197 // vcvttps2dq %ymm5,%ymm0 .byte 197,252,40,205 // vmovaps %ymm5,%ymm1 .byte 197,252,17,140,36,160,0,0,0 // vmovups %ymm1,0xa0(%rsp) .byte 197,254,127,132,36,0,1,0,0 // vmovdqu %ymm0,0x100(%rsp) .byte 196,98,109,64,200 // vpmulld %ymm0,%ymm2,%ymm9 .byte 197,181,254,199 // vpaddd %ymm7,%ymm9,%ymm0 .byte 196,98,125,88,21,11,68,2,0 // vpbroadcastd 0x2440b(%rip),%ymm10 # 2af80 <_sk_srcover_rgba_8888_sse2_lowp+0x9ac> .byte 196,194,125,64,194 // vpmulld %ymm10,%ymm0,%ymm0 .byte 197,213,118,237 // vpcmpeqd %ymm5,%ymm5,%ymm5 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,98,85,146,4,128 // vgatherdps %ymm5,(%rax,%ymm0,4),%ymm8 .byte 197,124,17,132,36,224,0,0,0 // vmovups %ymm8,0xe0(%rsp) .byte 196,65,21,118,237 // vpcmpeqd %ymm13,%ymm13,%ymm13 .byte 196,193,125,250,237 // vpsubd %ymm13,%ymm0,%ymm5 .byte 196,65,61,118,192 // vpcmpeqd %ymm8,%ymm8,%ymm8 .byte 196,65,36,87,219 // vxorps %ymm11,%ymm11,%ymm11 .byte 196,98,61,146,28,168 // vgatherdps %ymm8,(%rax,%ymm5,4),%ymm11 .byte 197,124,17,156,36,192,0,0,0 // vmovups %ymm11,0xc0(%rsp) .byte 196,98,125,88,29,86,66,2,0 // vpbroadcastd 0x24256(%rip),%ymm11 # 2ae14 <_sk_srcover_rgba_8888_sse2_lowp+0x840> .byte 196,193,125,254,195 // vpaddd %ymm11,%ymm0,%ymm0 .byte 196,65,61,118,192 // vpcmpeqd %ymm8,%ymm8,%ymm8 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 196,226,61,146,44,128 // vgatherdps %ymm8,(%rax,%ymm0,4),%ymm5 .byte 197,252,17,108,36,32 // vmovups %ymm5,0x20(%rsp) .byte 196,226,125,24,5,155,67,2,0 // vbroadcastss 0x2439b(%rip),%ymm0 # 2af7c <_sk_srcover_rgba_8888_sse2_lowp+0x9a8> .byte 197,116,88,192 // vaddps %ymm0,%ymm1,%ymm8 .byte 196,65,126,91,192 // vcvttps2dq %ymm8,%ymm8 .byte 196,194,109,64,232 // vpmulld %ymm8,%ymm2,%ymm5 .byte 197,213,254,207 // vpaddd %ymm7,%ymm5,%ymm1 .byte 196,194,117,64,202 // vpmulld %ymm10,%ymm1,%ymm1 .byte 197,197,118,255 // vpcmpeqd %ymm7,%ymm7,%ymm7 .byte 197,237,239,210 // vpxor %ymm2,%ymm2,%ymm2 .byte 196,226,69,146,20,136 // vgatherdps %ymm7,(%rax,%ymm1,4),%ymm2 .byte 197,252,17,148,36,128,0,0,0 // vmovups %ymm2,0x80(%rsp) .byte 196,193,117,250,253 // vpsubd %ymm13,%ymm1,%ymm7 .byte 196,65,61,118,192 // vpcmpeqd %ymm8,%ymm8,%ymm8 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 196,226,61,146,20,184 // vgatherdps %ymm8,(%rax,%ymm7,4),%ymm2 .byte 197,252,17,84,36,96 // vmovups %ymm2,0x60(%rsp) .byte 196,193,117,254,203 // vpaddd %ymm11,%ymm1,%ymm1 .byte 197,197,118,255 // vpcmpeqd %ymm7,%ymm7,%ymm7 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 196,226,69,146,20,136 // vgatherdps %ymm7,(%rax,%ymm1,4),%ymm2 .byte 197,252,17,84,36,64 // vmovups %ymm2,0x40(%rsp) .byte 197,204,88,200 // vaddps %ymm0,%ymm6,%ymm1 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,226,101,64,241 // vpmulld %ymm1,%ymm3,%ymm6 .byte 197,205,254,204 // vpaddd %ymm4,%ymm6,%ymm1 .byte 196,193,117,254,209 // vpaddd %ymm9,%ymm1,%ymm2 .byte 196,194,109,64,210 // vpmulld %ymm10,%ymm2,%ymm2 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 197,221,239,228 // vpxor %ymm4,%ymm4,%ymm4 .byte 196,226,101,146,36,144 // vgatherdps %ymm3,(%rax,%ymm2,4),%ymm4 .byte 197,252,17,164,36,96,5,0,0 // vmovups %ymm4,0x560(%rsp) .byte 196,193,109,250,221 // vpsubd %ymm13,%ymm2,%ymm3 .byte 197,197,118,255 // vpcmpeqd %ymm7,%ymm7,%ymm7 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,226,69,146,36,152 // vgatherdps %ymm7,(%rax,%ymm3,4),%ymm4 .byte 197,252,17,36,36 // vmovups %ymm4,(%rsp) .byte 196,193,109,254,211 // vpaddd %ymm11,%ymm2,%ymm2 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,226,101,146,36,144 // vgatherdps %ymm3,(%rax,%ymm2,4),%ymm4 .byte 197,252,17,100,36,224 // vmovups %ymm4,-0x20(%rsp) .byte 197,213,254,201 // vpaddd %ymm1,%ymm5,%ymm1 .byte 196,194,117,64,202 // vpmulld %ymm10,%ymm1,%ymm1 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,226,109,146,28,136 // vgatherdps %ymm2,(%rax,%ymm1,4),%ymm3 .byte 197,252,17,92,36,192 // vmovups %ymm3,-0x40(%rsp) .byte 196,193,117,250,213 // vpsubd %ymm13,%ymm1,%ymm2 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,226,101,146,36,144 // vgatherdps %ymm3,(%rax,%ymm2,4),%ymm4 .byte 197,252,17,164,36,160,5,0,0 // vmovups %ymm4,0x5a0(%rsp) .byte 196,193,117,254,203 // vpaddd %ymm11,%ymm1,%ymm1 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,226,109,146,28,136 // vgatherdps %ymm2,(%rax,%ymm1,4),%ymm3 .byte 197,252,17,156,36,128,5,0,0 // vmovups %ymm3,0x580(%rsp) .byte 197,140,88,200 // vaddps %ymm0,%ymm14,%ymm1 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,98,5,64,249 // vpmulld %ymm1,%ymm15,%ymm15 .byte 196,193,5,254,204 // vpaddd %ymm12,%ymm15,%ymm1 .byte 197,126,111,68,36,128 // vmovdqu -0x80(%rsp),%ymm8 .byte 196,193,117,254,208 // vpaddd %ymm8,%ymm1,%ymm2 .byte 196,193,109,254,217 // vpaddd %ymm9,%ymm2,%ymm3 .byte 196,194,101,64,218 // vpmulld %ymm10,%ymm3,%ymm3 .byte 197,221,118,228 // vpcmpeqd %ymm4,%ymm4,%ymm4 .byte 197,196,87,255 // vxorps %ymm7,%ymm7,%ymm7 .byte 196,226,93,146,60,152 // vgatherdps %ymm4,(%rax,%ymm3,4),%ymm7 .byte 197,252,17,188,36,96,3,0,0 // vmovups %ymm7,0x360(%rsp) .byte 196,193,101,250,229 // vpsubd %ymm13,%ymm3,%ymm4 .byte 197,197,118,255 // vpcmpeqd %ymm7,%ymm7,%ymm7 .byte 196,65,12,87,246 // vxorps %ymm14,%ymm14,%ymm14 .byte 196,98,69,146,52,160 // vgatherdps %ymm7,(%rax,%ymm4,4),%ymm14 .byte 197,124,17,180,36,64,5,0,0 // vmovups %ymm14,0x540(%rsp) .byte 196,193,101,254,219 // vpaddd %ymm11,%ymm3,%ymm3 .byte 197,221,118,228 // vpcmpeqd %ymm4,%ymm4,%ymm4 .byte 197,196,87,255 // vxorps %ymm7,%ymm7,%ymm7 .byte 196,226,93,146,60,152 // vgatherdps %ymm4,(%rax,%ymm3,4),%ymm7 .byte 197,252,17,188,36,192,4,0,0 // vmovups %ymm7,0x4c0(%rsp) .byte 197,213,254,210 // vpaddd %ymm2,%ymm5,%ymm2 .byte 196,194,109,64,210 // vpmulld %ymm10,%ymm2,%ymm2 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,226,101,146,36,144 // vgatherdps %ymm3,(%rax,%ymm2,4),%ymm4 .byte 197,252,17,164,36,32,5,0,0 // vmovups %ymm4,0x520(%rsp) .byte 196,193,109,250,221 // vpsubd %ymm13,%ymm2,%ymm3 .byte 197,221,118,228 // vpcmpeqd %ymm4,%ymm4,%ymm4 .byte 196,65,12,87,246 // vxorps %ymm14,%ymm14,%ymm14 .byte 196,98,93,146,52,152 // vgatherdps %ymm4,(%rax,%ymm3,4),%ymm14 .byte 197,124,17,180,36,0,5,0,0 // vmovups %ymm14,0x500(%rsp) .byte 196,193,109,254,211 // vpaddd %ymm11,%ymm2,%ymm2 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,226,101,146,36,144 // vgatherdps %ymm3,(%rax,%ymm2,4),%ymm4 .byte 197,252,17,164,36,224,4,0,0 // vmovups %ymm4,0x4e0(%rsp) .byte 197,205,254,201 // vpaddd %ymm1,%ymm6,%ymm1 .byte 196,193,117,254,209 // vpaddd %ymm9,%ymm1,%ymm2 .byte 196,194,109,64,210 // vpmulld %ymm10,%ymm2,%ymm2 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,226,101,146,36,144 // vgatherdps %ymm3,(%rax,%ymm2,4),%ymm4 .byte 197,252,17,164,36,160,4,0,0 // vmovups %ymm4,0x4a0(%rsp) .byte 196,193,109,250,221 // vpsubd %ymm13,%ymm2,%ymm3 .byte 197,221,118,228 // vpcmpeqd %ymm4,%ymm4,%ymm4 .byte 197,196,87,255 // vxorps %ymm7,%ymm7,%ymm7 .byte 196,226,93,146,60,152 // vgatherdps %ymm4,(%rax,%ymm3,4),%ymm7 .byte 197,252,17,188,36,128,4,0,0 // vmovups %ymm7,0x480(%rsp) .byte 196,193,109,254,211 // vpaddd %ymm11,%ymm2,%ymm2 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,226,101,146,36,144 // vgatherdps %ymm3,(%rax,%ymm2,4),%ymm4 .byte 197,252,17,164,36,0,3,0,0 // vmovups %ymm4,0x300(%rsp) .byte 197,213,254,201 // vpaddd %ymm1,%ymm5,%ymm1 .byte 196,194,117,64,202 // vpmulld %ymm10,%ymm1,%ymm1 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,226,109,146,28,136 // vgatherdps %ymm2,(%rax,%ymm1,4),%ymm3 .byte 197,252,17,156,36,96,4,0,0 // vmovups %ymm3,0x460(%rsp) .byte 196,193,117,250,213 // vpsubd %ymm13,%ymm1,%ymm2 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,226,101,146,36,144 // vgatherdps %ymm3,(%rax,%ymm2,4),%ymm4 .byte 197,252,17,164,36,64,4,0,0 // vmovups %ymm4,0x440(%rsp) .byte 196,193,117,254,203 // vpaddd %ymm11,%ymm1,%ymm1 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,226,109,146,28,136 // vgatherdps %ymm2,(%rax,%ymm1,4),%ymm3 .byte 197,252,17,156,36,32,4,0,0 // vmovups %ymm3,0x420(%rsp) .byte 197,252,88,132,36,32,1,0,0 // vaddps 0x120(%rsp),%ymm0,%ymm0 .byte 197,254,91,248 // vcvttps2dq %ymm0,%ymm7 .byte 197,197,254,68,36,160 // vpaddd -0x60(%rsp),%ymm7,%ymm0 .byte 197,189,254,200 // vpaddd %ymm0,%ymm8,%ymm1 .byte 197,181,254,209 // vpaddd %ymm1,%ymm9,%ymm2 .byte 196,194,109,64,210 // vpmulld %ymm10,%ymm2,%ymm2 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,226,101,146,36,144 // vgatherdps %ymm3,(%rax,%ymm2,4),%ymm4 .byte 197,252,17,100,36,160 // vmovups %ymm4,-0x60(%rsp) .byte 196,193,109,250,221 // vpsubd %ymm13,%ymm2,%ymm3 .byte 197,221,118,228 // vpcmpeqd %ymm4,%ymm4,%ymm4 .byte 196,65,12,87,246 // vxorps %ymm14,%ymm14,%ymm14 .byte 196,98,93,146,52,152 // vgatherdps %ymm4,(%rax,%ymm3,4),%ymm14 .byte 197,124,17,180,36,0,4,0,0 // vmovups %ymm14,0x400(%rsp) .byte 196,193,109,254,211 // vpaddd %ymm11,%ymm2,%ymm2 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,226,101,146,36,144 // vgatherdps %ymm3,(%rax,%ymm2,4),%ymm4 .byte 197,252,17,164,36,224,3,0,0 // vmovups %ymm4,0x3e0(%rsp) .byte 197,213,254,201 // vpaddd %ymm1,%ymm5,%ymm1 .byte 196,194,117,64,202 // vpmulld %ymm10,%ymm1,%ymm1 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,226,109,146,28,136 // vgatherdps %ymm2,(%rax,%ymm1,4),%ymm3 .byte 197,252,17,156,36,192,3,0,0 // vmovups %ymm3,0x3c0(%rsp) .byte 196,193,117,250,213 // vpsubd %ymm13,%ymm1,%ymm2 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,226,101,146,36,144 // vgatherdps %ymm3,(%rax,%ymm2,4),%ymm4 .byte 197,252,17,164,36,160,3,0,0 // vmovups %ymm4,0x3a0(%rsp) .byte 196,193,117,254,203 // vpaddd %ymm11,%ymm1,%ymm1 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,226,109,146,28,136 // vgatherdps %ymm2,(%rax,%ymm1,4),%ymm3 .byte 197,252,17,156,36,128,3,0,0 // vmovups %ymm3,0x380(%rsp) .byte 197,205,254,192 // vpaddd %ymm0,%ymm6,%ymm0 .byte 196,193,125,254,201 // vpaddd %ymm9,%ymm0,%ymm1 .byte 196,194,117,64,202 // vpmulld %ymm10,%ymm1,%ymm1 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,226,109,146,28,136 // vgatherdps %ymm2,(%rax,%ymm1,4),%ymm3 .byte 197,252,17,156,36,32,3,0,0 // vmovups %ymm3,0x320(%rsp) .byte 196,193,117,250,213 // vpsubd %ymm13,%ymm1,%ymm2 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,226,101,146,36,144 // vgatherdps %ymm3,(%rax,%ymm2,4),%ymm4 .byte 197,252,17,164,36,64,3,0,0 // vmovups %ymm4,0x340(%rsp) .byte 196,193,117,254,203 // vpaddd %ymm11,%ymm1,%ymm1 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,226,109,146,28,136 // vgatherdps %ymm2,(%rax,%ymm1,4),%ymm3 .byte 197,252,17,156,36,128,2,0,0 // vmovups %ymm3,0x280(%rsp) .byte 197,213,254,192 // vpaddd %ymm0,%ymm5,%ymm0 .byte 196,194,125,64,194 // vpmulld %ymm10,%ymm0,%ymm0 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 196,226,117,146,20,128 // vgatherdps %ymm1,(%rax,%ymm0,4),%ymm2 .byte 197,252,17,148,36,224,2,0,0 // vmovups %ymm2,0x2e0(%rsp) .byte 196,193,125,250,205 // vpsubd %ymm13,%ymm0,%ymm1 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,226,109,146,28,136 // vgatherdps %ymm2,(%rax,%ymm1,4),%ymm3 .byte 197,252,17,156,36,192,2,0,0 // vmovups %ymm3,0x2c0(%rsp) .byte 196,193,125,254,195 // vpaddd %ymm11,%ymm0,%ymm0 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 196,226,117,146,20,128 // vgatherdps %ymm1,(%rax,%ymm0,4),%ymm2 .byte 197,252,17,148,36,160,2,0,0 // vmovups %ymm2,0x2a0(%rsp) .byte 197,133,254,199 // vpaddd %ymm7,%ymm15,%ymm0 .byte 196,193,125,254,200 // vpaddd %ymm8,%ymm0,%ymm1 .byte 196,193,117,254,209 // vpaddd %ymm9,%ymm1,%ymm2 .byte 196,194,109,64,210 // vpmulld %ymm10,%ymm2,%ymm2 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,226,101,146,36,144 // vgatherdps %ymm3,(%rax,%ymm2,4),%ymm4 .byte 197,252,17,100,36,128 // vmovups %ymm4,-0x80(%rsp) .byte 196,193,109,250,221 // vpsubd %ymm13,%ymm2,%ymm3 .byte 196,65,61,118,192 // vpcmpeqd %ymm8,%ymm8,%ymm8 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,226,61,146,36,152 // vgatherdps %ymm8,(%rax,%ymm3,4),%ymm4 .byte 197,252,17,164,36,96,2,0,0 // vmovups %ymm4,0x260(%rsp) .byte 196,193,109,254,211 // vpaddd %ymm11,%ymm2,%ymm2 .byte 196,65,61,118,192 // vpcmpeqd %ymm8,%ymm8,%ymm8 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,226,61,146,28,144 // vgatherdps %ymm8,(%rax,%ymm2,4),%ymm3 .byte 197,252,17,156,36,224,1,0,0 // vmovups %ymm3,0x1e0(%rsp) .byte 197,213,254,201 // vpaddd %ymm1,%ymm5,%ymm1 .byte 196,194,117,64,202 // vpmulld %ymm10,%ymm1,%ymm1 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,226,109,146,28,136 // vgatherdps %ymm2,(%rax,%ymm1,4),%ymm3 .byte 197,252,17,156,36,64,2,0,0 // vmovups %ymm3,0x240(%rsp) .byte 196,193,117,250,213 // vpsubd %ymm13,%ymm1,%ymm2 .byte 196,65,61,118,192 // vpcmpeqd %ymm8,%ymm8,%ymm8 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,226,61,146,28,144 // vgatherdps %ymm8,(%rax,%ymm2,4),%ymm3 .byte 197,252,17,156,36,32,2,0,0 // vmovups %ymm3,0x220(%rsp) .byte 196,193,117,254,203 // vpaddd %ymm11,%ymm1,%ymm1 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 196,226,109,146,28,136 // vgatherdps %ymm2,(%rax,%ymm1,4),%ymm3 .byte 197,252,17,156,36,0,2,0,0 // vmovups %ymm3,0x200(%rsp) .byte 197,205,254,216 // vpaddd %ymm0,%ymm6,%ymm3 .byte 196,193,101,254,193 // vpaddd %ymm9,%ymm3,%ymm0 .byte 196,194,125,64,194 // vpmulld %ymm10,%ymm0,%ymm0 .byte 197,237,118,210 // vpcmpeqd %ymm2,%ymm2,%ymm2 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 196,226,109,146,12,128 // vgatherdps %ymm2,(%rax,%ymm0,4),%ymm1 .byte 197,252,17,140,36,192,1,0,0 // vmovups %ymm1,0x1c0(%rsp) .byte 196,193,125,250,229 // vpsubd %ymm13,%ymm0,%ymm4 .byte 197,245,118,201 // vpcmpeqd %ymm1,%ymm1,%ymm1 .byte 196,65,29,239,228 // vpxor %ymm12,%ymm12,%ymm12 .byte 196,98,117,146,36,160 // vgatherdps %ymm1,(%rax,%ymm4,4),%ymm12 .byte 196,193,125,254,203 // vpaddd %ymm11,%ymm0,%ymm1 .byte 197,221,118,228 // vpcmpeqd %ymm4,%ymm4,%ymm4 .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 196,226,93,146,4,136 // vgatherdps %ymm4,(%rax,%ymm1,4),%ymm0 .byte 197,252,17,132,36,160,1,0,0 // vmovups %ymm0,0x1a0(%rsp) .byte 197,213,254,203 // vpaddd %ymm3,%ymm5,%ymm1 .byte 196,194,117,64,202 // vpmulld %ymm10,%ymm1,%ymm1 .byte 197,229,118,219 // vpcmpeqd %ymm3,%ymm3,%ymm3 .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 196,226,101,146,4,136 // vgatherdps %ymm3,(%rax,%ymm1,4),%ymm0 .byte 197,252,17,132,36,128,1,0,0 // vmovups %ymm0,0x180(%rsp) .byte 196,193,117,250,221 // vpsubd %ymm13,%ymm1,%ymm3 .byte 196,65,45,118,210 // vpcmpeqd %ymm10,%ymm10,%ymm10 .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 196,226,45,146,4,152 // vgatherdps %ymm10,(%rax,%ymm3,4),%ymm0 .byte 197,252,17,132,36,96,1,0,0 // vmovups %ymm0,0x160(%rsp) .byte 196,193,117,254,203 // vpaddd %ymm11,%ymm1,%ymm1 .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 196,226,21,146,4,136 // vgatherdps %ymm13,(%rax,%ymm1,4),%ymm0 .byte 197,252,17,132,36,64,1,0,0 // vmovups %ymm0,0x140(%rsp) .byte 197,252,91,140,36,0,1,0,0 // vcvtdq2ps 0x100(%rsp),%ymm1 .byte 197,252,16,132,36,160,0,0,0 // vmovups 0xa0(%rsp),%ymm0 .byte 197,252,92,201 // vsubps %ymm1,%ymm0,%ymm1 .byte 197,252,16,132,36,224,0,0,0 // vmovups 0xe0(%rsp),%ymm0 .byte 197,252,16,148,36,128,0,0,0 // vmovups 0x80(%rsp),%ymm2 .byte 197,108,92,248 // vsubps %ymm0,%ymm2,%ymm15 .byte 196,98,117,168,248 // vfmadd213ps %ymm0,%ymm1,%ymm15 .byte 197,252,16,132,36,192,0,0,0 // vmovups 0xc0(%rsp),%ymm0 .byte 197,252,16,84,36,96 // vmovups 0x60(%rsp),%ymm2 .byte 197,108,92,240 // vsubps %ymm0,%ymm2,%ymm14 .byte 196,98,117,168,240 // vfmadd213ps %ymm0,%ymm1,%ymm14 .byte 197,252,16,108,36,32 // vmovups 0x20(%rsp),%ymm5 .byte 197,252,16,68,36,64 // vmovups 0x40(%rsp),%ymm0 .byte 197,252,92,197 // vsubps %ymm5,%ymm0,%ymm0 .byte 196,226,117,168,197 // vfmadd213ps %ymm5,%ymm1,%ymm0 .byte 197,252,17,132,36,0,1,0,0 // vmovups %ymm0,0x100(%rsp) .byte 197,252,16,68,36,192 // vmovups -0x40(%rsp),%ymm0 .byte 197,252,16,148,36,96,5,0,0 // vmovups 0x560(%rsp),%ymm2 .byte 197,252,92,194 // vsubps %ymm2,%ymm0,%ymm0 .byte 196,226,117,168,194 // vfmadd213ps %ymm2,%ymm1,%ymm0 .byte 197,252,17,132,36,224,0,0,0 // vmovups %ymm0,0xe0(%rsp) .byte 197,252,16,4,36 // vmovups (%rsp),%ymm0 .byte 197,252,16,148,36,160,5,0,0 // vmovups 0x5a0(%rsp),%ymm2 .byte 197,236,92,208 // vsubps %ymm0,%ymm2,%ymm2 .byte 196,226,117,168,208 // vfmadd213ps %ymm0,%ymm1,%ymm2 .byte 197,252,17,148,36,192,0,0,0 // vmovups %ymm2,0xc0(%rsp) .byte 197,252,16,68,36,224 // vmovups -0x20(%rsp),%ymm0 .byte 197,252,16,148,36,128,5,0,0 // vmovups 0x580(%rsp),%ymm2 .byte 197,236,92,208 // vsubps %ymm0,%ymm2,%ymm2 .byte 196,226,117,168,208 // vfmadd213ps %ymm0,%ymm1,%ymm2 .byte 197,252,17,148,36,160,0,0,0 // vmovups %ymm2,0xa0(%rsp) .byte 197,252,16,132,36,32,5,0,0 // vmovups 0x520(%rsp),%ymm0 .byte 197,252,16,148,36,96,3,0,0 // vmovups 0x360(%rsp),%ymm2 .byte 197,124,92,210 // vsubps %ymm2,%ymm0,%ymm10 .byte 196,98,117,168,210 // vfmadd213ps %ymm2,%ymm1,%ymm10 .byte 197,252,16,132,36,64,5,0,0 // vmovups 0x540(%rsp),%ymm0 .byte 197,252,16,148,36,0,5,0,0 // vmovups 0x500(%rsp),%ymm2 .byte 197,108,92,216 // vsubps %ymm0,%ymm2,%ymm11 .byte 196,98,117,168,216 // vfmadd213ps %ymm0,%ymm1,%ymm11 .byte 197,252,16,132,36,224,4,0,0 // vmovups 0x4e0(%rsp),%ymm0 .byte 197,252,16,148,36,192,4,0,0 // vmovups 0x4c0(%rsp),%ymm2 .byte 197,124,92,202 // vsubps %ymm2,%ymm0,%ymm9 .byte 196,98,117,168,202 // vfmadd213ps %ymm2,%ymm1,%ymm9 .byte 197,252,16,132,36,160,4,0,0 // vmovups 0x4a0(%rsp),%ymm0 .byte 197,252,16,148,36,96,4,0,0 // vmovups 0x460(%rsp),%ymm2 .byte 197,236,92,208 // vsubps %ymm0,%ymm2,%ymm2 .byte 196,226,117,168,208 // vfmadd213ps %ymm0,%ymm1,%ymm2 .byte 197,252,17,148,36,128,0,0,0 // vmovups %ymm2,0x80(%rsp) .byte 197,252,16,132,36,128,4,0,0 // vmovups 0x480(%rsp),%ymm0 .byte 197,252,16,148,36,64,4,0,0 // vmovups 0x440(%rsp),%ymm2 .byte 197,236,92,208 // vsubps %ymm0,%ymm2,%ymm2 .byte 196,226,117,168,208 // vfmadd213ps %ymm0,%ymm1,%ymm2 .byte 197,252,17,84,36,96 // vmovups %ymm2,0x60(%rsp) .byte 197,252,16,132,36,32,4,0,0 // vmovups 0x420(%rsp),%ymm0 .byte 197,252,16,148,36,0,3,0,0 // vmovups 0x300(%rsp),%ymm2 .byte 197,252,92,194 // vsubps %ymm2,%ymm0,%ymm0 .byte 196,226,117,168,194 // vfmadd213ps %ymm2,%ymm1,%ymm0 .byte 197,252,17,68,36,64 // vmovups %ymm0,0x40(%rsp) .byte 197,252,16,68,36,160 // vmovups -0x60(%rsp),%ymm0 .byte 197,252,16,148,36,192,3,0,0 // vmovups 0x3c0(%rsp),%ymm2 .byte 197,236,92,248 // vsubps %ymm0,%ymm2,%ymm7 .byte 196,226,117,168,248 // vfmadd213ps %ymm0,%ymm1,%ymm7 .byte 197,252,16,132,36,0,4,0,0 // vmovups 0x400(%rsp),%ymm0 .byte 197,252,16,148,36,160,3,0,0 // vmovups 0x3a0(%rsp),%ymm2 .byte 197,108,92,192 // vsubps %ymm0,%ymm2,%ymm8 .byte 196,98,117,168,192 // vfmadd213ps %ymm0,%ymm1,%ymm8 .byte 197,252,16,132,36,224,3,0,0 // vmovups 0x3e0(%rsp),%ymm0 .byte 197,252,16,148,36,128,3,0,0 // vmovups 0x380(%rsp),%ymm2 .byte 197,236,92,240 // vsubps %ymm0,%ymm2,%ymm6 .byte 196,226,117,168,240 // vfmadd213ps %ymm0,%ymm1,%ymm6 .byte 197,252,16,132,36,32,3,0,0 // vmovups 0x320(%rsp),%ymm0 .byte 197,252,16,148,36,224,2,0,0 // vmovups 0x2e0(%rsp),%ymm2 .byte 197,236,92,208 // vsubps %ymm0,%ymm2,%ymm2 .byte 196,226,117,168,208 // vfmadd213ps %ymm0,%ymm1,%ymm2 .byte 197,252,17,84,36,32 // vmovups %ymm2,0x20(%rsp) .byte 197,252,16,132,36,64,3,0,0 // vmovups 0x340(%rsp),%ymm0 .byte 197,252,16,148,36,192,2,0,0 // vmovups 0x2c0(%rsp),%ymm2 .byte 197,236,92,208 // vsubps %ymm0,%ymm2,%ymm2 .byte 196,226,117,168,208 // vfmadd213ps %ymm0,%ymm1,%ymm2 .byte 197,252,17,20,36 // vmovups %ymm2,(%rsp) .byte 197,252,16,132,36,160,2,0,0 // vmovups 0x2a0(%rsp),%ymm0 .byte 197,252,16,148,36,128,2,0,0 // vmovups 0x280(%rsp),%ymm2 .byte 197,252,92,194 // vsubps %ymm2,%ymm0,%ymm0 .byte 196,226,117,168,194 // vfmadd213ps %ymm2,%ymm1,%ymm0 .byte 197,252,17,68,36,224 // vmovups %ymm0,-0x20(%rsp) .byte 197,252,16,68,36,128 // vmovups -0x80(%rsp),%ymm0 .byte 197,252,16,148,36,64,2,0,0 // vmovups 0x240(%rsp),%ymm2 .byte 197,236,92,208 // vsubps %ymm0,%ymm2,%ymm2 .byte 196,226,117,168,208 // vfmadd213ps %ymm0,%ymm1,%ymm2 .byte 197,252,16,132,36,96,2,0,0 // vmovups 0x260(%rsp),%ymm0 .byte 197,252,16,156,36,32,2,0,0 // vmovups 0x220(%rsp),%ymm3 .byte 197,228,92,216 // vsubps %ymm0,%ymm3,%ymm3 .byte 196,226,117,168,216 // vfmadd213ps %ymm0,%ymm1,%ymm3 .byte 197,252,16,132,36,0,2,0,0 // vmovups 0x200(%rsp),%ymm0 .byte 197,252,16,172,36,224,1,0,0 // vmovups 0x1e0(%rsp),%ymm5 .byte 197,252,92,229 // vsubps %ymm5,%ymm0,%ymm4 .byte 196,226,117,168,229 // vfmadd213ps %ymm5,%ymm1,%ymm4 .byte 197,252,16,132,36,192,1,0,0 // vmovups 0x1c0(%rsp),%ymm0 .byte 197,252,16,172,36,128,1,0,0 // vmovups 0x180(%rsp),%ymm5 .byte 197,84,92,232 // vsubps %ymm0,%ymm5,%ymm13 .byte 196,98,117,168,232 // vfmadd213ps %ymm0,%ymm1,%ymm13 .byte 197,252,16,132,36,96,1,0,0 // vmovups 0x160(%rsp),%ymm0 .byte 196,193,124,92,196 // vsubps %ymm12,%ymm0,%ymm0 .byte 196,194,117,168,196 // vfmadd213ps %ymm12,%ymm1,%ymm0 .byte 197,252,17,68,36,192 // vmovups %ymm0,-0x40(%rsp) .byte 197,252,16,132,36,160,1,0,0 // vmovups 0x1a0(%rsp),%ymm0 .byte 197,252,16,172,36,64,1,0,0 // vmovups 0x140(%rsp),%ymm5 .byte 197,84,92,224 // vsubps %ymm0,%ymm5,%ymm12 .byte 196,98,117,168,224 // vfmadd213ps %ymm0,%ymm1,%ymm12 .byte 197,252,91,140,36,32,6,0,0 // vcvtdq2ps 0x620(%rsp),%ymm1 .byte 197,252,16,132,36,0,6,0,0 // vmovups 0x600(%rsp),%ymm0 .byte 197,252,92,201 // vsubps %ymm1,%ymm0,%ymm1 .byte 197,252,16,132,36,224,0,0,0 // vmovups 0xe0(%rsp),%ymm0 .byte 196,193,124,92,199 // vsubps %ymm15,%ymm0,%ymm0 .byte 196,194,117,168,199 // vfmadd213ps %ymm15,%ymm1,%ymm0 .byte 197,252,16,172,36,192,0,0,0 // vmovups 0xc0(%rsp),%ymm5 .byte 196,65,84,92,254 // vsubps %ymm14,%ymm5,%ymm15 .byte 196,66,117,168,254 // vfmadd213ps %ymm14,%ymm1,%ymm15 .byte 197,252,16,172,36,0,1,0,0 // vmovups 0x100(%rsp),%ymm5 .byte 197,124,16,180,36,160,0,0,0 // vmovups 0xa0(%rsp),%ymm14 .byte 197,12,92,245 // vsubps %ymm5,%ymm14,%ymm14 .byte 196,98,117,168,245 // vfmadd213ps %ymm5,%ymm1,%ymm14 .byte 197,252,16,172,36,128,0,0,0 // vmovups 0x80(%rsp),%ymm5 .byte 196,193,84,92,234 // vsubps %ymm10,%ymm5,%ymm5 .byte 196,194,117,168,234 // vfmadd213ps %ymm10,%ymm1,%ymm5 .byte 197,124,16,84,36,96 // vmovups 0x60(%rsp),%ymm10 .byte 196,65,44,92,211 // vsubps %ymm11,%ymm10,%ymm10 .byte 196,66,117,168,211 // vfmadd213ps %ymm11,%ymm1,%ymm10 .byte 197,124,16,92,36,64 // vmovups 0x40(%rsp),%ymm11 .byte 196,65,36,92,217 // vsubps %ymm9,%ymm11,%ymm11 .byte 196,66,117,168,217 // vfmadd213ps %ymm9,%ymm1,%ymm11 .byte 197,124,16,76,36,32 // vmovups 0x20(%rsp),%ymm9 .byte 197,52,92,207 // vsubps %ymm7,%ymm9,%ymm9 .byte 196,98,117,168,207 // vfmadd213ps %ymm7,%ymm1,%ymm9 .byte 197,252,16,60,36 // vmovups (%rsp),%ymm7 .byte 196,193,68,92,248 // vsubps %ymm8,%ymm7,%ymm7 .byte 196,194,117,168,248 // vfmadd213ps %ymm8,%ymm1,%ymm7 .byte 197,124,16,68,36,224 // vmovups -0x20(%rsp),%ymm8 .byte 197,60,92,198 // vsubps %ymm6,%ymm8,%ymm8 .byte 196,98,117,168,198 // vfmadd213ps %ymm6,%ymm1,%ymm8 .byte 197,148,92,242 // vsubps %ymm2,%ymm13,%ymm6 .byte 196,226,117,168,242 // vfmadd213ps %ymm2,%ymm1,%ymm6 .byte 197,252,16,84,36,192 // vmovups -0x40(%rsp),%ymm2 .byte 197,236,92,211 // vsubps %ymm3,%ymm2,%ymm2 .byte 196,226,117,168,211 // vfmadd213ps %ymm3,%ymm1,%ymm2 .byte 197,156,92,220 // vsubps %ymm4,%ymm12,%ymm3 .byte 196,226,117,168,220 // vfmadd213ps %ymm4,%ymm1,%ymm3 .byte 197,252,91,140,36,64,6,0,0 // vcvtdq2ps 0x640(%rsp),%ymm1 .byte 197,252,16,164,36,224,5,0,0 // vmovups 0x5e0(%rsp),%ymm4 .byte 197,220,92,201 // vsubps %ymm1,%ymm4,%ymm1 .byte 197,212,92,224 // vsubps %ymm0,%ymm5,%ymm4 .byte 196,226,117,168,224 // vfmadd213ps %ymm0,%ymm1,%ymm4 .byte 196,193,44,92,239 // vsubps %ymm15,%ymm10,%ymm5 .byte 196,194,117,168,239 // vfmadd213ps %ymm15,%ymm1,%ymm5 .byte 196,65,36,92,214 // vsubps %ymm14,%ymm11,%ymm10 .byte 196,66,117,168,214 // vfmadd213ps %ymm14,%ymm1,%ymm10 .byte 196,193,76,92,193 // vsubps %ymm9,%ymm6,%ymm0 .byte 196,194,117,168,193 // vfmadd213ps %ymm9,%ymm1,%ymm0 .byte 197,236,92,215 // vsubps %ymm7,%ymm2,%ymm2 .byte 196,226,117,168,215 // vfmadd213ps %ymm7,%ymm1,%ymm2 .byte 196,193,100,92,216 // vsubps %ymm8,%ymm3,%ymm3 .byte 196,194,117,168,216 // vfmadd213ps %ymm8,%ymm1,%ymm3 .byte 197,252,91,140,36,192,5,0,0 // vcvtdq2ps 0x5c0(%rsp),%ymm1 .byte 197,252,16,180,36,32,1,0,0 // vmovups 0x120(%rsp),%ymm6 .byte 197,204,92,241 // vsubps %ymm1,%ymm6,%ymm6 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 196,226,77,168,196 // vfmadd213ps %ymm4,%ymm6,%ymm0 .byte 197,236,92,205 // vsubps %ymm5,%ymm2,%ymm1 .byte 196,226,77,168,205 // vfmadd213ps %ymm5,%ymm6,%ymm1 .byte 196,193,100,92,210 // vsubps %ymm10,%ymm3,%ymm2 .byte 196,194,77,168,210 // vfmadd213ps %ymm10,%ymm6,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,121,56,2,0 // vbroadcastss 0x23879(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,252,16,164,36,96,6,0,0 // vmovups 0x660(%rsp),%ymm4 .byte 197,252,16,172,36,128,6,0,0 // vmovups 0x680(%rsp),%ymm5 .byte 197,252,16,180,36,160,6,0,0 // vmovups 0x6a0(%rsp),%ymm6 .byte 197,252,16,188,36,192,6,0,0 // vmovups 0x6c0(%rsp),%ymm7 .byte 72,129,196,248,6,0,0 // add $0x6f8,%rsp .byte 255,224 // jmpq *%rax HIDDEN _sk_start_pipeline_avx .globl _sk_start_pipeline_avx FUNCTION(_sk_start_pipeline_avx) _sk_start_pipeline_avx: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,131,236,24 // sub $0x18,%rsp .byte 73,137,215 // mov %rdx,%r15 .byte 72,137,243 // mov %rsi,%rbx .byte 72,137,125,208 // mov %rdi,-0x30(%rbp) .byte 76,137,198 // mov %r8,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,197 // mov %rax,%r13 .byte 73,137,246 // mov %rsi,%r14 .byte 72,137,77,192 // mov %rcx,-0x40(%rbp) .byte 72,57,203 // cmp %rcx,%rbx .byte 115,83 // jae 763e <_sk_start_pipeline_avx+0x82> .byte 72,139,69,208 // mov -0x30(%rbp),%rax .byte 72,141,64,8 // lea 0x8(%rax),%rax .byte 72,137,69,200 // mov %rax,-0x38(%rbp) .byte 72,139,85,208 // mov -0x30(%rbp),%rdx .byte 76,57,125,200 // cmp %r15,-0x38(%rbp) .byte 119,35 // ja 7624 <_sk_start_pipeline_avx+0x68> .byte 76,139,101,208 // mov -0x30(%rbp),%r12 .byte 49,255 // xor %edi,%edi .byte 76,137,246 // mov %r14,%rsi .byte 76,137,226 // mov %r12,%rdx .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 73,141,84,36,8 // lea 0x8(%r12),%rdx .byte 73,131,196,16 // add $0x10,%r12 .byte 77,57,252 // cmp %r15,%r12 .byte 73,137,212 // mov %rdx,%r12 .byte 118,225 // jbe 7605 <_sk_start_pipeline_avx+0x49> .byte 76,137,255 // mov %r15,%rdi .byte 72,41,215 // sub %rdx,%rdi .byte 116,9 // je 7635 <_sk_start_pipeline_avx+0x79> .byte 76,137,246 // mov %r14,%rsi .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 72,255,195 // inc %rbx .byte 72,59,93,192 // cmp -0x40(%rbp),%rbx .byte 117,185 // jne 75f7 <_sk_start_pipeline_avx+0x3b> .byte 72,131,196,24 // add $0x18,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 197,248,119 // vzeroupper .byte 195 // retq HIDDEN _sk_just_return_avx .globl _sk_just_return_avx FUNCTION(_sk_just_return_avx) _sk_just_return_avx: .byte 195 // retq HIDDEN _sk_seed_shader_avx .globl _sk_seed_shader_avx FUNCTION(_sk_seed_shader_avx) _sk_seed_shader_avx: .byte 197,249,110,194 // vmovd %edx,%xmm0 .byte 197,249,112,192,0 // vpshufd $0x0,%xmm0,%xmm0 .byte 196,227,125,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 197,252,88,5,84,53,2,0 // vaddps 0x23554(%rip),%ymm0,%ymm0 # 2abc0 <_sk_srcover_rgba_8888_sse2_lowp+0x5ec> .byte 197,249,110,201 // vmovd %ecx,%xmm1 .byte 197,249,112,201,0 // vpshufd $0x0,%xmm1,%xmm1 .byte 196,227,117,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,21,124,55,2,0 // vbroadcastss 0x2377c(%rip),%ymm2 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 197,244,88,202 // vaddps %ymm2,%ymm1,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,21,113,55,2,0 // vbroadcastss 0x23771(%rip),%ymm2 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 197,204,87,246 // vxorps %ymm6,%ymm6,%ymm6 .byte 197,196,87,255 // vxorps %ymm7,%ymm7,%ymm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_dither_avx .globl _sk_dither_avx FUNCTION(_sk_dither_avx) _sk_dither_avx: .byte 197,121,110,194 // vmovd %edx,%xmm8 .byte 196,65,121,112,192,0 // vpshufd $0x0,%xmm8,%xmm8 .byte 197,57,254,13,17,57,2,0 // vpaddd 0x23911(%rip),%xmm8,%xmm9 # 2afd0 <_sk_srcover_rgba_8888_sse2_lowp+0x9fc> .byte 197,57,254,5,25,57,2,0 // vpaddd 0x23919(%rip),%xmm8,%xmm8 # 2afe0 <_sk_srcover_rgba_8888_sse2_lowp+0xa0c> .byte 196,67,53,24,208,1 // vinsertf128 $0x1,%xmm8,%ymm9,%ymm10 .byte 197,121,110,217 // vmovd %ecx,%xmm11 .byte 196,65,121,112,219,0 // vpshufd $0x0,%xmm11,%xmm11 .byte 196,67,37,24,219,1 // vinsertf128 $0x1,%xmm11,%ymm11,%ymm11 .byte 196,65,36,87,218 // vxorps %ymm10,%ymm11,%ymm11 .byte 196,98,125,24,21,33,55,2,0 // vbroadcastss 0x23721(%rip),%ymm10 # 2ae0c <_sk_srcover_rgba_8888_sse2_lowp+0x838> .byte 196,65,36,84,210 // vandps %ymm10,%ymm11,%ymm10 .byte 196,193,25,114,242,5 // vpslld $0x5,%xmm10,%xmm12 .byte 196,67,125,25,210,1 // vextractf128 $0x1,%ymm10,%xmm10 .byte 196,193,41,114,242,5 // vpslld $0x5,%xmm10,%xmm10 .byte 196,67,29,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm12,%ymm10 .byte 197,123,18,37,208,64,2,0 // vmovddup 0x240d0(%rip),%xmm12 # 2b7e0 <_sk_srcover_rgba_8888_sse2_lowp+0x120c> .byte 196,65,49,219,236 // vpand %xmm12,%xmm9,%xmm13 .byte 196,193,17,114,245,4 // vpslld $0x4,%xmm13,%xmm13 .byte 196,65,57,219,228 // vpand %xmm12,%xmm8,%xmm12 .byte 196,193,25,114,244,4 // vpslld $0x4,%xmm12,%xmm12 .byte 196,67,21,24,228,1 // vinsertf128 $0x1,%xmm12,%ymm13,%ymm12 .byte 196,98,125,24,45,223,54,2,0 // vbroadcastss 0x236df(%rip),%ymm13 # 2ae14 <_sk_srcover_rgba_8888_sse2_lowp+0x840> .byte 196,65,36,84,237 // vandps %ymm13,%ymm11,%ymm13 .byte 196,193,9,114,245,2 // vpslld $0x2,%xmm13,%xmm14 .byte 196,67,125,25,237,1 // vextractf128 $0x1,%ymm13,%xmm13 .byte 196,193,17,114,245,2 // vpslld $0x2,%xmm13,%xmm13 .byte 196,67,13,24,237,1 // vinsertf128 $0x1,%xmm13,%ymm14,%ymm13 .byte 197,123,18,53,142,64,2,0 // vmovddup 0x2408e(%rip),%xmm14 # 2b7e8 <_sk_srcover_rgba_8888_sse2_lowp+0x1214> .byte 196,65,49,219,254 // vpand %xmm14,%xmm9,%xmm15 .byte 196,65,1,254,255 // vpaddd %xmm15,%xmm15,%xmm15 .byte 196,65,57,219,246 // vpand %xmm14,%xmm8,%xmm14 .byte 196,65,9,254,246 // vpaddd %xmm14,%xmm14,%xmm14 .byte 196,67,5,24,246,1 // vinsertf128 $0x1,%xmm14,%ymm15,%ymm14 .byte 196,65,12,86,228 // vorps %ymm12,%ymm14,%ymm12 .byte 196,98,125,24,53,142,54,2,0 // vbroadcastss 0x2368e(%rip),%ymm14 # 2ae10 <_sk_srcover_rgba_8888_sse2_lowp+0x83c> .byte 196,65,36,84,222 // vandps %ymm14,%ymm11,%ymm11 .byte 196,193,9,114,211,1 // vpsrld $0x1,%xmm11,%xmm14 .byte 196,67,125,25,219,1 // vextractf128 $0x1,%ymm11,%xmm11 .byte 196,193,33,114,211,1 // vpsrld $0x1,%xmm11,%xmm11 .byte 196,67,13,24,219,1 // vinsertf128 $0x1,%xmm11,%ymm14,%ymm11 .byte 196,65,20,86,219 // vorps %ymm11,%ymm13,%ymm11 .byte 197,123,18,45,68,64,2,0 // vmovddup 0x24044(%rip),%xmm13 # 2b7f0 <_sk_srcover_rgba_8888_sse2_lowp+0x121c> .byte 196,65,49,219,205 // vpand %xmm13,%xmm9,%xmm9 .byte 196,65,57,219,197 // vpand %xmm13,%xmm8,%xmm8 .byte 196,193,49,114,209,2 // vpsrld $0x2,%xmm9,%xmm9 .byte 196,193,57,114,208,2 // vpsrld $0x2,%xmm8,%xmm8 .byte 196,67,53,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm9,%ymm8 .byte 196,65,28,86,192 // vorps %ymm8,%ymm12,%ymm8 .byte 196,65,60,86,194 // vorps %ymm10,%ymm8,%ymm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,65,60,86,195 // vorps %ymm11,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 196,98,125,24,13,49,54,2,0 // vbroadcastss 0x23631(%rip),%ymm9 # 2ae18 <_sk_srcover_rgba_8888_sse2_lowp+0x844> .byte 196,65,60,89,193 // vmulps %ymm9,%ymm8,%ymm8 .byte 196,98,125,24,13,39,54,2,0 // vbroadcastss 0x23627(%rip),%ymm9 # 2ae1c <_sk_srcover_rgba_8888_sse2_lowp+0x848> .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 196,98,125,24,8 // vbroadcastss (%rax),%ymm9 .byte 196,65,60,89,193 // vmulps %ymm9,%ymm8,%ymm8 .byte 197,188,88,192 // vaddps %ymm0,%ymm8,%ymm0 .byte 197,188,88,201 // vaddps %ymm1,%ymm8,%ymm1 .byte 197,188,88,210 // vaddps %ymm2,%ymm8,%ymm2 .byte 197,252,93,195 // vminps %ymm3,%ymm0,%ymm0 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,188,95,192 // vmaxps %ymm0,%ymm8,%ymm0 .byte 197,244,93,203 // vminps %ymm3,%ymm1,%ymm1 .byte 197,188,95,201 // vmaxps %ymm1,%ymm8,%ymm1 .byte 197,236,93,211 // vminps %ymm3,%ymm2,%ymm2 .byte 197,188,95,210 // vmaxps %ymm2,%ymm8,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_uniform_color_avx .globl _sk_uniform_color_avx FUNCTION(_sk_uniform_color_avx) _sk_uniform_color_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,0 // vbroadcastss (%rax),%ymm0 .byte 196,226,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm1 .byte 196,226,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm2 .byte 196,226,125,24,88,12 // vbroadcastss 0xc(%rax),%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_black_color_avx .globl _sk_black_color_avx FUNCTION(_sk_black_color_avx) _sk_black_color_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,175,53,2,0 // vbroadcastss 0x235af(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,150,53,2,0 // vbroadcastss 0x23596(%rip),%ymm0 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,53,53,2,0 // vbroadcastss 0x23535(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,243,52,2,0 // vbroadcastss 0x234f3(%rip),%ymm9 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,142,52,2,0 // vbroadcastss 0x2348e(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,109,52,2,0 // vbroadcastss 0x2346d(%rip),%ymm0 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,76,52,2,0 // vbroadcastss 0x2344c(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,27,52,2,0 // vbroadcastss 0x2341b(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,214,51,2,0 // vbroadcastss 0x233d6(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,60,92,207 // vsubps %ymm7,%ymm8,%ymm9 .byte 197,52,89,208 // vmulps %ymm0,%ymm9,%ymm10 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,60,89,220 // vmulps %ymm4,%ymm8,%ymm11 .byte 196,65,36,88,210 // vaddps %ymm10,%ymm11,%ymm10 .byte 197,252,89,196 // vmulps %ymm4,%ymm0,%ymm0 .byte 196,193,124,88,194 // vaddps %ymm10,%ymm0,%ymm0 .byte 197,52,89,209 // vmulps %ymm1,%ymm9,%ymm10 .byte 197,60,89,221 // vmulps %ymm5,%ymm8,%ymm11 .byte 196,65,36,88,210 // vaddps %ymm10,%ymm11,%ymm10 .byte 197,244,89,205 // vmulps %ymm5,%ymm1,%ymm1 .byte 196,193,116,88,202 // vaddps %ymm10,%ymm1,%ymm1 .byte 197,52,89,210 // vmulps %ymm2,%ymm9,%ymm10 .byte 197,60,89,222 // vmulps %ymm6,%ymm8,%ymm11 .byte 196,65,36,88,210 // vaddps %ymm10,%ymm11,%ymm10 .byte 197,236,89,214 // vmulps %ymm6,%ymm2,%ymm2 .byte 196,193,108,88,210 // vaddps %ymm10,%ymm2,%ymm2 .byte 197,52,89,203 // vmulps %ymm3,%ymm9,%ymm9 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 196,65,60,88,193 // vaddps %ymm9,%ymm8,%ymm8 .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 196,193,100,88,216 // vaddps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_plus__avx .globl _sk_plus__avx FUNCTION(_sk_plus__avx) _sk_plus__avx: .byte 197,252,88,196 // vaddps %ymm4,%ymm0,%ymm0 .byte 196,98,125,24,5,101,51,2,0 // vbroadcastss 0x23365(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 196,193,124,93,192 // vminps %ymm8,%ymm0,%ymm0 .byte 197,244,88,205 // vaddps %ymm5,%ymm1,%ymm1 .byte 196,193,116,93,200 // vminps %ymm8,%ymm1,%ymm1 .byte 197,236,88,214 // vaddps %ymm6,%ymm2,%ymm2 .byte 196,193,108,93,208 // vminps %ymm8,%ymm2,%ymm2 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 196,193,100,93,216 // vminps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_screen_avx .globl _sk_screen_avx FUNCTION(_sk_screen_avx) _sk_screen_avx: .byte 197,124,88,196 // vaddps %ymm4,%ymm0,%ymm8 .byte 197,252,89,196 // vmulps %ymm4,%ymm0,%ymm0 .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 197,116,88,197 // vaddps %ymm5,%ymm1,%ymm8 .byte 197,244,89,205 // vmulps %ymm5,%ymm1,%ymm1 .byte 197,188,92,201 // vsubps %ymm1,%ymm8,%ymm1 .byte 197,108,88,198 // vaddps %ymm6,%ymm2,%ymm8 .byte 197,236,89,214 // vmulps %ymm6,%ymm2,%ymm2 .byte 197,188,92,210 // vsubps %ymm2,%ymm8,%ymm2 .byte 197,100,88,199 // vaddps %ymm7,%ymm3,%ymm8 .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 197,188,92,219 // vsubps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xor__avx .globl _sk_xor__avx FUNCTION(_sk_xor__avx) _sk_xor__avx: .byte 196,98,125,24,5,4,51,2,0 // vbroadcastss 0x23304(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,128,50,2,0 // vbroadcastss 0x23280(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,40,50,2,0 // vbroadcastss 0x23228(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,196,49,2,0 // vbroadcastss 0x231c4(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,123,49,2,0 // vbroadcastss 0x2317b(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,98,49,2,0 // vbroadcastss 0x23162(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,60,92,207 // vsubps %ymm7,%ymm8,%ymm9 .byte 197,52,89,216 // vmulps %ymm0,%ymm9,%ymm11 .byte 196,65,44,87,210 // vxorps %ymm10,%ymm10,%ymm10 .byte 196,65,124,194,226,0 // vcmpeqps %ymm10,%ymm0,%ymm12 .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 197,68,92,236 // vsubps %ymm4,%ymm7,%ymm13 .byte 197,20,89,235 // vmulps %ymm3,%ymm13,%ymm13 .byte 197,252,83,192 // vrcpps %ymm0,%ymm0 .byte 197,148,89,192 // vmulps %ymm0,%ymm13,%ymm0 .byte 197,60,89,236 // vmulps %ymm4,%ymm8,%ymm13 .byte 197,196,93,192 // vminps %ymm0,%ymm7,%ymm0 .byte 197,196,92,192 // vsubps %ymm0,%ymm7,%ymm0 .byte 197,252,89,195 // vmulps %ymm3,%ymm0,%ymm0 .byte 197,164,88,192 // vaddps %ymm0,%ymm11,%ymm0 .byte 197,148,88,192 // vaddps %ymm0,%ymm13,%ymm0 .byte 196,195,125,74,197,192 // vblendvps %ymm12,%ymm13,%ymm0,%ymm0 .byte 197,92,194,231,0 // vcmpeqps %ymm7,%ymm4,%ymm12 .byte 197,36,88,220 // vaddps %ymm4,%ymm11,%ymm11 .byte 196,195,125,74,195,192 // vblendvps %ymm12,%ymm11,%ymm0,%ymm0 .byte 197,52,89,217 // vmulps %ymm1,%ymm9,%ymm11 .byte 196,65,116,194,226,0 // vcmpeqps %ymm10,%ymm1,%ymm12 .byte 197,68,92,237 // vsubps %ymm5,%ymm7,%ymm13 .byte 197,20,89,235 // vmulps %ymm3,%ymm13,%ymm13 .byte 197,252,83,201 // vrcpps %ymm1,%ymm1 .byte 197,148,89,201 // vmulps %ymm1,%ymm13,%ymm1 .byte 197,60,89,237 // vmulps %ymm5,%ymm8,%ymm13 .byte 197,196,93,201 // vminps %ymm1,%ymm7,%ymm1 .byte 197,196,92,201 // vsubps %ymm1,%ymm7,%ymm1 .byte 197,244,89,203 // vmulps %ymm3,%ymm1,%ymm1 .byte 197,164,88,201 // vaddps %ymm1,%ymm11,%ymm1 .byte 197,148,88,201 // vaddps %ymm1,%ymm13,%ymm1 .byte 196,195,117,74,205,192 // vblendvps %ymm12,%ymm13,%ymm1,%ymm1 .byte 197,84,194,231,0 // vcmpeqps %ymm7,%ymm5,%ymm12 .byte 197,36,88,221 // vaddps %ymm5,%ymm11,%ymm11 .byte 196,195,117,74,203,192 // vblendvps %ymm12,%ymm11,%ymm1,%ymm1 .byte 197,52,89,202 // vmulps %ymm2,%ymm9,%ymm9 .byte 196,65,108,194,210,0 // vcmpeqps %ymm10,%ymm2,%ymm10 .byte 197,68,92,222 // vsubps %ymm6,%ymm7,%ymm11 .byte 197,36,89,219 // vmulps %ymm3,%ymm11,%ymm11 .byte 197,252,83,210 // vrcpps %ymm2,%ymm2 .byte 197,164,89,210 // vmulps %ymm2,%ymm11,%ymm2 .byte 197,60,89,222 // vmulps %ymm6,%ymm8,%ymm11 .byte 197,196,93,210 // vminps %ymm2,%ymm7,%ymm2 .byte 197,196,92,210 // vsubps %ymm2,%ymm7,%ymm2 .byte 197,236,89,211 // vmulps %ymm3,%ymm2,%ymm2 .byte 197,180,88,210 // vaddps %ymm2,%ymm9,%ymm2 .byte 197,164,88,210 // vaddps %ymm2,%ymm11,%ymm2 .byte 196,195,109,74,211,160 // vblendvps %ymm10,%ymm11,%ymm2,%ymm2 .byte 197,76,194,215,0 // vcmpeqps %ymm7,%ymm6,%ymm10 .byte 197,52,88,206 // vaddps %ymm6,%ymm9,%ymm9 .byte 196,195,109,74,209,160 // vblendvps %ymm10,%ymm9,%ymm2,%ymm2 .byte 197,60,89,199 // vmulps %ymm7,%ymm8,%ymm8 .byte 197,188,88,219 // vaddps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_colordodge_avx .globl _sk_colordodge_avx FUNCTION(_sk_colordodge_avx) _sk_colordodge_avx: .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 196,98,125,24,13,102,48,2,0 // vbroadcastss 0x23066(%rip),%ymm9 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,52,92,215 // vsubps %ymm7,%ymm9,%ymm10 .byte 197,44,89,216 // vmulps %ymm0,%ymm10,%ymm11 .byte 197,52,92,203 // vsubps %ymm3,%ymm9,%ymm9 .byte 197,100,89,228 // vmulps %ymm4,%ymm3,%ymm12 .byte 197,100,92,232 // vsubps %ymm0,%ymm3,%ymm13 .byte 196,65,124,83,237 // vrcpps %ymm13,%ymm13 .byte 196,65,28,89,229 // vmulps %ymm13,%ymm12,%ymm12 .byte 197,52,89,236 // vmulps %ymm4,%ymm9,%ymm13 .byte 196,65,68,93,228 // vminps %ymm12,%ymm7,%ymm12 .byte 197,28,89,227 // vmulps %ymm3,%ymm12,%ymm12 .byte 196,65,36,88,228 // vaddps %ymm12,%ymm11,%ymm12 .byte 196,65,20,88,228 // vaddps %ymm12,%ymm13,%ymm12 .byte 197,20,88,232 // vaddps %ymm0,%ymm13,%ymm13 .byte 197,252,194,195,0 // vcmpeqps %ymm3,%ymm0,%ymm0 .byte 196,195,29,74,197,0 // vblendvps %ymm0,%ymm13,%ymm12,%ymm0 .byte 196,65,92,194,224,0 // vcmpeqps %ymm8,%ymm4,%ymm12 .byte 196,195,125,74,195,192 // vblendvps %ymm12,%ymm11,%ymm0,%ymm0 .byte 197,44,89,217 // vmulps %ymm1,%ymm10,%ymm11 .byte 197,100,89,229 // vmulps %ymm5,%ymm3,%ymm12 .byte 197,100,92,233 // vsubps %ymm1,%ymm3,%ymm13 .byte 196,65,124,83,237 // vrcpps %ymm13,%ymm13 .byte 196,65,28,89,229 // vmulps %ymm13,%ymm12,%ymm12 .byte 197,52,89,237 // vmulps %ymm5,%ymm9,%ymm13 .byte 196,65,68,93,228 // vminps %ymm12,%ymm7,%ymm12 .byte 197,28,89,227 // vmulps %ymm3,%ymm12,%ymm12 .byte 196,65,36,88,228 // vaddps %ymm12,%ymm11,%ymm12 .byte 196,65,20,88,228 // vaddps %ymm12,%ymm13,%ymm12 .byte 197,20,88,233 // vaddps %ymm1,%ymm13,%ymm13 .byte 197,244,194,203,0 // vcmpeqps %ymm3,%ymm1,%ymm1 .byte 196,195,29,74,205,16 // vblendvps %ymm1,%ymm13,%ymm12,%ymm1 .byte 196,65,84,194,224,0 // vcmpeqps %ymm8,%ymm5,%ymm12 .byte 196,195,117,74,203,192 // vblendvps %ymm12,%ymm11,%ymm1,%ymm1 .byte 197,44,89,210 // vmulps %ymm2,%ymm10,%ymm10 .byte 197,100,89,222 // vmulps %ymm6,%ymm3,%ymm11 .byte 197,100,92,226 // vsubps %ymm2,%ymm3,%ymm12 .byte 196,65,124,83,228 // vrcpps %ymm12,%ymm12 .byte 196,65,36,89,220 // vmulps %ymm12,%ymm11,%ymm11 .byte 197,52,89,230 // vmulps %ymm6,%ymm9,%ymm12 .byte 196,65,68,93,219 // vminps %ymm11,%ymm7,%ymm11 .byte 197,36,89,219 // vmulps %ymm3,%ymm11,%ymm11 .byte 196,65,44,88,219 // vaddps %ymm11,%ymm10,%ymm11 .byte 196,65,28,88,219 // vaddps %ymm11,%ymm12,%ymm11 .byte 197,28,88,226 // vaddps %ymm2,%ymm12,%ymm12 .byte 197,236,194,211,0 // vcmpeqps %ymm3,%ymm2,%ymm2 .byte 196,195,37,74,212,32 // vblendvps %ymm2,%ymm12,%ymm11,%ymm2 .byte 196,65,76,194,192,0 // vcmpeqps %ymm8,%ymm6,%ymm8 .byte 196,195,109,74,210,128 // vblendvps %ymm8,%ymm10,%ymm2,%ymm2 .byte 197,52,89,199 // vmulps %ymm7,%ymm9,%ymm8 .byte 197,188,88,219 // vaddps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_hardlight_avx .globl _sk_hardlight_avx FUNCTION(_sk_hardlight_avx) _sk_hardlight_avx: .byte 196,98,125,24,5,113,47,2,0 // vbroadcastss 0x22f71(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,150,46,2,0 // vbroadcastss 0x22e96(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,157,45,2,0 // vbroadcastss 0x22d9d(%rip),%ymm11 # 2ae20 <_sk_srcover_rgba_8888_sse2_lowp+0x84c> .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,142,45,2,0 // vbroadcastss 0x22d8e(%rip),%ymm13 # 2ae24 <_sk_srcover_rgba_8888_sse2_lowp+0x850> .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,56,45,2,0 // vbroadcastss 0x22d38(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,27,43,2,0 // vbroadcastss 0x22b1b(%rip),%ymm14 # 2ae28 <_sk_srcover_rgba_8888_sse2_lowp+0x854> .byte 196,65,92,89,222 // vmulps %ymm14,%ymm4,%ymm11 .byte 196,98,125,24,61,17,43,2,0 // vbroadcastss 0x22b11(%rip),%ymm15 # 2ae2c <_sk_srcover_rgba_8888_sse2_lowp+0x858> .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,2,43,2,0 // vbroadcastss 0x22b02(%rip),%ymm0 # 2ae30 <_sk_srcover_rgba_8888_sse2_lowp+0x85c> .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,175,41,2,0 // vbroadcastss 0x229af(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,217,40,2,0 // vbroadcastss 0x228d9(%rip),%ymm14 # 2ae28 <_sk_srcover_rgba_8888_sse2_lowp+0x854> .byte 196,65,92,89,222 // vmulps %ymm14,%ymm4,%ymm11 .byte 196,98,125,24,61,207,40,2,0 // vbroadcastss 0x228cf(%rip),%ymm15 # 2ae2c <_sk_srcover_rgba_8888_sse2_lowp+0x858> .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,192,40,2,0 // vbroadcastss 0x228c0(%rip),%ymm0 # 2ae30 <_sk_srcover_rgba_8888_sse2_lowp+0x85c> .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,109,39,2,0 // vbroadcastss 0x2276d(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,31,39,2,0 // vbroadcastss 0x2271f(%rip),%ymm13 # 2ae28 <_sk_srcover_rgba_8888_sse2_lowp+0x854> .byte 196,65,92,89,213 // vmulps %ymm13,%ymm4,%ymm10 .byte 196,98,125,24,53,21,39,2,0 // vbroadcastss 0x22715(%rip),%ymm14 # 2ae2c <_sk_srcover_rgba_8888_sse2_lowp+0x858> .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,6,39,2,0 // vbroadcastss 0x22706(%rip),%ymm15 # 2ae30 <_sk_srcover_rgba_8888_sse2_lowp+0x85c> .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,161,37,2,0 // vbroadcastss 0x225a1(%rip),%ymm0 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,79,37,2,0 // vbroadcastss 0x2254f(%rip),%ymm13 # 2ae28 <_sk_srcover_rgba_8888_sse2_lowp+0x854> .byte 196,65,108,89,213 // vmulps %ymm13,%ymm2,%ymm10 .byte 196,98,125,24,53,69,37,2,0 // vbroadcastss 0x22545(%rip),%ymm14 # 2ae2c <_sk_srcover_rgba_8888_sse2_lowp+0x858> .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,54,37,2,0 // vbroadcastss 0x22536(%rip),%ymm15 # 2ae30 <_sk_srcover_rgba_8888_sse2_lowp+0x85c> .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,209,35,2,0 // vbroadcastss 0x223d1(%rip),%ymm0 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,124,92,215 // vsubps %ymm7,%ymm0,%ymm10 .byte 197,172,89,210 // vmulps %ymm2,%ymm10,%ymm2 .byte 197,124,92,219 // vsubps %ymm3,%ymm0,%ymm11 .byte 197,164,89,196 // vmulps %ymm4,%ymm11,%ymm0 .byte 197,252,88,194 // vaddps %ymm2,%ymm0,%ymm0 .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 197,172,89,76,36,200 // vmulps -0x38(%rsp),%ymm10,%ymm1 .byte 197,164,89,213 // vmulps %ymm5,%ymm11,%ymm2 .byte 197,236,88,201 // vaddps %ymm1,%ymm2,%ymm1 .byte 196,193,116,88,201 // vaddps %ymm9,%ymm1,%ymm1 .byte 197,172,89,84,36,168 // vmulps -0x58(%rsp),%ymm10,%ymm2 .byte 197,36,89,206 // vmulps %ymm6,%ymm11,%ymm9 .byte 197,180,88,210 // vaddps %ymm2,%ymm9,%ymm2 .byte 196,193,108,88,208 // vaddps %ymm8,%ymm2,%ymm2 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 196,193,100,92,220 // vsubps %ymm12,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcover_rgba_8888_avx .globl _sk_srcover_rgba_8888_avx FUNCTION(_sk_srcover_rgba_8888_avx) _sk_srcover_rgba_8888_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,42,1,0,0 // jne 8bcc <_sk_srcover_rgba_8888_avx+0x14a> .byte 196,1,125,16,4,152 // vmovupd (%r8,%r11,4),%ymm8 .byte 197,125,40,13,48,33,2,0 // vmovapd 0x22130(%rip),%ymm9 # 2abe0 <_sk_srcover_rgba_8888_sse2_lowp+0x60c> .byte 196,193,61,84,225 // vandpd %ymm9,%ymm8,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,193,81,114,208,8 // vpsrld $0x8,%xmm8,%xmm5 .byte 196,99,125,25,199,1 // vextractf128 $0x1,%ymm8,%xmm7 .byte 197,201,114,215,8 // vpsrld $0x8,%xmm7,%xmm6 .byte 196,227,85,24,238,1 // vinsertf128 $0x1,%xmm6,%ymm5,%ymm5 .byte 196,193,85,84,233 // vandpd %ymm9,%ymm5,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,193,41,114,208,16 // vpsrld $0x10,%xmm8,%xmm10 .byte 197,201,114,215,16 // vpsrld $0x10,%xmm7,%xmm6 .byte 196,227,45,24,246,1 // vinsertf128 $0x1,%xmm6,%ymm10,%ymm6 .byte 196,193,77,84,241 // vandpd %ymm9,%ymm6,%ymm6 .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 196,193,57,114,208,24 // vpsrld $0x18,%xmm8,%xmm8 .byte 197,193,114,215,24 // vpsrld $0x18,%xmm7,%xmm7 .byte 196,227,61,24,255,1 // vinsertf128 $0x1,%xmm7,%ymm8,%ymm7 .byte 197,252,91,255 // vcvtdq2ps %ymm7,%ymm7 .byte 196,98,125,24,5,247,34,2,0 // vbroadcastss 0x222f7(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,60,92,195 // vsubps %ymm3,%ymm8,%ymm8 .byte 196,98,125,24,13,22,35,2,0 // vbroadcastss 0x22316(%rip),%ymm9 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .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 72,133,255 // test %rdi,%rdi .byte 117,66 // jne 8c04 <_sk_srcover_rgba_8888_avx+0x182> .byte 196,1,124,17,4,152 // vmovups %ymm8,(%r8,%r11,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,195,254,255,255 // ja 8aa8 <_sk_srcover_rgba_8888_avx+0x26> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,4,1,0,0 // lea 0x104(%rip),%r10 # 8cf4 <_sk_srcover_rgba_8888_avx+0x272> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,1,122,16,4,152 // vmovss (%r8,%r11,4),%xmm8 .byte 233,164,254,255,255 // jmpq 8aa8 <_sk_srcover_rgba_8888_avx+0x26> .byte 65,137,249 // mov %edi,%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,180 // ja 8bc8 <_sk_srcover_rgba_8888_avx+0x146> .byte 65,15,182,193 // movzbl %r9b,%eax .byte 76,141,13,241,0,0,0 // lea 0xf1(%rip),%r9 # 8d10 <_sk_srcover_rgba_8888_avx+0x28e> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 196,1,121,126,4,152 // vmovd %xmm8,(%r8,%r11,4) .byte 235,152 // jmp 8bc8 <_sk_srcover_rgba_8888_avx+0x146> .byte 196,129,121,110,100,152,8 // vmovd 0x8(%r8,%r11,4),%xmm4 .byte 197,249,112,228,68 // vpshufd $0x44,%xmm4,%xmm4 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 196,99,85,12,196,4 // vblendps $0x4,%ymm4,%ymm5,%ymm8 .byte 196,129,123,16,36,152 // vmovsd (%r8,%r11,4),%xmm4 .byte 196,99,61,13,196,1 // vblendpd $0x1,%ymm4,%ymm8,%ymm8 .byte 233,81,254,255,255 // jmpq 8aa8 <_sk_srcover_rgba_8888_avx+0x26> .byte 196,129,121,110,100,152,24 // vmovd 0x18(%r8,%r11,4),%xmm4 .byte 197,249,112,228,68 // vpshufd $0x44,%xmm4,%xmm4 .byte 196,227,125,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm0,%ymm4 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 196,99,85,12,196,64 // vblendps $0x40,%ymm4,%ymm5,%ymm8 .byte 196,99,125,25,196,1 // vextractf128 $0x1,%ymm8,%xmm4 .byte 196,131,89,34,100,152,20,1 // vpinsrd $0x1,0x14(%r8,%r11,4),%xmm4,%xmm4 .byte 196,99,61,24,196,1 // vinsertf128 $0x1,%xmm4,%ymm8,%ymm8 .byte 196,99,125,25,196,1 // vextractf128 $0x1,%ymm8,%xmm4 .byte 196,131,89,34,100,152,16,0 // vpinsrd $0x0,0x10(%r8,%r11,4),%xmm4,%xmm4 .byte 196,99,61,24,196,1 // vinsertf128 $0x1,%xmm4,%ymm8,%ymm8 .byte 196,129,121,16,36,152 // vmovupd (%r8,%r11,4),%xmm4 .byte 196,67,93,13,192,12 // vblendpd $0xc,%ymm8,%ymm4,%ymm8 .byte 233,252,253,255,255 // jmpq 8aa8 <_sk_srcover_rgba_8888_avx+0x26> .byte 196,3,121,22,68,152,8,2 // vpextrd $0x2,%xmm8,0x8(%r8,%r11,4) .byte 196,1,121,214,4,152 // vmovq %xmm8,(%r8,%r11,4) .byte 233,9,255,255,255 // jmpq 8bc8 <_sk_srcover_rgba_8888_avx+0x146> .byte 196,67,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm9 .byte 196,3,121,22,76,152,24,2 // vpextrd $0x2,%xmm9,0x18(%r8,%r11,4) .byte 196,67,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm9 .byte 196,3,121,22,76,152,20,1 // vpextrd $0x1,%xmm9,0x14(%r8,%r11,4) .byte 196,67,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm9 .byte 196,1,122,17,76,152,16 // vmovss %xmm9,0x10(%r8,%r11,4) .byte 196,1,121,17,4,152 // vmovupd %xmm8,(%r8,%r11,4) .byte 233,213,254,255,255 // jmpq 8bc8 <_sk_srcover_rgba_8888_avx+0x146> .byte 144 // nop .byte 5,255,255,255,82 // add $0x52ffffff,%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 60,255 // cmp $0xff,%al .byte 255 // (bad) .byte 255,167,255,255,255,147 // jmpq *-0x6c000001(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 127,255 // jg 8d09 <_sk_srcover_rgba_8888_avx+0x287> .byte 255 // (bad) .byte 255,99,255 // jmpq *-0x1(%rbx) .byte 255 // (bad) .byte 255,24 // lcall *(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255,164,255,255,255,156,255 // jmpq *-0x630001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // (bad) .byte 216,255 // fdivr %st(7),%st .byte 255 // (bad) .byte 255,203 // dec %ebx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 189,255,255,255,175 // mov $0xafffffff,%ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_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,182,32,2,0 // vbroadcastss 0x220b6(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,149,32,2,0 // vbroadcastss 0x22095(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,119,32,2,0 // vbroadcastss 0x22077(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 196,193,68,93,248 // vminps %ymm8,%ymm7,%ymm7 .byte 197,220,93,231 // vminps %ymm7,%ymm4,%ymm4 .byte 197,212,93,239 // vminps %ymm7,%ymm5,%ymm5 .byte 197,204,93,247 // vminps %ymm7,%ymm6,%ymm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_set_rgb_avx .globl _sk_set_rgb_avx FUNCTION(_sk_set_rgb_avx) _sk_set_rgb_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,0 // vbroadcastss (%rax),%ymm0 .byte 196,226,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm1 .byte 196,226,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_swap_rb_avx .globl _sk_swap_rb_avx FUNCTION(_sk_swap_rb_avx) _sk_swap_rb_avx: .byte 197,124,40,192 // vmovaps %ymm0,%ymm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,194 // vmovaps %ymm2,%ymm0 .byte 197,124,41,194 // vmovaps %ymm8,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_invert_avx .globl _sk_invert_avx FUNCTION(_sk_invert_avx) _sk_invert_avx: .byte 196,98,125,24,5,50,32,2,0 // vbroadcastss 0x22032(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,188,92,192 // vsubps %ymm0,%ymm8,%ymm0 .byte 197,188,92,201 // vsubps %ymm1,%ymm8,%ymm1 .byte 197,188,92,210 // vsubps %ymm2,%ymm8,%ymm2 .byte 197,188,92,219 // vsubps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_move_src_dst_avx .globl _sk_move_src_dst_avx FUNCTION(_sk_move_src_dst_avx) _sk_move_src_dst_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,224 // vmovaps %ymm0,%ymm4 .byte 197,252,40,233 // vmovaps %ymm1,%ymm5 .byte 197,252,40,242 // vmovaps %ymm2,%ymm6 .byte 197,252,40,251 // vmovaps %ymm3,%ymm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_dst_src_avx .globl _sk_move_dst_src_avx FUNCTION(_sk_move_dst_src_avx) _sk_move_dst_src_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,196 // vmovaps %ymm4,%ymm0 .byte 197,252,40,205 // vmovaps %ymm5,%ymm1 .byte 197,252,40,214 // vmovaps %ymm6,%ymm2 .byte 197,252,40,223 // vmovaps %ymm7,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_avx .globl _sk_premul_avx FUNCTION(_sk_premul_avx) _sk_premul_avx: .byte 197,252,89,195 // vmulps %ymm3,%ymm0,%ymm0 .byte 197,244,89,203 // vmulps %ymm3,%ymm1,%ymm1 .byte 197,236,89,211 // vmulps %ymm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_dst_avx .globl _sk_premul_dst_avx FUNCTION(_sk_premul_dst_avx) _sk_premul_dst_avx: .byte 197,220,89,231 // vmulps %ymm7,%ymm4,%ymm4 .byte 197,212,89,239 // vmulps %ymm7,%ymm5,%ymm5 .byte 197,204,89,247 // vmulps %ymm7,%ymm6,%ymm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_unpremul_avx .globl _sk_unpremul_avx FUNCTION(_sk_unpremul_avx) _sk_unpremul_avx: .byte 196,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,194,31,2,0 // vbroadcastss 0x21fc2(%rip),%ymm10 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,207,31,2,0 // vbroadcastss 0x21fcf(%rip),%ymm8 # 2ae38 <_sk_srcover_rgba_8888_sse2_lowp+0x864> .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,173,31,2,0 // vbroadcastss 0x21fad(%rip),%ymm11 # 2ae28 <_sk_srcover_rgba_8888_sse2_lowp+0x854> .byte 196,65,124,89,227 // vmulps %ymm11,%ymm0,%ymm12 .byte 196,98,125,24,45,179,31,2,0 // vbroadcastss 0x21fb3(%rip),%ymm13 # 2ae3c <_sk_srcover_rgba_8888_sse2_lowp+0x868> .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,164,31,2,0 // vbroadcastss 0x21fa4(%rip),%ymm12 # 2ae40 <_sk_srcover_rgba_8888_sse2_lowp+0x86c> .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,98,125,24,53,154,31,2,0 // vbroadcastss 0x21f9a(%rip),%ymm14 # 2ae44 <_sk_srcover_rgba_8888_sse2_lowp+0x870> .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,35,31,2,0 // vbroadcastss 0x21f23(%rip),%ymm8 # 2ae38 <_sk_srcover_rgba_8888_sse2_lowp+0x864> .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,1,31,2,0 // vbroadcastss 0x21f01(%rip),%ymm11 # 2ae28 <_sk_srcover_rgba_8888_sse2_lowp+0x854> .byte 196,65,92,89,227 // vmulps %ymm11,%ymm4,%ymm12 .byte 196,98,125,24,45,7,31,2,0 // vbroadcastss 0x21f07(%rip),%ymm13 # 2ae3c <_sk_srcover_rgba_8888_sse2_lowp+0x868> .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,248,30,2,0 // vbroadcastss 0x21ef8(%rip),%ymm12 # 2ae40 <_sk_srcover_rgba_8888_sse2_lowp+0x86c> .byte 196,65,44,88,212 // vaddps %ymm12,%ymm10,%ymm10 .byte 196,98,125,24,53,238,30,2,0 // vbroadcastss 0x21eee(%rip),%ymm14 # 2ae44 <_sk_srcover_rgba_8888_sse2_lowp+0x870> .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,131,30,2,0 // vbroadcastss 0x21e83(%rip),%ymm8 # 2ae48 <_sk_srcover_rgba_8888_sse2_lowp+0x874> .byte 196,65,124,89,208 // vmulps %ymm8,%ymm0,%ymm10 .byte 196,98,125,24,29,125,30,2,0 // vbroadcastss 0x21e7d(%rip),%ymm11 # 2ae50 <_sk_srcover_rgba_8888_sse2_lowp+0x87c> .byte 196,65,52,89,227 // vmulps %ymm11,%ymm9,%ymm12 .byte 196,98,125,24,45,107,30,2,0 // vbroadcastss 0x21e6b(%rip),%ymm13 # 2ae4c <_sk_srcover_rgba_8888_sse2_lowp+0x878> .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,96,30,2,0 // vbroadcastss 0x21e60(%rip),%ymm14 # 2ae54 <_sk_srcover_rgba_8888_sse2_lowp+0x880> .byte 196,65,28,88,230 // vaddps %ymm14,%ymm12,%ymm12 .byte 196,98,125,24,61,86,30,2,0 // vbroadcastss 0x21e56(%rip),%ymm15 # 2ae58 <_sk_srcover_rgba_8888_sse2_lowp+0x884> .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,66,30,2,0 // vbroadcastss 0x21e42(%rip),%ymm12 # 2ae5c <_sk_srcover_rgba_8888_sse2_lowp+0x888> .byte 196,193,124,194,196,1 // vcmpltps %ymm12,%ymm0,%ymm0 .byte 196,195,53,74,194,0 // vblendvps %ymm0,%ymm10,%ymm9,%ymm0 .byte 197,124,82,201 // vrsqrtps %ymm1,%ymm9 .byte 196,65,52,89,211 // vmulps %ymm11,%ymm9,%ymm10 .byte 196,65,44,88,213 // vaddps %ymm13,%ymm10,%ymm10 .byte 196,65,52,89,210 // vmulps %ymm10,%ymm9,%ymm10 .byte 196,65,44,88,214 // vaddps %ymm14,%ymm10,%ymm10 .byte 196,65,52,88,207 // vaddps %ymm15,%ymm9,%ymm9 .byte 196,65,124,83,201 // vrcpps %ymm9,%ymm9 .byte 196,65,52,89,202 // vmulps %ymm10,%ymm9,%ymm9 .byte 196,65,116,89,208 // vmulps %ymm8,%ymm1,%ymm10 .byte 196,193,116,194,204,1 // vcmpltps %ymm12,%ymm1,%ymm1 .byte 196,195,53,74,202,16 // vblendvps %ymm1,%ymm10,%ymm9,%ymm1 .byte 197,124,82,202 // vrsqrtps %ymm2,%ymm9 .byte 196,65,52,89,211 // vmulps %ymm11,%ymm9,%ymm10 .byte 196,65,44,88,213 // vaddps %ymm13,%ymm10,%ymm10 .byte 196,65,52,89,210 // vmulps %ymm10,%ymm9,%ymm10 .byte 196,65,44,88,214 // vaddps %ymm14,%ymm10,%ymm10 .byte 196,65,52,88,207 // vaddps %ymm15,%ymm9,%ymm9 .byte 196,65,124,83,201 // vrcpps %ymm9,%ymm9 .byte 196,65,52,89,202 // vmulps %ymm10,%ymm9,%ymm9 .byte 196,65,108,89,192 // vmulps %ymm8,%ymm2,%ymm8 .byte 196,193,108,194,212,1 // vcmpltps %ymm12,%ymm2,%ymm2 .byte 196,195,53,74,208,32 // vblendvps %ymm2,%ymm8,%ymm9,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_rgb_to_hsl_avx .globl _sk_rgb_to_hsl_avx FUNCTION(_sk_rgb_to_hsl_avx) _sk_rgb_to_hsl_avx: .byte 197,116,95,194 // vmaxps %ymm2,%ymm1,%ymm8 .byte 196,65,124,95,192 // vmaxps %ymm8,%ymm0,%ymm8 .byte 197,116,93,202 // vminps %ymm2,%ymm1,%ymm9 .byte 196,65,124,93,201 // vminps %ymm9,%ymm0,%ymm9 .byte 196,65,60,92,209 // vsubps %ymm9,%ymm8,%ymm10 .byte 196,98,125,24,29,78,29,2,0 // vbroadcastss 0x21d4e(%rip),%ymm11 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,123,29,2,0 // vbroadcastss 0x21d7b(%rip),%ymm11 # 2ae68 <_sk_srcover_rgba_8888_sse2_lowp+0x894> .byte 196,193,116,88,203 // vaddps %ymm11,%ymm1,%ymm1 .byte 196,98,125,24,29,105,29,2,0 // vbroadcastss 0x21d69(%rip),%ymm11 # 2ae64 <_sk_srcover_rgba_8888_sse2_lowp+0x890> .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,81,29,2,0 // vbroadcastss 0x21d51(%rip),%ymm2 # 2ae60 <_sk_srcover_rgba_8888_sse2_lowp+0x88c> .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,204,28,2,0 // vbroadcastss 0x21ccc(%rip),%ymm12 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,251,28,2,0 // vbroadcastss 0x21cfb(%rip),%ymm8 # 2ae6c <_sk_srcover_rgba_8888_sse2_lowp+0x898> .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,88,28,2,0 // vbroadcastss 0x21c58(%rip),%ymm8 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,154,28,2,0 // vbroadcastss 0x21c9a(%rip),%ymm11 # 2ae70 <_sk_srcover_rgba_8888_sse2_lowp+0x89c> .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,108,28,2,0 // vbroadcastss 0x21c6c(%rip),%ymm12 # 2ae60 <_sk_srcover_rgba_8888_sse2_lowp+0x88c> .byte 196,193,4,89,196 // vmulps %ymm12,%ymm15,%ymm0 .byte 196,98,125,24,45,102,28,2,0 // vbroadcastss 0x21c66(%rip),%ymm13 # 2ae68 <_sk_srcover_rgba_8888_sse2_lowp+0x894> .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,91,28,2,0 // vbroadcastss 0x21c5b(%rip),%ymm1 # 2ae74 <_sk_srcover_rgba_8888_sse2_lowp+0x8a0> .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,50,28,2,0 // vbroadcastss 0x21c32(%rip),%ymm14 # 2ae6c <_sk_srcover_rgba_8888_sse2_lowp+0x898> .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,220,27,2,0 // vbroadcastss 0x21bdc(%rip),%ymm0 # 2ae78 <_sk_srcover_rgba_8888_sse2_lowp+0x8a4> .byte 197,228,88,192 // vaddps %ymm0,%ymm3,%ymm0 .byte 196,227,125,8,216,1 // vroundps $0x1,%ymm0,%ymm3 .byte 197,252,92,195 // vsubps %ymm3,%ymm0,%ymm0 .byte 197,244,194,200,2 // vcmpleps %ymm0,%ymm1,%ymm1 .byte 196,193,124,89,220 // vmulps %ymm12,%ymm0,%ymm3 .byte 197,148,92,243 // vsubps %ymm3,%ymm13,%ymm6 .byte 197,164,89,246 // vmulps %ymm6,%ymm11,%ymm6 .byte 197,180,88,246 // vaddps %ymm6,%ymm9,%ymm6 .byte 196,195,77,74,201,16 // vblendvps %ymm1,%ymm9,%ymm6,%ymm1 .byte 197,188,194,240,2 // vcmpleps %ymm0,%ymm8,%ymm6 .byte 196,227,45,74,201,96 // vblendvps %ymm6,%ymm1,%ymm10,%ymm1 .byte 197,140,194,192,2 // vcmpleps %ymm0,%ymm14,%ymm0 .byte 197,164,89,219 // vmulps %ymm3,%ymm11,%ymm3 .byte 197,180,88,219 // vaddps %ymm3,%ymm9,%ymm3 .byte 196,227,101,74,217,0 // vblendvps %ymm0,%ymm1,%ymm3,%ymm3 .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,220,194,224,0 // vcmpeqps %ymm0,%ymm4,%ymm4 .byte 196,227,5,74,194,64 // vblendvps %ymm4,%ymm2,%ymm15,%ymm0 .byte 196,227,85,74,202,64 // vblendvps %ymm4,%ymm2,%ymm5,%ymm1 .byte 196,227,101,74,210,64 // vblendvps %ymm4,%ymm2,%ymm3,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,92,36,128 // vmovups -0x80(%rsp),%ymm3 .byte 197,252,16,100,36,160 // vmovups -0x60(%rsp),%ymm4 .byte 197,252,16,108,36,192 // vmovups -0x40(%rsp),%ymm5 .byte 197,252,16,116,36,224 // vmovups -0x20(%rsp),%ymm6 .byte 197,252,16,60,36 // vmovups (%rsp),%ymm7 .byte 72,131,196,56 // add $0x38,%rsp .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_1_float_avx .globl _sk_scale_1_float_avx FUNCTION(_sk_scale_1_float_avx) _sk_scale_1_float_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 197,188,89,219 // vmulps %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_u8_avx .globl _sk_scale_u8_avx FUNCTION(_sk_scale_u8_avx) _sk_scale_u8_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,75 // jne 93a2 <_sk_scale_u8_avx+0x63> .byte 196,2,121,48,4,24 // vpmovzxbw (%r8,%r11,1),%xmm8 .byte 197,57,219,5,59,28,2,0 // vpand 0x21c3b(%rip),%xmm8,%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 196,66,121,51,200 // vpmovzxwd %xmm8,%xmm9 .byte 196,65,121,112,192,78 // vpshufd $0x4e,%xmm8,%xmm8 .byte 196,66,121,51,192 // vpmovzxwd %xmm8,%xmm8 .byte 196,67,53,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm9,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 196,98,125,24,13,243,26,2,0 // vbroadcastss 0x21af3(%rip),%ymm9 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .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 65,137,249 // mov %edi,%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,166 // ja 935d <_sk_scale_u8_avx+0x1e> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,122,0,0,0 // lea 0x7a(%rip),%r10 # 943c <_sk_scale_u8_avx+0xfd> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,182,4,24 // movzbl (%r8,%r11,1),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 235,135 // jmp 935d <_sk_scale_u8_avx+0x1e> .byte 67,15,182,68,24,2 // movzbl 0x2(%r8,%r11,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,2 // vpinsrw $0x2,%eax,%xmm8,%xmm8 .byte 67,15,183,4,24 // movzwl (%r8,%r11,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,94,255,255,255 // jmpq 935d <_sk_scale_u8_avx+0x1e> .byte 67,15,182,68,24,6 // movzbl 0x6(%r8,%r11,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,6 // vpinsrw $0x6,%eax,%xmm8,%xmm8 .byte 67,15,182,68,24,5 // movzbl 0x5(%r8,%r11,1),%eax .byte 197,57,196,192,5 // vpinsrw $0x5,%eax,%xmm8,%xmm8 .byte 67,15,182,68,24,4 // movzbl 0x4(%r8,%r11,1),%eax .byte 197,57,196,192,4 // vpinsrw $0x4,%eax,%xmm8,%xmm8 .byte 196,1,121,110,12,24 // vmovd (%r8,%r11,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,34,255,255,255 // jmpq 935d <_sk_scale_u8_avx+0x1e> .byte 144 // nop .byte 143 // (bad) .byte 255 // (bad) .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 ffffffffdf00944c <_sk_srcover_rgba_8888_sse2_lowp+0xffffffffdefdee78> .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_scale_565_avx .globl _sk_scale_565_avx FUNCTION(_sk_scale_565_avx) _sk_scale_565_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,178,0,0,0 // jne 9529 <_sk_scale_565_avx+0xd1> .byte 196,1,122,111,4,88 // vmovdqu (%r8,%r11,2),%xmm8 .byte 196,66,121,51,200 // vpmovzxwd %xmm8,%xmm9 .byte 196,65,121,112,192,78 // vpshufd $0x4e,%xmm8,%xmm8 .byte 196,66,121,51,192 // vpmovzxwd %xmm8,%xmm8 .byte 196,67,53,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm9,%ymm8 .byte 196,98,125,24,13,228,25,2,0 // vbroadcastss 0x219e4(%rip),%ymm9 # 2ae80 <_sk_srcover_rgba_8888_sse2_lowp+0x8ac> .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,213,25,2,0 // vbroadcastss 0x219d5(%rip),%ymm10 # 2ae84 <_sk_srcover_rgba_8888_sse2_lowp+0x8b0> .byte 196,65,52,89,202 // vmulps %ymm10,%ymm9,%ymm9 .byte 196,98,125,24,21,203,25,2,0 // vbroadcastss 0x219cb(%rip),%ymm10 # 2ae88 <_sk_srcover_rgba_8888_sse2_lowp+0x8b4> .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,188,25,2,0 // vbroadcastss 0x219bc(%rip),%ymm11 # 2ae8c <_sk_srcover_rgba_8888_sse2_lowp+0x8b8> .byte 196,65,44,89,211 // vmulps %ymm11,%ymm10,%ymm10 .byte 196,98,125,24,29,178,25,2,0 // vbroadcastss 0x219b2(%rip),%ymm11 # 2ae90 <_sk_srcover_rgba_8888_sse2_lowp+0x8bc> .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,163,25,2,0 // vbroadcastss 0x219a3(%rip),%ymm11 # 2ae94 <_sk_srcover_rgba_8888_sse2_lowp+0x8c0> .byte 196,65,60,89,195 // vmulps %ymm11,%ymm8,%ymm8 .byte 197,100,194,223,1 // vcmpltps %ymm7,%ymm3,%ymm11 .byte 196,65,44,93,224 // vminps %ymm8,%ymm10,%ymm12 .byte 196,65,52,93,228 // vminps %ymm12,%ymm9,%ymm12 .byte 196,65,44,95,232 // vmaxps %ymm8,%ymm10,%ymm13 .byte 196,65,52,95,237 // vmaxps %ymm13,%ymm9,%ymm13 .byte 196,67,21,74,220,176 // vblendvps %ymm11,%ymm12,%ymm13,%ymm11 .byte 197,180,89,192 // vmulps %ymm0,%ymm9,%ymm0 .byte 197,172,89,201 // vmulps %ymm1,%ymm10,%ymm1 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 197,164,89,219 // vmulps %ymm3,%ymm11,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%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,59,255,255,255 // ja 947d <_sk_scale_565_avx+0x25> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,99,0,0,0 // lea 0x63(%rip),%r10 # 95b0 <_sk_scale_565_avx+0x158> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,183,4,88 // movzwl (%r8,%r11,2),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 233,25,255,255,255 // jmpq 947d <_sk_scale_565_avx+0x25> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,1,57,196,68,88,4,2 // vpinsrw $0x2,0x4(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,121,110,12,88 // vmovd (%r8,%r11,2),%xmm9 .byte 196,67,57,14,193,3 // vpblendw $0x3,%xmm9,%xmm8,%xmm8 .byte 233,251,254,255,255 // jmpq 947d <_sk_scale_565_avx+0x25> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,1,57,196,68,88,12,6 // vpinsrw $0x6,0xc(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,57,196,68,88,10,5 // vpinsrw $0x5,0xa(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,57,196,68,88,8,4 // vpinsrw $0x4,0x8(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,122,126,12,88 // vmovq (%r8,%r11,2),%xmm9 .byte 196,67,49,14,192,240 // vpblendw $0xf0,%xmm8,%xmm9,%xmm8 .byte 233,205,254,255,255 // jmpq 947d <_sk_scale_565_avx+0x25> .byte 166 // cmpsb %es:(%rdi),%ds:(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,193 // inc %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255,180,255,255,255,239,255 // pushq -0x100001(%rdi,%rdi,8) .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,210 // callq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_lerp_1_float_avx .globl _sk_lerp_1_float_avx FUNCTION(_sk_lerp_1_float_avx) _sk_lerp_1_float_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,0 // vbroadcastss (%rax),%ymm8 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 197,252,88,196 // vaddps %ymm4,%ymm0,%ymm0 .byte 197,244,92,205 // vsubps %ymm5,%ymm1,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 197,244,88,205 // vaddps %ymm5,%ymm1,%ymm1 .byte 197,236,92,214 // vsubps %ymm6,%ymm2,%ymm2 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 197,236,88,214 // vaddps %ymm6,%ymm2,%ymm2 .byte 197,228,92,223 // vsubps %ymm7,%ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lerp_u8_avx .globl _sk_lerp_u8_avx FUNCTION(_sk_lerp_u8_avx) _sk_lerp_u8_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,111 // jne 9692 <_sk_lerp_u8_avx+0x87> .byte 196,2,121,48,4,24 // vpmovzxbw (%r8,%r11,1),%xmm8 .byte 197,57,219,5,111,25,2,0 // vpand 0x2196f(%rip),%xmm8,%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 196,66,121,51,200 // vpmovzxwd %xmm8,%xmm9 .byte 196,65,121,112,192,78 // vpshufd $0x4e,%xmm8,%xmm8 .byte 196,66,121,51,192 // vpmovzxwd %xmm8,%xmm8 .byte 196,67,53,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm9,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 196,98,125,24,13,39,24,2,0 // vbroadcastss 0x21827(%rip),%ymm9 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .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 65,137,249 // mov %edi,%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,130 // ja 9629 <_sk_lerp_u8_avx+0x1e> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,126,0,0,0 // lea 0x7e(%rip),%r10 # 9730 <_sk_lerp_u8_avx+0x125> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,182,4,24 // movzbl (%r8,%r11,1),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 233,96,255,255,255 // jmpq 9629 <_sk_lerp_u8_avx+0x1e> .byte 67,15,182,68,24,2 // movzbl 0x2(%r8,%r11,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,2 // vpinsrw $0x2,%eax,%xmm8,%xmm8 .byte 67,15,183,4,24 // movzwl (%r8,%r11,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,55,255,255,255 // jmpq 9629 <_sk_lerp_u8_avx+0x1e> .byte 67,15,182,68,24,6 // movzbl 0x6(%r8,%r11,1),%eax .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 197,57,196,192,6 // vpinsrw $0x6,%eax,%xmm8,%xmm8 .byte 67,15,182,68,24,5 // movzbl 0x5(%r8,%r11,1),%eax .byte 197,57,196,192,5 // vpinsrw $0x5,%eax,%xmm8,%xmm8 .byte 67,15,182,68,24,4 // movzbl 0x4(%r8,%r11,1),%eax .byte 197,57,196,192,4 // vpinsrw $0x4,%eax,%xmm8,%xmm8 .byte 196,1,121,110,12,24 // vmovd (%r8,%r11,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,251,254,255,255 // jmpq 9629 <_sk_lerp_u8_avx+0x1e> .byte 102,144 // xchg %ax,%ax .byte 139,255 // mov %edi,%edi .byte 255 // (bad) .byte 255,169,255,255,255,153 // ljmp *-0x66000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 232,255,255,255,221 // callq ffffffffde009740 <_sk_srcover_rgba_8888_sse2_lowp+0xffffffffddfdf16c> .byte 255 // (bad) .byte 255 // (bad) .byte 255,210 // callq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255,194 // inc %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_lerp_565_avx .globl _sk_lerp_565_avx FUNCTION(_sk_lerp_565_avx) _sk_lerp_565_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,214,0,0,0 // jne 9841 <_sk_lerp_565_avx+0xf5> .byte 196,1,122,111,4,88 // vmovdqu (%r8,%r11,2),%xmm8 .byte 196,66,121,51,200 // vpmovzxwd %xmm8,%xmm9 .byte 196,65,121,112,192,78 // vpshufd $0x4e,%xmm8,%xmm8 .byte 196,66,121,51,192 // vpmovzxwd %xmm8,%xmm8 .byte 196,67,53,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm9,%ymm8 .byte 196,98,125,24,13,240,22,2,0 // vbroadcastss 0x216f0(%rip),%ymm9 # 2ae80 <_sk_srcover_rgba_8888_sse2_lowp+0x8ac> .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,225,22,2,0 // vbroadcastss 0x216e1(%rip),%ymm10 # 2ae84 <_sk_srcover_rgba_8888_sse2_lowp+0x8b0> .byte 196,65,52,89,202 // vmulps %ymm10,%ymm9,%ymm9 .byte 196,98,125,24,21,215,22,2,0 // vbroadcastss 0x216d7(%rip),%ymm10 # 2ae88 <_sk_srcover_rgba_8888_sse2_lowp+0x8b4> .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,200,22,2,0 // vbroadcastss 0x216c8(%rip),%ymm11 # 2ae8c <_sk_srcover_rgba_8888_sse2_lowp+0x8b8> .byte 196,65,44,89,211 // vmulps %ymm11,%ymm10,%ymm10 .byte 196,98,125,24,29,190,22,2,0 // vbroadcastss 0x216be(%rip),%ymm11 # 2ae90 <_sk_srcover_rgba_8888_sse2_lowp+0x8bc> .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,175,22,2,0 // vbroadcastss 0x216af(%rip),%ymm11 # 2ae94 <_sk_srcover_rgba_8888_sse2_lowp+0x8c0> .byte 196,65,60,89,195 // vmulps %ymm11,%ymm8,%ymm8 .byte 197,100,194,223,1 // vcmpltps %ymm7,%ymm3,%ymm11 .byte 196,65,44,93,224 // vminps %ymm8,%ymm10,%ymm12 .byte 196,65,52,93,228 // vminps %ymm12,%ymm9,%ymm12 .byte 196,65,44,95,232 // vmaxps %ymm8,%ymm10,%ymm13 .byte 196,65,52,95,237 // vmaxps %ymm13,%ymm9,%ymm13 .byte 196,67,21,74,220,176 // vblendvps %ymm11,%ymm12,%ymm13,%ymm11 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 196,193,124,89,193 // vmulps %ymm9,%ymm0,%ymm0 .byte 197,252,88,196 // vaddps %ymm4,%ymm0,%ymm0 .byte 197,244,92,205 // vsubps %ymm5,%ymm1,%ymm1 .byte 196,193,116,89,202 // vmulps %ymm10,%ymm1,%ymm1 .byte 197,244,88,205 // vaddps %ymm5,%ymm1,%ymm1 .byte 197,236,92,214 // vsubps %ymm6,%ymm2,%ymm2 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 197,236,88,214 // vaddps %ymm6,%ymm2,%ymm2 .byte 197,228,92,223 // vsubps %ymm7,%ymm3,%ymm3 .byte 196,193,100,89,219 // vmulps %ymm11,%ymm3,%ymm3 .byte 197,228,88,223 // vaddps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%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,23,255,255,255 // ja 9771 <_sk_lerp_565_avx+0x25> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,99,0,0,0 // lea 0x63(%rip),%r10 # 98c8 <_sk_lerp_565_avx+0x17c> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,183,4,88 // movzwl (%r8,%r11,2),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 233,245,254,255,255 // jmpq 9771 <_sk_lerp_565_avx+0x25> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,1,57,196,68,88,4,2 // vpinsrw $0x2,0x4(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,121,110,12,88 // vmovd (%r8,%r11,2),%xmm9 .byte 196,67,57,14,193,3 // vpblendw $0x3,%xmm9,%xmm8,%xmm8 .byte 233,215,254,255,255 // jmpq 9771 <_sk_lerp_565_avx+0x25> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,1,57,196,68,88,12,6 // vpinsrw $0x6,0xc(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,57,196,68,88,10,5 // vpinsrw $0x5,0xa(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,57,196,68,88,8,4 // vpinsrw $0x4,0x8(%r8,%r11,2),%xmm8,%xmm8 .byte 196,1,122,126,12,88 // vmovq (%r8,%r11,2),%xmm9 .byte 196,67,49,14,192,240 // vpblendw $0xf0,%xmm8,%xmm9,%xmm8 .byte 233,169,254,255,255 // jmpq 9771 <_sk_lerp_565_avx+0x25> .byte 166 // cmpsb %es:(%rdi),%ds:(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,193 // inc %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255,180,255,255,255,239,255 // pushq -0x100001(%rdi,%rdi,8) .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,210 // callq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_tables_avx .globl _sk_load_tables_avx FUNCTION(_sk_load_tables_avx) _sk_load_tables_avx: .byte 197,252,17,124,36,200 // vmovups %ymm7,-0x38(%rsp) .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,4,2,0,0 // jne 9afc <_sk_load_tables_avx+0x218> .byte 196,65,125,16,20,144 // vmovupd (%r8,%rdx,4),%ymm10 .byte 197,125,40,13,250,18,2,0 // vmovapd 0x212fa(%rip),%ymm9 # 2ac00 <_sk_srcover_rgba_8888_sse2_lowp+0x62c> .byte 196,193,45,84,201 // vandpd %ymm9,%ymm10,%ymm1 .byte 196,227,125,25,200,1 // vextractf128 $0x1,%ymm1,%xmm0 .byte 196,193,249,126,192 // vmovq %xmm0,%r8 .byte 69,137,193 // mov %r8d,%r9d .byte 76,139,80,8 // mov 0x8(%rax),%r10 .byte 196,129,122,16,20,138 // vmovss (%r10,%r9,4),%xmm2 .byte 196,195,249,22,193,1 // vpextrq $0x1,%xmm0,%r9 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,131,105,33,4,130,16 // vinsertps $0x10,(%r10,%r8,4),%xmm2,%xmm0 .byte 69,137,200 // mov %r9d,%r8d .byte 196,131,121,33,4,130,32 // vinsertps $0x20,(%r10,%r8,4),%xmm0,%xmm0 .byte 196,193,249,126,200 // vmovq %xmm1,%r8 .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,3,121,33,4,138,48 // vinsertps $0x30,(%r10,%r9,4),%xmm0,%xmm8 .byte 69,137,193 // mov %r8d,%r9d .byte 196,129,122,16,20,138 // vmovss (%r10,%r9,4),%xmm2 .byte 196,195,249,22,201,1 // vpextrq $0x1,%xmm1,%r9 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,131,105,33,12,130,16 // vinsertps $0x10,(%r10,%r8,4),%xmm2,%xmm1 .byte 69,137,200 // mov %r9d,%r8d .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,131,113,33,12,130,32 // vinsertps $0x20,(%r10,%r8,4),%xmm1,%xmm1 .byte 76,139,64,16 // mov 0x10(%rax),%r8 .byte 196,3,113,33,36,138,48 // vinsertps $0x30,(%r10,%r9,4),%xmm1,%xmm12 .byte 196,193,105,114,210,8 // vpsrld $0x8,%xmm10,%xmm2 .byte 196,67,125,25,213,1 // vextractf128 $0x1,%ymm10,%xmm13 .byte 196,193,121,114,213,8 // vpsrld $0x8,%xmm13,%xmm0 .byte 196,227,109,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm2,%ymm0 .byte 196,193,125,84,209 // vandpd %ymm9,%ymm0,%ymm2 .byte 196,227,125,25,208,1 // vextractf128 $0x1,%ymm2,%xmm0 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 196,129,122,16,12,144 // vmovss (%r8,%r10,4),%xmm1 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,3,113,33,52,136,16 // vinsertps $0x10,(%r8,%r9,4),%xmm1,%xmm14 .byte 69,137,209 // mov %r10d,%r9d .byte 196,129,122,16,28,136 // vmovss (%r8,%r9,4),%xmm3 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,129,122,16,12,144 // vmovss (%r8,%r10,4),%xmm1 .byte 69,137,202 // mov %r9d,%r10d .byte 196,129,122,16,4,144 // vmovss (%r8,%r10,4),%xmm0 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,3,121,33,28,136,16 // vinsertps $0x10,(%r8,%r9,4),%xmm0,%xmm11 .byte 69,137,209 // mov %r10d,%r9d .byte 196,1,122,16,60,136 // vmovss (%r8,%r9,4),%xmm15 .byte 196,195,29,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm12,%ymm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,9,33,219,32 // vinsertps $0x20,%xmm3,%xmm14,%xmm3 .byte 196,227,97,33,249,48 // vinsertps $0x30,%xmm1,%xmm3,%xmm7 .byte 196,1,122,16,52,144 // vmovss (%r8,%r10,4),%xmm14 .byte 76,139,72,24 // mov 0x18(%rax),%r9 .byte 196,193,97,114,210,16 // vpsrld $0x10,%xmm10,%xmm3 .byte 196,193,105,114,213,16 // vpsrld $0x10,%xmm13,%xmm2 .byte 196,227,101,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm3,%ymm2 .byte 196,65,109,84,201 // vandpd %ymm9,%ymm2,%ymm9 .byte 196,99,125,25,202,1 // vextractf128 $0x1,%ymm9,%xmm2 .byte 196,193,249,126,208 // vmovq %xmm2,%r8 .byte 68,137,192 // mov %r8d,%eax .byte 196,193,122,16,28,129 // vmovss (%r9,%rax,4),%xmm3 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,3,97,33,36,129,16 // vinsertps $0x10,(%r9,%r8,4),%xmm3,%xmm12 .byte 68,137,208 // mov %r10d,%eax .byte 196,193,122,16,28,129 // vmovss (%r9,%rax,4),%xmm3 .byte 196,65,249,126,200 // vmovq %xmm9,%r8 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,129,122,16,20,145 // vmovss (%r9,%r10,4),%xmm2 .byte 68,137,192 // mov %r8d,%eax .byte 196,193,122,16,12,129 // vmovss (%r9,%rax,4),%xmm1 .byte 196,67,249,22,202,1 // vpextrq $0x1,%xmm9,%r10 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,3,113,33,12,129,16 // vinsertps $0x10,(%r9,%r8,4),%xmm1,%xmm9 .byte 68,137,208 // mov %r10d,%eax .byte 196,65,122,16,4,129 // vmovss (%r9,%rax,4),%xmm8 .byte 196,195,33,33,207,32 // vinsertps $0x20,%xmm15,%xmm11,%xmm1 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,1,122,16,28,145 // vmovss (%r9,%r10,4),%xmm11 .byte 196,195,113,33,206,48 // vinsertps $0x30,%xmm14,%xmm1,%xmm1 .byte 196,227,117,24,207,1 // vinsertf128 $0x1,%xmm7,%ymm1,%ymm1 .byte 196,227,25,33,219,32 // vinsertps $0x20,%xmm3,%xmm12,%xmm3 .byte 196,227,97,33,210,48 // vinsertps $0x30,%xmm2,%xmm3,%xmm2 .byte 196,195,49,33,216,32 // vinsertps $0x20,%xmm8,%xmm9,%xmm3 .byte 196,195,97,33,219,48 // vinsertps $0x30,%xmm11,%xmm3,%xmm3 .byte 196,227,101,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm3,%ymm2 .byte 196,193,97,114,210,24 // vpsrld $0x18,%xmm10,%xmm3 .byte 196,193,65,114,213,24 // vpsrld $0x18,%xmm13,%xmm7 .byte 196,227,101,24,223,1 // vinsertf128 $0x1,%xmm7,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,226,125,24,61,142,19,2,0 // vbroadcastss 0x2138e(%rip),%ymm7 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 197,228,89,223 // vmulps %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,124,36,200 // vmovups -0x38(%rsp),%ymm7 .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 196,65,44,87,210 // vxorps %ymm10,%ymm10,%ymm10 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,233,253,255,255 // ja 98fe <_sk_load_tables_avx+0x1a> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,148,0,0,0 // lea 0x94(%rip),%r10 # 9bb4 <_sk_load_tables_avx+0x2d0> .byte 79,99,12,138 // movslq (%r10,%r9,4),%r9 .byte 77,1,209 // add %r10,%r9 .byte 65,255,225 // jmpq *%r9 .byte 196,65,122,16,20,144 // vmovss (%r8,%rdx,4),%xmm10 .byte 233,201,253,255,255 // jmpq 98fe <_sk_load_tables_avx+0x1a> .byte 196,193,121,110,68,144,8 // vmovd 0x8(%r8,%rdx,4),%xmm0 .byte 197,249,112,192,68 // vpshufd $0x44,%xmm0,%xmm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 196,99,117,12,208,4 // vblendps $0x4,%ymm0,%ymm1,%ymm10 .byte 196,193,123,16,4,144 // vmovsd (%r8,%rdx,4),%xmm0 .byte 196,99,45,13,208,1 // vblendpd $0x1,%ymm0,%ymm10,%ymm10 .byte 233,162,253,255,255 // jmpq 98fe <_sk_load_tables_avx+0x1a> .byte 196,193,121,110,68,144,24 // vmovd 0x18(%r8,%rdx,4),%xmm0 .byte 197,249,112,192,68 // vpshufd $0x44,%xmm0,%xmm0 .byte 196,227,125,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 196,99,117,12,208,64 // vblendps $0x40,%ymm0,%ymm1,%ymm10 .byte 196,99,125,25,208,1 // vextractf128 $0x1,%ymm10,%xmm0 .byte 196,195,121,34,68,144,20,1 // vpinsrd $0x1,0x14(%r8,%rdx,4),%xmm0,%xmm0 .byte 196,99,45,24,208,1 // vinsertf128 $0x1,%xmm0,%ymm10,%ymm10 .byte 196,99,125,25,208,1 // vextractf128 $0x1,%ymm10,%xmm0 .byte 196,195,121,34,68,144,16,0 // vpinsrd $0x0,0x10(%r8,%rdx,4),%xmm0,%xmm0 .byte 196,99,45,24,208,1 // vinsertf128 $0x1,%xmm0,%ymm10,%ymm10 .byte 196,193,121,16,4,144 // vmovupd (%r8,%rdx,4),%xmm0 .byte 196,67,125,13,210,12 // vblendpd $0xc,%ymm10,%ymm0,%ymm10 .byte 233,77,253,255,255 // jmpq 98fe <_sk_load_tables_avx+0x1a> .byte 15,31,0 // nopl (%rax) .byte 118,255 // jbe 9bb5 <_sk_load_tables_avx+0x2d1> .byte 255 // (bad) .byte 255,151,255,255,255,129 // callq *-0x7e000001(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 236 // in (%dx),%al .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 216,255 // fdivr %st(7),%st .byte 255 // (bad) .byte 255,196 // inc %esp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 168,255 // test $0xff,%al .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_tables_u16_be_avx .globl _sk_load_tables_u16_be_avx FUNCTION(_sk_load_tables_u16_be_avx) _sk_load_tables_u16_be_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 76,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9 .byte 72,133,255 // test %rdi,%rdi .byte 197,252,17,124,36,200 // vmovups %ymm7,-0x38(%rsp) .byte 197,252,17,116,36,168 // vmovups %ymm6,-0x58(%rsp) .byte 15,133,75,2,0,0 // jne 9e3d <_sk_load_tables_u16_be_avx+0x26d> .byte 196,1,121,16,4,72 // vmovupd (%r8,%r9,2),%xmm8 .byte 196,129,121,16,84,72,16 // vmovupd 0x10(%r8,%r9,2),%xmm2 .byte 196,129,121,16,92,72,32 // vmovupd 0x20(%r8,%r9,2),%xmm3 .byte 196,1,122,111,76,72,48 // vmovdqu 0x30(%r8,%r9,2),%xmm9 .byte 197,185,97,194 // vpunpcklwd %xmm2,%xmm8,%xmm0 .byte 197,185,105,210 // vpunpckhwd %xmm2,%xmm8,%xmm2 .byte 196,193,97,97,201 // vpunpcklwd %xmm9,%xmm3,%xmm1 .byte 196,193,97,105,217 // vpunpckhwd %xmm9,%xmm3,%xmm3 .byte 197,121,97,202 // vpunpcklwd %xmm2,%xmm0,%xmm9 .byte 197,121,105,194 // vpunpckhwd %xmm2,%xmm0,%xmm8 .byte 197,241,97,195 // vpunpcklwd %xmm3,%xmm1,%xmm0 .byte 197,113,105,227 // vpunpckhwd %xmm3,%xmm1,%xmm12 .byte 197,177,108,208 // vpunpcklqdq %xmm0,%xmm9,%xmm2 .byte 197,49,109,232 // vpunpckhqdq %xmm0,%xmm9,%xmm13 .byte 196,65,57,108,212 // vpunpcklqdq %xmm12,%xmm8,%xmm10 .byte 197,121,111,29,92,19,2,0 // vmovdqa 0x2135c(%rip),%xmm11 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 196,193,105,219,195 // vpand %xmm11,%xmm2,%xmm0 .byte 197,249,112,208,78 // vpshufd $0x4e,%xmm0,%xmm2 .byte 196,226,121,51,210 // vpmovzxwd %xmm2,%xmm2 .byte 196,193,249,126,208 // vmovq %xmm2,%r8 .byte 69,137,193 // mov %r8d,%r9d .byte 76,139,80,8 // mov 0x8(%rax),%r10 .byte 196,129,122,16,28,138 // vmovss (%r10,%r9,4),%xmm3 .byte 196,195,249,22,209,1 // vpextrq $0x1,%xmm2,%r9 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 73,193,232,30 // shr $0x1e,%r8 .byte 196,3,97,33,12,2,16 // vinsertps $0x10,(%r10,%r8,1),%xmm3,%xmm9 .byte 69,137,200 // mov %r9d,%r8d .byte 196,129,122,16,28,130 // vmovss (%r10,%r8,4),%xmm3 .byte 196,193,249,126,192 // vmovq %xmm0,%r8 .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,129,122,16,12,10 // vmovss (%r10,%r9,1),%xmm1 .byte 69,137,193 // mov %r8d,%r9d .byte 196,129,122,16,20,138 // vmovss (%r10,%r9,4),%xmm2 .byte 196,195,249,22,193,1 // vpextrq $0x1,%xmm0,%r9 .byte 73,193,232,30 // shr $0x1e,%r8 .byte 196,131,105,33,4,2,16 // vinsertps $0x10,(%r10,%r8,1),%xmm2,%xmm0 .byte 69,137,200 // mov %r9d,%r8d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,131,121,33,20,130,32 // vinsertps $0x20,(%r10,%r8,4),%xmm0,%xmm2 .byte 76,139,64,16 // mov 0x10(%rax),%r8 .byte 196,227,49,33,195,32 // vinsertps $0x20,%xmm3,%xmm9,%xmm0 .byte 196,99,121,33,241,48 // vinsertps $0x30,%xmm1,%xmm0,%xmm14 .byte 196,3,105,33,12,10,48 // vinsertps $0x30,(%r10,%r9,1),%xmm2,%xmm9 .byte 196,193,17,219,203 // vpand %xmm11,%xmm13,%xmm1 .byte 197,249,112,209,78 // vpshufd $0x4e,%xmm1,%xmm2 .byte 196,226,121,51,210 // vpmovzxwd %xmm2,%xmm2 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 196,129,122,16,28,144 // vmovss (%r8,%r10,4),%xmm3 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 196,226,121,51,193 // vpmovzxwd %xmm1,%xmm0 .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,3,97,33,60,8,16 // vinsertps $0x10,(%r8,%r9,1),%xmm3,%xmm15 .byte 69,137,209 // mov %r10d,%r9d .byte 196,129,122,16,20,136 // vmovss (%r8,%r9,4),%xmm2 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 73,193,234,30 // shr $0x1e,%r10 .byte 196,129,122,16,28,16 // vmovss (%r8,%r10,1),%xmm3 .byte 69,137,202 // mov %r9d,%r10d .byte 196,129,122,16,12,144 // vmovss (%r8,%r10,4),%xmm1 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,131,113,33,4,8,16 // vinsertps $0x10,(%r8,%r9,1),%xmm1,%xmm0 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,30 // shr $0x1e,%r10 .byte 196,131,121,33,4,136,32 // vinsertps $0x20,(%r8,%r9,4),%xmm0,%xmm0 .byte 196,3,121,33,44,16,48 // vinsertps $0x30,(%r8,%r10,1),%xmm0,%xmm13 .byte 76,139,80,24 // mov 0x18(%rax),%r10 .byte 196,193,41,219,195 // vpand %xmm11,%xmm10,%xmm0 .byte 197,249,112,200,78 // vpshufd $0x4e,%xmm0,%xmm1 .byte 196,226,121,51,201 // vpmovzxwd %xmm1,%xmm1 .byte 196,195,249,22,200,1 // vpextrq $0x1,%xmm1,%r8 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 68,137,200 // mov %r9d,%eax .byte 196,193,122,16,12,130 // vmovss (%r10,%rax,4),%xmm1 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,3,113,33,20,10,16 // vinsertps $0x10,(%r10,%r9,1),%xmm1,%xmm10 .byte 68,137,192 // mov %r8d,%eax .byte 196,65,122,16,28,130 // vmovss (%r10,%rax,4),%xmm11 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 73,193,232,30 // shr $0x1e,%r8 .byte 196,129,122,16,60,2 // vmovss (%r10,%r8,1),%xmm7 .byte 68,137,200 // mov %r9d,%eax .byte 196,193,122,16,4,130 // vmovss (%r10,%rax,4),%xmm0 .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,131,121,33,4,10,16 // vinsertps $0x10,(%r10,%r9,1),%xmm0,%xmm0 .byte 68,137,216 // mov %r11d,%eax .byte 196,195,121,33,4,130,32 // vinsertps $0x20,(%r10,%rax,4),%xmm0,%xmm0 .byte 73,193,235,30 // shr $0x1e,%r11 .byte 196,131,121,33,52,26,48 // vinsertps $0x30,(%r10,%r11,1),%xmm0,%xmm6 .byte 196,195,53,24,198,1 // vinsertf128 $0x1,%xmm14,%ymm9,%ymm0 .byte 196,227,1,33,202,32 // vinsertps $0x20,%xmm2,%xmm15,%xmm1 .byte 196,227,113,33,203,48 // vinsertps $0x30,%xmm3,%xmm1,%xmm1 .byte 196,227,21,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm13,%ymm1 .byte 196,195,41,33,211,32 // vinsertps $0x20,%xmm11,%xmm10,%xmm2 .byte 196,227,105,33,215,48 // vinsertps $0x30,%xmm7,%xmm2,%xmm2 .byte 196,227,77,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm6,%ymm2 .byte 196,193,57,109,220 // vpunpckhqdq %xmm12,%xmm8,%xmm3 .byte 197,201,113,243,8 // vpsllw $0x8,%xmm3,%xmm6 .byte 197,225,113,211,8 // vpsrlw $0x8,%xmm3,%xmm3 .byte 197,201,235,219 // vpor %xmm3,%xmm6,%xmm3 .byte 196,226,121,51,243 // vpmovzxwd %xmm3,%xmm6 .byte 197,249,112,219,78 // vpshufd $0x4e,%xmm3,%xmm3 .byte 196,226,121,51,219 // vpmovzxwd %xmm3,%xmm3 .byte 196,227,77,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm6,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,226,125,24,53,111,16,2,0 // vbroadcastss 0x2106f(%rip),%ymm6 # 2ae98 <_sk_srcover_rgba_8888_sse2_lowp+0x8c4> .byte 197,228,89,222 // vmulps %ymm6,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,116,36,168 // vmovups -0x58(%rsp),%ymm6 .byte 197,252,16,124,36,200 // vmovups -0x38(%rsp),%ymm7 .byte 255,224 // jmpq *%rax .byte 196,1,123,16,4,72 // vmovsd (%r8,%r9,2),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,85 // je 9ea3 <_sk_load_tables_u16_be_avx+0x2d3> .byte 196,1,57,22,68,72,8 // vmovhpd 0x8(%r8,%r9,2),%xmm8,%xmm8 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,72 // jb 9ea3 <_sk_load_tables_u16_be_avx+0x2d3> .byte 196,129,123,16,84,72,16 // vmovsd 0x10(%r8,%r9,2),%xmm2 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 116,72 // je 9eb0 <_sk_load_tables_u16_be_avx+0x2e0> .byte 196,129,105,22,84,72,24 // vmovhpd 0x18(%r8,%r9,2),%xmm2,%xmm2 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,59 // jb 9eb0 <_sk_load_tables_u16_be_avx+0x2e0> .byte 196,129,123,16,92,72,32 // vmovsd 0x20(%r8,%r9,2),%xmm3 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 15,132,135,253,255,255 // je 9c0d <_sk_load_tables_u16_be_avx+0x3d> .byte 196,129,97,22,92,72,40 // vmovhpd 0x28(%r8,%r9,2),%xmm3,%xmm3 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 15,130,118,253,255,255 // jb 9c0d <_sk_load_tables_u16_be_avx+0x3d> .byte 196,1,122,126,76,72,48 // vmovq 0x30(%r8,%r9,2),%xmm9 .byte 233,106,253,255,255 // jmpq 9c0d <_sk_load_tables_u16_be_avx+0x3d> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 197,233,87,210 // vxorpd %xmm2,%xmm2,%xmm2 .byte 233,93,253,255,255 // jmpq 9c0d <_sk_load_tables_u16_be_avx+0x3d> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 233,84,253,255,255 // jmpq 9c0d <_sk_load_tables_u16_be_avx+0x3d> HIDDEN _sk_load_tables_rgb_u16_be_avx .globl _sk_load_tables_rgb_u16_be_avx FUNCTION(_sk_load_tables_rgb_u16_be_avx) _sk_load_tables_rgb_u16_be_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 76,141,12,82 // lea (%rdx,%rdx,2),%r9 .byte 72,133,255 // test %rdi,%rdi .byte 197,252,17,124,36,200 // vmovups %ymm7,-0x38(%rsp) .byte 197,252,17,116,36,168 // vmovups %ymm6,-0x58(%rsp) .byte 15,133,54,2,0,0 // jne a10d <_sk_load_tables_rgb_u16_be_avx+0x254> .byte 196,1,122,111,28,72 // vmovdqu (%r8,%r9,2),%xmm11 .byte 196,129,122,111,92,72,12 // vmovdqu 0xc(%r8,%r9,2),%xmm3 .byte 196,129,122,111,84,72,24 // vmovdqu 0x18(%r8,%r9,2),%xmm2 .byte 196,129,122,111,68,72,32 // vmovdqu 0x20(%r8,%r9,2),%xmm0 .byte 197,249,115,216,4 // vpsrldq $0x4,%xmm0,%xmm0 .byte 196,193,57,115,219,6 // vpsrldq $0x6,%xmm11,%xmm8 .byte 197,169,115,219,6 // vpsrldq $0x6,%xmm3,%xmm10 .byte 197,241,115,218,6 // vpsrldq $0x6,%xmm2,%xmm1 .byte 197,177,115,216,6 // vpsrldq $0x6,%xmm0,%xmm9 .byte 196,65,113,97,201 // vpunpcklwd %xmm9,%xmm1,%xmm9 .byte 197,233,97,192 // vpunpcklwd %xmm0,%xmm2,%xmm0 .byte 196,193,57,97,210 // vpunpcklwd %xmm10,%xmm8,%xmm2 .byte 197,161,97,219 // vpunpcklwd %xmm3,%xmm11,%xmm3 .byte 197,225,97,202 // vpunpcklwd %xmm2,%xmm3,%xmm1 .byte 197,225,105,210 // vpunpckhwd %xmm2,%xmm3,%xmm2 .byte 196,193,121,97,217 // vpunpcklwd %xmm9,%xmm0,%xmm3 .byte 196,193,121,105,193 // vpunpckhwd %xmm9,%xmm0,%xmm0 .byte 197,105,108,216 // vpunpcklqdq %xmm0,%xmm2,%xmm11 .byte 197,241,108,211 // vpunpcklqdq %xmm3,%xmm1,%xmm2 .byte 197,241,109,203 // vpunpckhqdq %xmm3,%xmm1,%xmm1 .byte 197,121,111,53,92,16,2,0 // vmovdqa 0x2105c(%rip),%xmm14 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 196,193,105,219,214 // vpand %xmm14,%xmm2,%xmm2 .byte 197,249,112,218,78 // vpshufd $0x4e,%xmm2,%xmm3 .byte 196,226,121,51,219 // vpmovzxwd %xmm3,%xmm3 .byte 196,193,249,126,216 // vmovq %xmm3,%r8 .byte 69,137,193 // mov %r8d,%r9d .byte 76,139,80,8 // mov 0x8(%rax),%r10 .byte 196,129,122,16,4,138 // vmovss (%r10,%r9,4),%xmm0 .byte 196,195,249,22,217,1 // vpextrq $0x1,%xmm3,%r9 .byte 196,226,121,51,210 // vpmovzxwd %xmm2,%xmm2 .byte 73,193,232,30 // shr $0x1e,%r8 .byte 196,3,121,33,4,2,16 // vinsertps $0x10,(%r10,%r8,1),%xmm0,%xmm8 .byte 69,137,200 // mov %r9d,%r8d .byte 196,1,122,16,20,130 // vmovss (%r10,%r8,4),%xmm10 .byte 196,193,249,126,208 // vmovq %xmm2,%r8 .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,1,122,16,36,10 // vmovss (%r10,%r9,1),%xmm12 .byte 69,137,193 // mov %r8d,%r9d .byte 196,129,122,16,4,138 // vmovss (%r10,%r9,4),%xmm0 .byte 196,195,249,22,209,1 // vpextrq $0x1,%xmm2,%r9 .byte 73,193,232,30 // shr $0x1e,%r8 .byte 196,131,121,33,4,2,16 // vinsertps $0x10,(%r10,%r8,1),%xmm0,%xmm0 .byte 69,137,200 // mov %r9d,%r8d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,131,121,33,4,130,32 // vinsertps $0x20,(%r10,%r8,4),%xmm0,%xmm0 .byte 76,139,64,16 // mov 0x10(%rax),%r8 .byte 196,3,121,33,12,10,48 // vinsertps $0x30,(%r10,%r9,1),%xmm0,%xmm9 .byte 196,193,113,219,198 // vpand %xmm14,%xmm1,%xmm0 .byte 197,249,112,200,78 // vpshufd $0x4e,%xmm0,%xmm1 .byte 196,226,121,51,201 // vpmovzxwd %xmm1,%xmm1 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 196,129,122,16,20,144 // vmovss (%r8,%r10,4),%xmm2 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,3,105,33,60,8,16 // vinsertps $0x10,(%r8,%r9,1),%xmm2,%xmm15 .byte 69,137,209 // mov %r10d,%r9d .byte 196,129,122,16,20,136 // vmovss (%r8,%r9,4),%xmm2 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 73,193,234,30 // shr $0x1e,%r10 .byte 196,129,122,16,28,16 // vmovss (%r8,%r10,1),%xmm3 .byte 69,137,202 // mov %r9d,%r10d .byte 196,129,122,16,12,144 // vmovss (%r8,%r10,4),%xmm1 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,131,113,33,4,8,16 // vinsertps $0x10,(%r8,%r9,1),%xmm1,%xmm0 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,30 // shr $0x1e,%r10 .byte 196,131,121,33,4,136,32 // vinsertps $0x20,(%r8,%r9,4),%xmm0,%xmm0 .byte 196,3,121,33,44,16,48 // vinsertps $0x30,(%r8,%r10,1),%xmm0,%xmm13 .byte 76,139,80,24 // mov 0x18(%rax),%r10 .byte 196,193,33,219,198 // vpand %xmm14,%xmm11,%xmm0 .byte 197,249,112,200,78 // vpshufd $0x4e,%xmm0,%xmm1 .byte 196,226,121,51,201 // vpmovzxwd %xmm1,%xmm1 .byte 196,195,249,22,200,1 // vpextrq $0x1,%xmm1,%r8 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 68,137,200 // mov %r9d,%eax .byte 196,193,122,16,12,130 // vmovss (%r10,%rax,4),%xmm1 .byte 196,195,249,22,195,1 // vpextrq $0x1,%xmm0,%r11 .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,3,113,33,28,10,16 // vinsertps $0x10,(%r10,%r9,1),%xmm1,%xmm11 .byte 68,137,192 // mov %r8d,%eax .byte 196,65,122,16,52,130 // vmovss (%r10,%rax,4),%xmm14 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 73,193,232,30 // shr $0x1e,%r8 .byte 196,129,122,16,60,2 // vmovss (%r10,%r8,1),%xmm7 .byte 68,137,200 // mov %r9d,%eax .byte 196,193,122,16,4,130 // vmovss (%r10,%rax,4),%xmm0 .byte 73,193,233,30 // shr $0x1e,%r9 .byte 196,131,121,33,4,10,16 // vinsertps $0x10,(%r10,%r9,1),%xmm0,%xmm0 .byte 68,137,216 // mov %r11d,%eax .byte 196,195,121,33,4,130,32 // vinsertps $0x20,(%r10,%rax,4),%xmm0,%xmm0 .byte 73,193,235,30 // shr $0x1e,%r11 .byte 196,131,121,33,52,26,48 // vinsertps $0x30,(%r10,%r11,1),%xmm0,%xmm6 .byte 196,195,57,33,194,32 // vinsertps $0x20,%xmm10,%xmm8,%xmm0 .byte 196,195,121,33,196,48 // vinsertps $0x30,%xmm12,%xmm0,%xmm0 .byte 196,227,53,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm9,%ymm0 .byte 196,227,1,33,202,32 // vinsertps $0x20,%xmm2,%xmm15,%xmm1 .byte 196,227,113,33,203,48 // vinsertps $0x30,%xmm3,%xmm1,%xmm1 .byte 196,227,21,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm13,%ymm1 .byte 196,195,33,33,214,32 // vinsertps $0x20,%xmm14,%xmm11,%xmm2 .byte 196,227,105,33,215,48 // vinsertps $0x30,%xmm7,%xmm2,%xmm2 .byte 196,227,77,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm6,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,9,13,2,0 // vbroadcastss 0x20d09(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,252,16,116,36,168 // vmovups -0x58(%rsp),%ymm6 .byte 197,252,16,124,36,200 // vmovups -0x38(%rsp),%ymm7 .byte 255,224 // jmpq *%rax .byte 196,129,121,110,4,72 // vmovd (%r8,%r9,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,1,121,196,92,72,4,2 // vpinsrw $0x2,0x4(%r8,%r9,2),%xmm0,%xmm11 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,31 // jne a145 <_sk_load_tables_rgb_u16_be_avx+0x28c> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 197,225,239,219 // vpxor %xmm3,%xmm3,%xmm3 .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 233,199,253,255,255 // jmpq 9f0c <_sk_load_tables_rgb_u16_be_avx+0x53> .byte 196,129,121,110,68,72,6 // vmovd 0x6(%r8,%r9,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,1,121,196,68,72,10,2 // vpinsrw $0x2,0xa(%r8,%r9,2),%xmm0,%xmm8 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,48 // jb a18f <_sk_load_tables_rgb_u16_be_avx+0x2d6> .byte 196,129,121,110,68,72,12 // vmovd 0xc(%r8,%r9,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,129,121,196,92,72,16,2 // vpinsrw $0x2,0x10(%r8,%r9,2),%xmm0,%xmm3 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 117,48 // jne a1a9 <_sk_load_tables_rgb_u16_be_avx+0x2f0> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 233,125,253,255,255 // jmpq 9f0c <_sk_load_tables_rgb_u16_be_avx+0x53> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 197,225,239,219 // vpxor %xmm3,%xmm3,%xmm3 .byte 233,99,253,255,255 // jmpq 9f0c <_sk_load_tables_rgb_u16_be_avx+0x53> .byte 196,129,121,110,68,72,18 // vmovd 0x12(%r8,%r9,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,1,121,196,84,72,22,2 // vpinsrw $0x2,0x16(%r8,%r9,2),%xmm0,%xmm10 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,39 // jb a1ea <_sk_load_tables_rgb_u16_be_avx+0x331> .byte 196,129,121,110,68,72,24 // vmovd 0x18(%r8,%r9,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,129,121,196,84,72,28,2 // vpinsrw $0x2,0x1c(%r8,%r9,2),%xmm0,%xmm2 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 117,30 // jne a1fb <_sk_load_tables_rgb_u16_be_avx+0x342> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 233,34,253,255,255 // jmpq 9f0c <_sk_load_tables_rgb_u16_be_avx+0x53> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 233,17,253,255,255 // jmpq 9f0c <_sk_load_tables_rgb_u16_be_avx+0x53> .byte 196,129,121,110,68,72,30 // vmovd 0x1e(%r8,%r9,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,129,121,196,76,72,34,2 // vpinsrw $0x2,0x22(%r8,%r9,2),%xmm0,%xmm1 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 114,25 // jb a22e <_sk_load_tables_rgb_u16_be_avx+0x375> .byte 196,129,121,110,68,72,36 // vmovd 0x24(%r8,%r9,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,129,121,196,68,72,40,2 // vpinsrw $0x2,0x28(%r8,%r9,2),%xmm0,%xmm0 .byte 233,222,252,255,255 // jmpq 9f0c <_sk_load_tables_rgb_u16_be_avx+0x53> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 233,213,252,255,255 // jmpq 9f0c <_sk_load_tables_rgb_u16_be_avx+0x53> HIDDEN _sk_byte_tables_avx .globl _sk_byte_tables_avx FUNCTION(_sk_byte_tables_avx) _sk_byte_tables_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,5,242,11,2,0 // vbroadcastss 0x20bf2(%rip),%ymm8 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 197,125,91,200 // vcvtps2dq %ymm0,%ymm9 .byte 196,65,249,126,200 // vmovq %xmm9,%r8 .byte 69,137,193 // mov %r8d,%r9d .byte 76,139,16 // mov (%rax),%r10 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,193,121,110,193 // vmovd %r9d,%xmm0 .byte 196,67,249,22,201,1 // vpextrq $0x1,%xmm9,%r9 .byte 73,193,232,32 // shr $0x20,%r8 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,67,121,32,208,1 // vpinsrb $0x1,%r8d,%xmm0,%xmm10 .byte 69,137,200 // mov %r9d,%r8d .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,99,125,25,200,1 // vextractf128 $0x1,%ymm9,%xmm0 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,67,41,32,200,2 // vpinsrb $0x2,%r8d,%xmm10,%xmm9 .byte 196,193,249,126,192 // vmovq %xmm0,%r8 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,67,49,32,201,3 // vpinsrb $0x3,%r9d,%xmm9,%xmm9 .byte 69,137,193 // mov %r8d,%r9d .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,65,121,110,209 // vmovd %r9d,%xmm10 .byte 196,195,249,22,193,1 // vpextrq $0x1,%xmm0,%r9 .byte 73,193,232,32 // shr $0x20,%r8 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,195,41,32,192,1 // vpinsrb $0x1,%r8d,%xmm10,%xmm0 .byte 69,137,200 // mov %r9d,%r8d .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,195,121,32,192,2 // vpinsrb $0x2,%r8d,%xmm0,%xmm0 .byte 76,139,64,8 // mov 0x8(%rax),%r8 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,67,121,32,209,3 // vpinsrb $0x3,%r9d,%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,193 // vmovq %xmm0,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,193,121,110,202 // vmovd %r10d,%xmm1 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,113,32,201,1 // vpinsrb $0x1,%r9d,%xmm1,%xmm1 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,25,192,1 // vextractf128 $0x1,%ymm0,%xmm0 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,113,32,201,2 // vpinsrb $0x2,%r9d,%xmm1,%xmm1 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,67,113,32,226,3 // vpinsrb $0x3,%r10d,%xmm1,%xmm12 .byte 69,137,202 // mov %r9d,%r10d .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,193,121,110,202 // vmovd %r10d,%xmm1 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,113,32,193,1 // vpinsrb $0x1,%r9d,%xmm1,%xmm0 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,2 // vpinsrb $0x2,%r9d,%xmm0,%xmm0 .byte 71,15,182,4,16 // movzbl (%r8,%r10,1),%r8d .byte 196,67,121,32,232,3 // vpinsrb $0x3,%r8d,%xmm0,%xmm13 .byte 76,139,64,16 // mov 0x10(%rax),%r8 .byte 196,193,108,89,200 // vmulps %ymm8,%ymm2,%ymm1 .byte 197,253,91,209 // vcvtps2dq %ymm1,%ymm2 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,193,121,110,202 // vmovd %r10d,%xmm1 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,113,32,201,1 // vpinsrb $0x1,%r9d,%xmm1,%xmm1 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,25,210,1 // vextractf128 $0x1,%ymm2,%xmm2 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,113,32,201,2 // vpinsrb $0x2,%r9d,%xmm1,%xmm1 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,67,113,32,218,3 // vpinsrb $0x3,%r10d,%xmm1,%xmm11 .byte 69,137,202 // mov %r9d,%r10d .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,193,121,110,202 // vmovd %r10d,%xmm1 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,113,32,201,1 // vpinsrb $0x1,%r9d,%xmm1,%xmm1 .byte 69,137,209 // mov %r10d,%r9d .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,113,32,201,2 // vpinsrb $0x2,%r9d,%xmm1,%xmm1 .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,4,16 // movzbl (%r8,%r10,1),%r8d .byte 196,67,113,32,240,3 // vpinsrb $0x3,%r8d,%xmm1,%xmm14 .byte 76,139,72,24 // mov 0x18(%rax),%r9 .byte 196,193,100,89,200 // vmulps %ymm8,%ymm3,%ymm1 .byte 197,253,91,217 // vcvtps2dq %ymm1,%ymm3 .byte 196,193,249,126,216 // vmovq %xmm3,%r8 .byte 68,137,192 // mov %r8d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 197,249,110,200 // vmovd %eax,%xmm1 .byte 196,195,249,22,218,1 // vpextrq $0x1,%xmm3,%r10 .byte 73,193,232,32 // shr $0x20,%r8 .byte 67,15,182,4,1 // movzbl (%r9,%r8,1),%eax .byte 196,227,113,32,200,1 // vpinsrb $0x1,%eax,%xmm1,%xmm1 .byte 68,137,208 // mov %r10d,%eax .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,25,219,1 // vextractf128 $0x1,%ymm3,%xmm3 .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,216 // vmovq %xmm3,%r8 .byte 67,15,182,4,17 // movzbl (%r9,%r10,1),%eax .byte 196,99,113,32,192,3 // vpinsrb $0x3,%eax,%xmm1,%xmm8 .byte 68,137,192 // mov %r8d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 197,249,110,200 // vmovd %eax,%xmm1 .byte 196,195,249,22,218,1 // vpextrq $0x1,%xmm3,%r10 .byte 73,193,232,32 // shr $0x20,%r8 .byte 67,15,182,4,1 // movzbl (%r9,%r8,1),%eax .byte 196,227,113,32,200,1 // vpinsrb $0x1,%eax,%xmm1,%xmm1 .byte 68,137,208 // mov %r10d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,99,113,32,248,2 // vpinsrb $0x2,%eax,%xmm1,%xmm15 .byte 73,193,234,32 // shr $0x20,%r10 .byte 67,15,182,4,17 // movzbl (%r9,%r10,1),%eax .byte 196,194,121,49,201 // vpmovzxbd %xmm9,%xmm1 .byte 196,194,121,49,194 // vpmovzxbd %xmm10,%xmm0 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%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,170,9,2,0 // vbroadcastss 0x209aa(%rip),%ymm9 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .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,64,24 // mov 0x18(%rax),%r8d .byte 65,255,200 // dec %r8d .byte 196,65,121,110,192 // vmovd %r8d,%xmm8 .byte 196,65,121,112,192,0 // vpshufd $0x0,%xmm8,%xmm8 .byte 196,67,61,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,125,91,200 // vcvtps2dq %ymm0,%ymm9 .byte 196,65,249,126,200 // vmovq %xmm9,%r8 .byte 69,137,193 // mov %r8d,%r9d .byte 76,139,16 // mov (%rax),%r10 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,193,121,110,193 // vmovd %r9d,%xmm0 .byte 196,67,249,22,201,1 // vpextrq $0x1,%xmm9,%r9 .byte 73,193,232,32 // shr $0x20,%r8 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,67,121,32,208,1 // vpinsrb $0x1,%r8d,%xmm0,%xmm10 .byte 69,137,200 // mov %r9d,%r8d .byte 73,193,233,32 // shr $0x20,%r9 .byte 196,99,125,25,200,1 // vextractf128 $0x1,%ymm9,%xmm0 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,67,41,32,200,2 // vpinsrb $0x2,%r8d,%xmm10,%xmm9 .byte 196,193,249,126,192 // vmovq %xmm0,%r8 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,67,49,32,201,3 // vpinsrb $0x3,%r9d,%xmm9,%xmm9 .byte 69,137,193 // mov %r8d,%r9d .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,65,121,110,209 // vmovd %r9d,%xmm10 .byte 196,195,249,22,193,1 // vpextrq $0x1,%xmm0,%r9 .byte 73,193,232,32 // shr $0x20,%r8 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,195,41,32,192,1 // vpinsrb $0x1,%r8d,%xmm10,%xmm0 .byte 69,137,200 // mov %r9d,%r8d .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,4,2 // movzbl (%r10,%r8,1),%r8d .byte 196,195,121,32,192,2 // vpinsrb $0x2,%r8d,%xmm0,%xmm0 .byte 76,139,64,8 // mov 0x8(%rax),%r8 .byte 71,15,182,12,10 // movzbl (%r10,%r9,1),%r9d .byte 196,67,121,32,217,3 // vpinsrb $0x3,%r9d,%xmm0,%xmm11 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,253,91,201 // vcvtps2dq %ymm1,%ymm1 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,193,121,110,194 // vmovd %r10d,%xmm0 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,1 // vpinsrb $0x1,%r9d,%xmm0,%xmm0 .byte 69,137,209 // mov %r10d,%r9d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,2 // vpinsrb $0x2,%r9d,%xmm0,%xmm0 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,67,121,32,210,3 // vpinsrb $0x3,%r10d,%xmm0,%xmm10 .byte 69,137,202 // mov %r9d,%r10d .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 196,193,121,110,194 // vmovd %r10d,%xmm0 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 73,193,233,32 // shr $0x20,%r9 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,1 // vpinsrb $0x1,%r9d,%xmm0,%xmm0 .byte 69,137,209 // mov %r10d,%r9d .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 196,195,121,32,193,2 // vpinsrb $0x2,%r9d,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,4,16 // movzbl (%r8,%r10,1),%r8d .byte 196,67,121,32,224,3 // vpinsrb $0x3,%r8d,%xmm0,%xmm12 .byte 76,139,72,16 // mov 0x10(%rax),%r9 .byte 197,188,89,194 // vmulps %ymm2,%ymm8,%ymm0 .byte 197,253,91,208 // vcvtps2dq %ymm0,%ymm2 .byte 196,193,249,126,208 // vmovq %xmm2,%r8 .byte 68,137,192 // mov %r8d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 73,193,232,32 // shr $0x20,%r8 .byte 67,15,182,4,1 // movzbl (%r9,%r8,1),%eax .byte 196,227,121,32,192,1 // vpinsrb $0x1,%eax,%xmm0,%xmm0 .byte 68,137,208 // mov %r10d,%eax .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,25,210,1 // vextractf128 $0x1,%ymm2,%xmm2 .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,227,121,32,192,2 // vpinsrb $0x2,%eax,%xmm0,%xmm0 .byte 196,193,249,126,208 // vmovq %xmm2,%r8 .byte 67,15,182,4,17 // movzbl (%r9,%r10,1),%eax .byte 196,99,121,32,192,3 // vpinsrb $0x3,%eax,%xmm0,%xmm8 .byte 68,137,192 // mov %r8d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 73,193,232,32 // shr $0x20,%r8 .byte 67,15,182,4,1 // movzbl (%r9,%r8,1),%eax .byte 196,227,121,32,192,1 // vpinsrb $0x1,%eax,%xmm0,%xmm0 .byte 68,137,208 // mov %r10d,%eax .byte 65,15,182,4,1 // movzbl (%r9,%rax,1),%eax .byte 196,99,121,32,232,2 // vpinsrb $0x2,%eax,%xmm0,%xmm13 .byte 73,193,234,32 // shr $0x20,%r10 .byte 67,15,182,4,17 // movzbl (%r9,%r10,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,95,7,2,0 // vbroadcastss 0x2075f(%rip),%ymm9 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .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 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,65,121,112,192,0 // vpshufd $0x0,%xmm8,%xmm8 .byte 196,67,61,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 197,253,91,192 // vcvtps2dq %ymm0,%ymm0 .byte 196,227,249,22,192,1 // vpextrq $0x1,%xmm0,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,25,192,1 // vextractf128 $0x1,%ymm0,%xmm0 .byte 196,227,249,22,195,1 // vpextrq $0x1,%xmm0,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,193,249,126,199 // vmovq %xmm0,%r15 .byte 69,137,252 // mov %r15d,%r12d .byte 73,193,239,32 // shr $0x20,%r15 .byte 196,129,122,16,4,160 // vmovss (%r8,%r12,4),%xmm0 .byte 196,3,121,33,4,184,16 // vinsertps $0x10,(%r8,%r15,4),%xmm0,%xmm8 .byte 196,129,122,16,4,176 // vmovss (%r8,%r14,4),%xmm0 .byte 196,99,57,33,192,32 // vinsertps $0x20,%xmm0,%xmm8,%xmm8 .byte 196,193,122,16,4,152 // vmovss (%r8,%rbx,4),%xmm0 .byte 196,99,57,33,192,48 // vinsertps $0x30,%xmm0,%xmm8,%xmm8 .byte 196,129,122,16,4,152 // vmovss (%r8,%r11,4),%xmm0 .byte 196,3,121,33,12,144,16 // vinsertps $0x10,(%r8,%r10,4),%xmm0,%xmm9 .byte 196,129,122,16,4,136 // vmovss (%r8,%r9,4),%xmm0 .byte 196,99,49,33,200,32 // vinsertps $0x20,%xmm0,%xmm9,%xmm9 .byte 196,193,122,16,4,128 // vmovss (%r8,%rax,4),%xmm0 .byte 196,227,49,33,192,48 // vinsertps $0x30,%xmm0,%xmm9,%xmm0 .byte 196,195,125,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_table_g_avx .globl _sk_table_g_avx FUNCTION(_sk_table_g_avx) _sk_table_g_avx: .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,65,121,112,192,0 // vpshufd $0x0,%xmm8,%xmm8 .byte 196,67,61,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,201 // vmulps %ymm1,%ymm8,%ymm1 .byte 197,253,91,201 // vcvtps2dq %ymm1,%ymm1 .byte 196,227,249,22,200,1 // vpextrq $0x1,%xmm1,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 196,227,249,22,203,1 // vpextrq $0x1,%xmm1,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,193,249,126,207 // vmovq %xmm1,%r15 .byte 69,137,252 // mov %r15d,%r12d .byte 73,193,239,32 // shr $0x20,%r15 .byte 196,129,122,16,12,160 // vmovss (%r8,%r12,4),%xmm1 .byte 196,3,113,33,4,184,16 // vinsertps $0x10,(%r8,%r15,4),%xmm1,%xmm8 .byte 196,129,122,16,12,176 // vmovss (%r8,%r14,4),%xmm1 .byte 196,99,57,33,193,32 // vinsertps $0x20,%xmm1,%xmm8,%xmm8 .byte 196,193,122,16,12,152 // vmovss (%r8,%rbx,4),%xmm1 .byte 196,99,57,33,193,48 // vinsertps $0x30,%xmm1,%xmm8,%xmm8 .byte 196,129,122,16,12,152 // vmovss (%r8,%r11,4),%xmm1 .byte 196,3,113,33,12,144,16 // vinsertps $0x10,(%r8,%r10,4),%xmm1,%xmm9 .byte 196,129,122,16,12,136 // vmovss (%r8,%r9,4),%xmm1 .byte 196,99,49,33,201,32 // vinsertps $0x20,%xmm1,%xmm9,%xmm9 .byte 196,193,122,16,12,128 // vmovss (%r8,%rax,4),%xmm1 .byte 196,227,49,33,201,48 // vinsertps $0x30,%xmm1,%xmm9,%xmm1 .byte 196,195,117,24,200,1 // vinsertf128 $0x1,%xmm8,%ymm1,%ymm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_table_b_avx .globl _sk_table_b_avx FUNCTION(_sk_table_b_avx) _sk_table_b_avx: .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,65,121,112,192,0 // vpshufd $0x0,%xmm8,%xmm8 .byte 196,67,61,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,210 // vmulps %ymm2,%ymm8,%ymm2 .byte 197,253,91,210 // vcvtps2dq %ymm2,%ymm2 .byte 196,227,249,22,208,1 // vpextrq $0x1,%xmm2,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,193,249,126,210 // vmovq %xmm2,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,25,210,1 // vextractf128 $0x1,%ymm2,%xmm2 .byte 196,227,249,22,211,1 // vpextrq $0x1,%xmm2,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,193,249,126,215 // vmovq %xmm2,%r15 .byte 69,137,252 // mov %r15d,%r12d .byte 73,193,239,32 // shr $0x20,%r15 .byte 196,129,122,16,20,160 // vmovss (%r8,%r12,4),%xmm2 .byte 196,3,105,33,4,184,16 // vinsertps $0x10,(%r8,%r15,4),%xmm2,%xmm8 .byte 196,129,122,16,20,176 // vmovss (%r8,%r14,4),%xmm2 .byte 196,99,57,33,194,32 // vinsertps $0x20,%xmm2,%xmm8,%xmm8 .byte 196,193,122,16,20,152 // vmovss (%r8,%rbx,4),%xmm2 .byte 196,99,57,33,194,48 // vinsertps $0x30,%xmm2,%xmm8,%xmm8 .byte 196,129,122,16,20,152 // vmovss (%r8,%r11,4),%xmm2 .byte 196,3,105,33,12,144,16 // vinsertps $0x10,(%r8,%r10,4),%xmm2,%xmm9 .byte 196,129,122,16,20,136 // vmovss (%r8,%r9,4),%xmm2 .byte 196,99,49,33,202,32 // vinsertps $0x20,%xmm2,%xmm9,%xmm9 .byte 196,193,122,16,20,128 // vmovss (%r8,%rax,4),%xmm2 .byte 196,227,49,33,210,48 // vinsertps $0x30,%xmm2,%xmm9,%xmm2 .byte 196,195,109,24,208,1 // vinsertf128 $0x1,%xmm8,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_table_a_avx .globl _sk_table_a_avx FUNCTION(_sk_table_a_avx) _sk_table_a_avx: .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,65,121,112,192,0 // vpshufd $0x0,%xmm8,%xmm8 .byte 196,67,61,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm8,%ymm8 .byte 196,65,124,91,192 // vcvtdq2ps %ymm8,%ymm8 .byte 197,188,89,219 // vmulps %ymm3,%ymm8,%ymm3 .byte 197,253,91,219 // vcvtps2dq %ymm3,%ymm3 .byte 196,227,249,22,216,1 // vpextrq $0x1,%xmm3,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,193,249,126,218 // vmovq %xmm3,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,25,219,1 // vextractf128 $0x1,%ymm3,%xmm3 .byte 196,227,249,22,219,1 // vpextrq $0x1,%xmm3,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,193,249,126,223 // vmovq %xmm3,%r15 .byte 69,137,252 // mov %r15d,%r12d .byte 73,193,239,32 // shr $0x20,%r15 .byte 196,129,122,16,28,160 // vmovss (%r8,%r12,4),%xmm3 .byte 196,3,97,33,4,184,16 // vinsertps $0x10,(%r8,%r15,4),%xmm3,%xmm8 .byte 196,129,122,16,28,176 // vmovss (%r8,%r14,4),%xmm3 .byte 196,99,57,33,195,32 // vinsertps $0x20,%xmm3,%xmm8,%xmm8 .byte 196,193,122,16,28,152 // vmovss (%r8,%rbx,4),%xmm3 .byte 196,99,57,33,195,48 // vinsertps $0x30,%xmm3,%xmm8,%xmm8 .byte 196,129,122,16,28,152 // vmovss (%r8,%r11,4),%xmm3 .byte 196,3,97,33,12,144,16 // vinsertps $0x10,(%r8,%r10,4),%xmm3,%xmm9 .byte 196,129,122,16,28,136 // vmovss (%r8,%r9,4),%xmm3 .byte 196,99,49,33,203,32 // vinsertps $0x20,%xmm3,%xmm9,%xmm9 .byte 196,193,122,16,28,128 // vmovss (%r8,%rax,4),%xmm3 .byte 196,227,49,33,219,48 // vinsertps $0x30,%xmm3,%xmm9,%xmm3 .byte 196,195,101,24,216,1 // vinsertf128 $0x1,%xmm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_r_avx .globl _sk_parametric_r_avx FUNCTION(_sk_parametric_r_avx) _sk_parametric_r_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,98,125,24,64,16 // vbroadcastss 0x10(%rax),%ymm8 .byte 196,65,124,194,192,2 // vcmpleps %ymm8,%ymm0,%ymm8 .byte 196,98,125,24,72,12 // vbroadcastss 0xc(%rax),%ymm9 .byte 196,98,125,24,80,24 // vbroadcastss 0x18(%rax),%ymm10 .byte 197,52,89,200 // vmulps %ymm0,%ymm9,%ymm9 .byte 196,65,52,88,202 // vaddps %ymm10,%ymm9,%ymm9 .byte 196,98,125,24,80,4 // vbroadcastss 0x4(%rax),%ymm10 .byte 196,98,125,24,88,8 // vbroadcastss 0x8(%rax),%ymm11 .byte 197,172,89,192 // vmulps %ymm0,%ymm10,%ymm0 .byte 196,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,240,3,2,0 // vbroadcastss 0x203f0(%rip),%ymm12 # 2ae9c <_sk_srcover_rgba_8888_sse2_lowp+0x8c8> .byte 196,65,36,89,220 // vmulps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,230,3,2,0 // vbroadcastss 0x203e6(%rip),%ymm12 # 2aea0 <_sk_srcover_rgba_8888_sse2_lowp+0x8cc> .byte 196,193,124,84,196 // vandps %ymm12,%ymm0,%ymm0 .byte 196,98,125,24,37,60,3,2,0 // vbroadcastss 0x2033c(%rip),%ymm12 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 196,193,124,86,196 // vorps %ymm12,%ymm0,%ymm0 .byte 196,98,125,24,37,206,3,2,0 // vbroadcastss 0x203ce(%rip),%ymm12 # 2aea4 <_sk_srcover_rgba_8888_sse2_lowp+0x8d0> .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,196,3,2,0 // vbroadcastss 0x203c4(%rip),%ymm12 # 2aea8 <_sk_srcover_rgba_8888_sse2_lowp+0x8d4> .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,181,3,2,0 // vbroadcastss 0x203b5(%rip),%ymm12 # 2aeac <_sk_srcover_rgba_8888_sse2_lowp+0x8d8> .byte 196,193,124,88,196 // vaddps %ymm12,%ymm0,%ymm0 .byte 196,98,125,24,37,171,3,2,0 // vbroadcastss 0x203ab(%rip),%ymm12 # 2aeb0 <_sk_srcover_rgba_8888_sse2_lowp+0x8dc> .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,143,3,2,0 // vbroadcastss 0x2038f(%rip),%ymm11 # 2aeb4 <_sk_srcover_rgba_8888_sse2_lowp+0x8e0> .byte 196,193,124,88,195 // vaddps %ymm11,%ymm0,%ymm0 .byte 196,98,125,24,29,133,3,2,0 // vbroadcastss 0x20385(%rip),%ymm11 # 2aeb8 <_sk_srcover_rgba_8888_sse2_lowp+0x8e4> .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,118,3,2,0 // vbroadcastss 0x20376(%rip),%ymm11 # 2aebc <_sk_srcover_rgba_8888_sse2_lowp+0x8e8> .byte 196,65,36,92,210 // vsubps %ymm10,%ymm11,%ymm10 .byte 196,98,125,24,29,108,3,2,0 // vbroadcastss 0x2036c(%rip),%ymm11 # 2aec0 <_sk_srcover_rgba_8888_sse2_lowp+0x8ec> .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,93,3,2,0 // vbroadcastss 0x2035d(%rip),%ymm10 # 2aec4 <_sk_srcover_rgba_8888_sse2_lowp+0x8f0> .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 197,172,88,192 // vaddps %ymm0,%ymm10,%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,117,2,2,0 // vbroadcastss 0x20275(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,182,2,2,0 // vbroadcastss 0x202b6(%rip),%ymm12 # 2ae9c <_sk_srcover_rgba_8888_sse2_lowp+0x8c8> .byte 196,65,36,89,220 // vmulps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,172,2,2,0 // vbroadcastss 0x202ac(%rip),%ymm12 # 2aea0 <_sk_srcover_rgba_8888_sse2_lowp+0x8cc> .byte 196,193,116,84,204 // vandps %ymm12,%ymm1,%ymm1 .byte 196,98,125,24,37,2,2,2,0 // vbroadcastss 0x20202(%rip),%ymm12 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 196,193,116,86,204 // vorps %ymm12,%ymm1,%ymm1 .byte 196,98,125,24,37,148,2,2,0 // vbroadcastss 0x20294(%rip),%ymm12 # 2aea4 <_sk_srcover_rgba_8888_sse2_lowp+0x8d0> .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,138,2,2,0 // vbroadcastss 0x2028a(%rip),%ymm12 # 2aea8 <_sk_srcover_rgba_8888_sse2_lowp+0x8d4> .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,123,2,2,0 // vbroadcastss 0x2027b(%rip),%ymm12 # 2aeac <_sk_srcover_rgba_8888_sse2_lowp+0x8d8> .byte 196,193,116,88,204 // vaddps %ymm12,%ymm1,%ymm1 .byte 196,98,125,24,37,113,2,2,0 // vbroadcastss 0x20271(%rip),%ymm12 # 2aeb0 <_sk_srcover_rgba_8888_sse2_lowp+0x8dc> .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,85,2,2,0 // vbroadcastss 0x20255(%rip),%ymm11 # 2aeb4 <_sk_srcover_rgba_8888_sse2_lowp+0x8e0> .byte 196,193,116,88,203 // vaddps %ymm11,%ymm1,%ymm1 .byte 196,98,125,24,29,75,2,2,0 // vbroadcastss 0x2024b(%rip),%ymm11 # 2aeb8 <_sk_srcover_rgba_8888_sse2_lowp+0x8e4> .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,60,2,2,0 // vbroadcastss 0x2023c(%rip),%ymm11 # 2aebc <_sk_srcover_rgba_8888_sse2_lowp+0x8e8> .byte 196,65,36,92,210 // vsubps %ymm10,%ymm11,%ymm10 .byte 196,98,125,24,29,50,2,2,0 // vbroadcastss 0x20232(%rip),%ymm11 # 2aec0 <_sk_srcover_rgba_8888_sse2_lowp+0x8ec> .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,35,2,2,0 // vbroadcastss 0x20223(%rip),%ymm10 # 2aec4 <_sk_srcover_rgba_8888_sse2_lowp+0x8f0> .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 197,172,88,201 // vaddps %ymm1,%ymm10,%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,59,1,2,0 // vbroadcastss 0x2013b(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,124,1,2,0 // vbroadcastss 0x2017c(%rip),%ymm12 # 2ae9c <_sk_srcover_rgba_8888_sse2_lowp+0x8c8> .byte 196,65,36,89,220 // vmulps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,114,1,2,0 // vbroadcastss 0x20172(%rip),%ymm12 # 2aea0 <_sk_srcover_rgba_8888_sse2_lowp+0x8cc> .byte 196,193,108,84,212 // vandps %ymm12,%ymm2,%ymm2 .byte 196,98,125,24,37,200,0,2,0 // vbroadcastss 0x200c8(%rip),%ymm12 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 196,193,108,86,212 // vorps %ymm12,%ymm2,%ymm2 .byte 196,98,125,24,37,90,1,2,0 // vbroadcastss 0x2015a(%rip),%ymm12 # 2aea4 <_sk_srcover_rgba_8888_sse2_lowp+0x8d0> .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,80,1,2,0 // vbroadcastss 0x20150(%rip),%ymm12 # 2aea8 <_sk_srcover_rgba_8888_sse2_lowp+0x8d4> .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,65,1,2,0 // vbroadcastss 0x20141(%rip),%ymm12 # 2aeac <_sk_srcover_rgba_8888_sse2_lowp+0x8d8> .byte 196,193,108,88,212 // vaddps %ymm12,%ymm2,%ymm2 .byte 196,98,125,24,37,55,1,2,0 // vbroadcastss 0x20137(%rip),%ymm12 # 2aeb0 <_sk_srcover_rgba_8888_sse2_lowp+0x8dc> .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,27,1,2,0 // vbroadcastss 0x2011b(%rip),%ymm11 # 2aeb4 <_sk_srcover_rgba_8888_sse2_lowp+0x8e0> .byte 196,193,108,88,211 // vaddps %ymm11,%ymm2,%ymm2 .byte 196,98,125,24,29,17,1,2,0 // vbroadcastss 0x20111(%rip),%ymm11 # 2aeb8 <_sk_srcover_rgba_8888_sse2_lowp+0x8e4> .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,2,1,2,0 // vbroadcastss 0x20102(%rip),%ymm11 # 2aebc <_sk_srcover_rgba_8888_sse2_lowp+0x8e8> .byte 196,65,36,92,210 // vsubps %ymm10,%ymm11,%ymm10 .byte 196,98,125,24,29,248,0,2,0 // vbroadcastss 0x200f8(%rip),%ymm11 # 2aec0 <_sk_srcover_rgba_8888_sse2_lowp+0x8ec> .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,233,0,2,0 // vbroadcastss 0x200e9(%rip),%ymm10 # 2aec4 <_sk_srcover_rgba_8888_sse2_lowp+0x8f0> .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 197,172,88,210 // vaddps %ymm2,%ymm10,%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,1,0,2,0 // vbroadcastss 0x20001(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,66,0,2,0 // vbroadcastss 0x20042(%rip),%ymm12 # 2ae9c <_sk_srcover_rgba_8888_sse2_lowp+0x8c8> .byte 196,65,36,89,220 // vmulps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,56,0,2,0 // vbroadcastss 0x20038(%rip),%ymm12 # 2aea0 <_sk_srcover_rgba_8888_sse2_lowp+0x8cc> .byte 196,193,100,84,220 // vandps %ymm12,%ymm3,%ymm3 .byte 196,98,125,24,37,142,255,1,0 // vbroadcastss 0x1ff8e(%rip),%ymm12 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 196,193,100,86,220 // vorps %ymm12,%ymm3,%ymm3 .byte 196,98,125,24,37,32,0,2,0 // vbroadcastss 0x20020(%rip),%ymm12 # 2aea4 <_sk_srcover_rgba_8888_sse2_lowp+0x8d0> .byte 196,65,36,88,220 // vaddps %ymm12,%ymm11,%ymm11 .byte 196,98,125,24,37,22,0,2,0 // vbroadcastss 0x20016(%rip),%ymm12 # 2aea8 <_sk_srcover_rgba_8888_sse2_lowp+0x8d4> .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,7,0,2,0 // vbroadcastss 0x20007(%rip),%ymm12 # 2aeac <_sk_srcover_rgba_8888_sse2_lowp+0x8d8> .byte 196,193,100,88,220 // vaddps %ymm12,%ymm3,%ymm3 .byte 196,98,125,24,37,253,255,1,0 // vbroadcastss 0x1fffd(%rip),%ymm12 # 2aeb0 <_sk_srcover_rgba_8888_sse2_lowp+0x8dc> .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,225,255,1,0 // vbroadcastss 0x1ffe1(%rip),%ymm11 # 2aeb4 <_sk_srcover_rgba_8888_sse2_lowp+0x8e0> .byte 196,193,100,88,219 // vaddps %ymm11,%ymm3,%ymm3 .byte 196,98,125,24,29,215,255,1,0 // vbroadcastss 0x1ffd7(%rip),%ymm11 # 2aeb8 <_sk_srcover_rgba_8888_sse2_lowp+0x8e4> .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,200,255,1,0 // vbroadcastss 0x1ffc8(%rip),%ymm11 # 2aebc <_sk_srcover_rgba_8888_sse2_lowp+0x8e8> .byte 196,65,36,92,210 // vsubps %ymm10,%ymm11,%ymm10 .byte 196,98,125,24,29,190,255,1,0 // vbroadcastss 0x1ffbe(%rip),%ymm11 # 2aec0 <_sk_srcover_rgba_8888_sse2_lowp+0x8ec> .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,175,255,1,0 // vbroadcastss 0x1ffaf(%rip),%ymm10 # 2aec4 <_sk_srcover_rgba_8888_sse2_lowp+0x8f0> .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 197,172,88,219 // vaddps %ymm3,%ymm10,%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,199,254,1,0 // vbroadcastss 0x1fec7(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 196,193,100,93,216 // vminps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_gamma_avx .globl _sk_gamma_avx FUNCTION(_sk_gamma_avx) _sk_gamma_avx: .byte 72,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 197,252,17,92,36,160 // vmovups %ymm3,-0x60(%rsp) .byte 197,252,40,250 // vmovaps %ymm2,%ymm7 .byte 197,252,40,233 // vmovaps %ymm1,%ymm5 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,91,200 // vcvtdq2ps %ymm0,%ymm1 .byte 196,98,125,24,5,26,255,1,0 // vbroadcastss 0x1ff1a(%rip),%ymm8 # 2ae9c <_sk_srcover_rgba_8888_sse2_lowp+0x8c8> .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,98,125,24,13,16,255,1,0 // vbroadcastss 0x1ff10(%rip),%ymm9 # 2aea0 <_sk_srcover_rgba_8888_sse2_lowp+0x8cc> .byte 196,193,124,84,193 // vandps %ymm9,%ymm0,%ymm0 .byte 196,226,125,24,37,102,254,1,0 // vbroadcastss 0x1fe66(%rip),%ymm4 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 197,252,86,196 // vorps %ymm4,%ymm0,%ymm0 .byte 196,98,125,24,21,249,254,1,0 // vbroadcastss 0x1fef9(%rip),%ymm10 # 2aea4 <_sk_srcover_rgba_8888_sse2_lowp+0x8d0> .byte 196,193,116,88,202 // vaddps %ymm10,%ymm1,%ymm1 .byte 196,98,125,24,29,239,254,1,0 // vbroadcastss 0x1feef(%rip),%ymm11 # 2aea8 <_sk_srcover_rgba_8888_sse2_lowp+0x8d4> .byte 196,193,124,89,211 // vmulps %ymm11,%ymm0,%ymm2 .byte 197,244,92,202 // vsubps %ymm2,%ymm1,%ymm1 .byte 196,98,125,24,37,225,254,1,0 // vbroadcastss 0x1fee1(%rip),%ymm12 # 2aeac <_sk_srcover_rgba_8888_sse2_lowp+0x8d8> .byte 196,193,124,88,196 // vaddps %ymm12,%ymm0,%ymm0 .byte 196,98,125,24,45,215,254,1,0 // vbroadcastss 0x1fed7(%rip),%ymm13 # 2aeb0 <_sk_srcover_rgba_8888_sse2_lowp+0x8dc> .byte 197,148,94,192 // vdivps %ymm0,%ymm13,%ymm0 .byte 197,244,92,192 // vsubps %ymm0,%ymm1,%ymm0 .byte 196,98,125,24,48 // vbroadcastss (%rax),%ymm14 .byte 196,193,124,89,198 // vmulps %ymm14,%ymm0,%ymm0 .byte 196,227,125,8,200,1 // vroundps $0x1,%ymm0,%ymm1 .byte 197,252,92,241 // vsubps %ymm1,%ymm0,%ymm6 .byte 196,98,125,24,61,182,254,1,0 // vbroadcastss 0x1feb6(%rip),%ymm15 # 2aeb4 <_sk_srcover_rgba_8888_sse2_lowp+0x8e0> .byte 196,193,124,88,199 // vaddps %ymm15,%ymm0,%ymm0 .byte 196,226,125,24,29,172,254,1,0 // vbroadcastss 0x1feac(%rip),%ymm3 # 2aeb8 <_sk_srcover_rgba_8888_sse2_lowp+0x8e4> .byte 197,204,89,203 // vmulps %ymm3,%ymm6,%ymm1 .byte 197,252,92,201 // vsubps %ymm1,%ymm0,%ymm1 .byte 196,226,125,24,21,159,254,1,0 // vbroadcastss 0x1fe9f(%rip),%ymm2 # 2aebc <_sk_srcover_rgba_8888_sse2_lowp+0x8e8> .byte 197,236,92,198 // vsubps %ymm6,%ymm2,%ymm0 .byte 196,226,125,24,53,150,254,1,0 // vbroadcastss 0x1fe96(%rip),%ymm6 # 2aec0 <_sk_srcover_rgba_8888_sse2_lowp+0x8ec> .byte 197,204,94,192 // vdivps %ymm0,%ymm6,%ymm0 .byte 197,244,88,192 // vaddps %ymm0,%ymm1,%ymm0 .byte 197,252,17,68,36,128 // vmovups %ymm0,-0x80(%rsp) .byte 197,252,91,205 // vcvtdq2ps %ymm5,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,193,84,84,233 // vandps %ymm9,%ymm5,%ymm5 .byte 197,212,86,236 // vorps %ymm4,%ymm5,%ymm5 .byte 196,193,116,88,202 // vaddps %ymm10,%ymm1,%ymm1 .byte 196,193,84,89,195 // vmulps %ymm11,%ymm5,%ymm0 .byte 197,244,92,192 // vsubps %ymm0,%ymm1,%ymm0 .byte 196,193,84,88,204 // vaddps %ymm12,%ymm5,%ymm1 .byte 197,148,94,201 // vdivps %ymm1,%ymm13,%ymm1 .byte 197,252,92,193 // vsubps %ymm1,%ymm0,%ymm0 .byte 196,193,124,89,198 // vmulps %ymm14,%ymm0,%ymm0 .byte 196,227,125,8,200,1 // vroundps $0x1,%ymm0,%ymm1 .byte 197,252,92,201 // vsubps %ymm1,%ymm0,%ymm1 .byte 196,193,124,88,199 // vaddps %ymm15,%ymm0,%ymm0 .byte 197,244,89,235 // vmulps %ymm3,%ymm1,%ymm5 .byte 197,252,92,197 // vsubps %ymm5,%ymm0,%ymm0 .byte 197,236,92,201 // vsubps %ymm1,%ymm2,%ymm1 .byte 197,204,94,201 // vdivps %ymm1,%ymm6,%ymm1 .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 197,252,91,207 // vcvtdq2ps %ymm7,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,193,68,84,233 // vandps %ymm9,%ymm7,%ymm5 .byte 197,212,86,228 // vorps %ymm4,%ymm5,%ymm4 .byte 196,193,116,88,202 // vaddps %ymm10,%ymm1,%ymm1 .byte 196,193,92,89,235 // vmulps %ymm11,%ymm4,%ymm5 .byte 197,244,92,205 // vsubps %ymm5,%ymm1,%ymm1 .byte 196,193,92,88,228 // vaddps %ymm12,%ymm4,%ymm4 .byte 197,148,94,228 // vdivps %ymm4,%ymm13,%ymm4 .byte 197,244,92,204 // vsubps %ymm4,%ymm1,%ymm1 .byte 196,193,116,89,206 // vmulps %ymm14,%ymm1,%ymm1 .byte 196,227,125,8,225,1 // vroundps $0x1,%ymm1,%ymm4 .byte 197,244,92,228 // vsubps %ymm4,%ymm1,%ymm4 .byte 196,193,116,88,207 // vaddps %ymm15,%ymm1,%ymm1 .byte 197,220,89,219 // vmulps %ymm3,%ymm4,%ymm3 .byte 197,244,92,203 // vsubps %ymm3,%ymm1,%ymm1 .byte 197,236,92,212 // vsubps %ymm4,%ymm2,%ymm2 .byte 197,204,94,210 // vdivps %ymm2,%ymm6,%ymm2 .byte 197,244,88,202 // vaddps %ymm2,%ymm1,%ymm1 .byte 196,226,125,24,21,217,253,1,0 // vbroadcastss 0x1fdd9(%rip),%ymm2 # 2aec4 <_sk_srcover_rgba_8888_sse2_lowp+0x8f0> .byte 197,236,89,92,36,128 // vmulps -0x80(%rsp),%ymm2,%ymm3 .byte 197,252,89,226 // vmulps %ymm2,%ymm0,%ymm4 .byte 197,244,89,210 // vmulps %ymm2,%ymm1,%ymm2 .byte 197,253,91,195 // vcvtps2dq %ymm3,%ymm0 .byte 197,253,91,204 // vcvtps2dq %ymm4,%ymm1 .byte 197,253,91,210 // vcvtps2dq %ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,92,36,160 // vmovups -0x60(%rsp),%ymm3 .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 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,149,253,1,0 // vbroadcastss 0x1fd95(%rip),%ymm8 # 2aec8 <_sk_srcover_rgba_8888_sse2_lowp+0x8f4> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 196,98,125,24,5,243,252,1,0 // vbroadcastss 0x1fcf3(%rip),%ymm8 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,98,125,24,13,125,253,1,0 // vbroadcastss 0x1fd7d(%rip),%ymm9 # 2aecc <_sk_srcover_rgba_8888_sse2_lowp+0x8f8> .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,105,253,1,0 // vbroadcastss 0x1fd69(%rip),%ymm8 # 2aed0 <_sk_srcover_rgba_8888_sse2_lowp+0x8fc> .byte 196,193,124,88,192 // vaddps %ymm8,%ymm0,%ymm0 .byte 196,98,125,24,5,95,253,1,0 // vbroadcastss 0x1fd5f(%rip),%ymm8 # 2aed4 <_sk_srcover_rgba_8888_sse2_lowp+0x900> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 196,98,125,24,5,85,253,1,0 // vbroadcastss 0x1fd55(%rip),%ymm8 # 2aed8 <_sk_srcover_rgba_8888_sse2_lowp+0x904> .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,71,253,1,0 // vbroadcastss 0x1fd47(%rip),%ymm8 # 2aedc <_sk_srcover_rgba_8888_sse2_lowp+0x908> .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,48,253,1,0 // vbroadcastss 0x1fd30(%rip),%ymm9 # 2aee0 <_sk_srcover_rgba_8888_sse2_lowp+0x90c> .byte 196,65,52,194,208,1 // vcmpltps %ymm8,%ymm9,%ymm10 .byte 196,98,125,24,29,37,253,1,0 // vbroadcastss 0x1fd25(%rip),%ymm11 # 2aee4 <_sk_srcover_rgba_8888_sse2_lowp+0x910> .byte 196,193,116,88,203 // vaddps %ymm11,%ymm1,%ymm1 .byte 196,98,125,24,37,27,253,1,0 // vbroadcastss 0x1fd1b(%rip),%ymm12 # 2aee8 <_sk_srcover_rgba_8888_sse2_lowp+0x914> .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,209,252,1,0 // vbroadcastss 0x1fcd1(%rip),%ymm0 # 2aeec <_sk_srcover_rgba_8888_sse2_lowp+0x918> .byte 197,188,89,192 // vmulps %ymm0,%ymm8,%ymm0 .byte 196,98,125,24,5,200,252,1,0 // vbroadcastss 0x1fcc8(%rip),%ymm8 # 2aef0 <_sk_srcover_rgba_8888_sse2_lowp+0x91c> .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_load_a8_avx .globl _sk_load_a8_avx FUNCTION(_sk_load_a8_avx) _sk_load_a8_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,68 // jne b28d <_sk_load_a8_avx+0x5c> .byte 196,130,121,48,4,24 // vpmovzxbw (%r8,%r11,1),%xmm0 .byte 197,249,219,5,73,253,1,0 // vpand 0x1fd49(%rip),%xmm0,%xmm0 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 196,226,121,51,200 // vpmovzxwd %xmm0,%xmm1 .byte 197,249,112,192,78 // vpshufd $0x4e,%xmm0,%xmm0 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,3,252,1,0 // vbroadcastss 0x1fc03(%rip),%ymm1 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .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 65,137,249 // mov %edi,%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,174 // ja b24f <_sk_load_a8_avx+0x1e> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,120,0,0,0 // lea 0x78(%rip),%r10 # b324 <_sk_load_a8_avx+0xf3> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,182,4,24 // movzbl (%r8,%r11,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 235,143 // jmp b24f <_sk_load_a8_avx+0x1e> .byte 67,15,182,68,24,2 // movzbl 0x2(%r8,%r11,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,2 // vpinsrw $0x2,%eax,%xmm0,%xmm0 .byte 67,15,183,4,24 // movzwl (%r8,%r11,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,103,255,255,255 // jmpq b24f <_sk_load_a8_avx+0x1e> .byte 67,15,182,68,24,6 // movzbl 0x6(%r8,%r11,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,6 // vpinsrw $0x6,%eax,%xmm0,%xmm0 .byte 67,15,182,68,24,5 // movzbl 0x5(%r8,%r11,1),%eax .byte 197,249,196,192,5 // vpinsrw $0x5,%eax,%xmm0,%xmm0 .byte 67,15,182,68,24,4 // movzbl 0x4(%r8,%r11,1),%eax .byte 197,249,196,192,4 // vpinsrw $0x4,%eax,%xmm0,%xmm0 .byte 196,129,121,110,12,24 // vmovd (%r8,%r11,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,44,255,255,255 // jmpq b24f <_sk_load_a8_avx+0x1e> .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 ffffffffdf00b334 <_sk_srcover_rgba_8888_sse2_lowp+0xffffffffdefe0d60> .byte 255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255,196 // inc %esp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_a8_dst_avx .globl _sk_load_a8_dst_avx FUNCTION(_sk_load_a8_dst_avx) _sk_load_a8_dst_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,68 // jne b39c <_sk_load_a8_dst_avx+0x5c> .byte 196,130,121,48,36,24 // vpmovzxbw (%r8,%r11,1),%xmm4 .byte 197,217,219,37,58,252,1,0 // vpand 0x1fc3a(%rip),%xmm4,%xmm4 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 196,226,121,51,236 // vpmovzxwd %xmm4,%xmm5 .byte 197,249,112,228,78 // vpshufd $0x4e,%xmm4,%xmm4 .byte 196,226,121,51,228 // vpmovzxwd %xmm4,%xmm4 .byte 196,227,85,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm5,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,244,250,1,0 // vbroadcastss 0x1faf4(%rip),%ymm5 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .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 65,137,249 // mov %edi,%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,174 // ja b35e <_sk_load_a8_dst_avx+0x1e> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,121,0,0,0 // lea 0x79(%rip),%r10 # b434 <_sk_load_a8_dst_avx+0xf4> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,182,4,24 // movzbl (%r8,%r11,1),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 235,143 // jmp b35e <_sk_load_a8_dst_avx+0x1e> .byte 67,15,182,68,24,2 // movzbl 0x2(%r8,%r11,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,2 // vpinsrw $0x2,%eax,%xmm4,%xmm4 .byte 67,15,183,4,24 // movzwl (%r8,%r11,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,103,255,255,255 // jmpq b35e <_sk_load_a8_dst_avx+0x1e> .byte 67,15,182,68,24,6 // movzbl 0x6(%r8,%r11,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,6 // vpinsrw $0x6,%eax,%xmm4,%xmm4 .byte 67,15,182,68,24,5 // movzbl 0x5(%r8,%r11,1),%eax .byte 197,217,196,224,5 // vpinsrw $0x5,%eax,%xmm4,%xmm4 .byte 67,15,182,68,24,4 // movzbl 0x4(%r8,%r11,1),%eax .byte 197,217,196,224,4 // vpinsrw $0x4,%eax,%xmm4,%xmm4 .byte 196,129,121,110,44,24 // vmovd (%r8,%r11,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,44,255,255,255 // jmpq b35e <_sk_load_a8_dst_avx+0x1e> .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 ffffffffde00b444 <_sk_srcover_rgba_8888_sse2_lowp+0xffffffffddfe0e70> .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 85 // push %rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 197,254,91,209 // vcvttps2dq %ymm1,%ymm2 .byte 197,249,110,72,8 // vmovd 0x8(%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,227,249,22,208,1 // vpextrq $0x1,%xmm2,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,193,249,126,210 // vmovq %xmm2,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 197,241,254,192 // vpaddd %xmm0,%xmm1,%xmm0 .byte 196,227,249,22,195,1 // vpextrq $0x1,%xmm0,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,193,249,126,199 // vmovq %xmm0,%r15 .byte 69,137,252 // mov %r15d,%r12d .byte 73,193,239,32 // shr $0x20,%r15 .byte 71,15,182,60,56 // movzbl (%r8,%r15,1),%r15d .byte 67,15,182,44,32 // movzbl (%r8,%r12,1),%ebp .byte 197,249,110,197 // vmovd %ebp,%xmm0 .byte 196,195,121,32,199,1 // vpinsrb $0x1,%r15d,%xmm0,%xmm0 .byte 67,15,182,44,48 // movzbl (%r8,%r14,1),%ebp .byte 196,227,121,32,197,2 // vpinsrb $0x2,%ebp,%xmm0,%xmm0 .byte 65,15,182,28,24 // movzbl (%r8,%rbx,1),%ebx .byte 196,227,121,32,195,3 // vpinsrb $0x3,%ebx,%xmm0,%xmm0 .byte 196,226,121,49,192 // vpmovzxbd %xmm0,%xmm0 .byte 67,15,182,44,16 // movzbl (%r8,%r10,1),%ebp .byte 67,15,182,28,24 // movzbl (%r8,%r11,1),%ebx .byte 197,249,110,203 // vmovd %ebx,%xmm1 .byte 196,227,113,32,205,1 // vpinsrb $0x1,%ebp,%xmm1,%xmm1 .byte 67,15,182,44,8 // movzbl (%r8,%r9,1),%ebp .byte 196,227,113,32,205,2 // vpinsrb $0x2,%ebp,%xmm1,%xmm1 .byte 65,15,182,4,0 // movzbl (%r8,%rax,1),%eax .byte 196,227,113,32,200,3 // vpinsrb $0x3,%eax,%xmm1,%xmm1 .byte 196,226,121,49,201 // vpmovzxbd %xmm1,%xmm1 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,76,249,1,0 // vbroadcastss 0x1f94c(%rip),%ymm1 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 197,252,89,217 // vmulps %ymm1,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_store_a8_avx .globl _sk_store_a8_avx FUNCTION(_sk_store_a8_avx) _sk_store_a8_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 196,98,125,24,5,204,248,1,0 // vbroadcastss 0x1f8cc(%rip),%ymm8 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .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 197,57,103,192 // vpackuswb %xmm0,%xmm8,%xmm8 .byte 72,133,255 // test %rdi,%rdi .byte 117,10 // jne b590 <_sk_store_a8_avx+0x44> .byte 196,1,121,214,4,24 // vmovq %xmm8,(%r8,%r11,1) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja b58c <_sk_store_a8_avx+0x40> .byte 196,66,121,48,192 // vpmovzxbw %xmm8,%xmm8 .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,88,0,0,0 // lea 0x58(%rip),%r10 # b608 <_sk_store_a8_avx+0xbc> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,3,121,20,4,24,0 // vpextrb $0x0,%xmm8,(%r8,%r11,1) .byte 235,202 // jmp b58c <_sk_store_a8_avx+0x40> .byte 196,3,121,20,68,24,2,4 // vpextrb $0x4,%xmm8,0x2(%r8,%r11,1) .byte 196,98,57,0,5,221,249,1,0 // vpshufb 0x1f9dd(%rip),%xmm8,%xmm8 # 2afb0 <_sk_srcover_rgba_8888_sse2_lowp+0x9dc> .byte 196,3,121,21,4,24,0 // vpextrw $0x0,%xmm8,(%r8,%r11,1) .byte 235,176 // jmp b58c <_sk_store_a8_avx+0x40> .byte 196,3,121,20,68,24,6,12 // vpextrb $0xc,%xmm8,0x6(%r8,%r11,1) .byte 196,3,121,20,68,24,5,10 // vpextrb $0xa,%xmm8,0x5(%r8,%r11,1) .byte 196,3,121,20,68,24,4,8 // vpextrb $0x8,%xmm8,0x4(%r8,%r11,1) .byte 196,98,57,0,5,195,249,1,0 // vpshufb 0x1f9c3(%rip),%xmm8,%xmm8 # 2afc0 <_sk_srcover_rgba_8888_sse2_lowp+0x9ec> .byte 196,1,121,126,4,24 // vmovd %xmm8,(%r8,%r11,1) .byte 235,135 // jmp b58c <_sk_store_a8_avx+0x40> .byte 15,31,0 // nopl (%rax) .byte 177,255 // mov $0xff,%cl .byte 255 // (bad) .byte 255,194 // inc %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 186,255,255,255,236 // mov $0xecffffff,%edx .byte 255 // (bad) .byte 255 // (bad) .byte 255,228 // jmpq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,212 // callq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_g8_avx .globl _sk_load_g8_avx FUNCTION(_sk_load_g8_avx) _sk_load_g8_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,73 // jne b685 <_sk_load_g8_avx+0x61> .byte 196,130,121,48,4,24 // vpmovzxbw (%r8,%r11,1),%xmm0 .byte 197,249,219,5,86,249,1,0 // vpand 0x1f956(%rip),%xmm0,%xmm0 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 196,226,121,51,200 // vpmovzxwd %xmm0,%xmm1 .byte 197,249,112,192,78 // vpshufd $0x4e,%xmm0,%xmm0 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,16,248,1,0 // vbroadcastss 0x1f810(%rip),%ymm1 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,141,247,1,0 // vbroadcastss 0x1f78d(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%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,169 // ja b642 <_sk_load_g8_avx+0x1e> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,120,0,0,0 // lea 0x78(%rip),%r10 # b71c <_sk_load_g8_avx+0xf8> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,182,4,24 // movzbl (%r8,%r11,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 235,138 // jmp b642 <_sk_load_g8_avx+0x1e> .byte 67,15,182,68,24,2 // movzbl 0x2(%r8,%r11,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,2 // vpinsrw $0x2,%eax,%xmm0,%xmm0 .byte 67,15,183,4,24 // movzwl (%r8,%r11,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,98,255,255,255 // jmpq b642 <_sk_load_g8_avx+0x1e> .byte 67,15,182,68,24,6 // movzbl 0x6(%r8,%r11,1),%eax .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,249,196,192,6 // vpinsrw $0x6,%eax,%xmm0,%xmm0 .byte 67,15,182,68,24,5 // movzbl 0x5(%r8,%r11,1),%eax .byte 197,249,196,192,5 // vpinsrw $0x5,%eax,%xmm0,%xmm0 .byte 67,15,182,68,24,4 // movzbl 0x4(%r8,%r11,1),%eax .byte 197,249,196,192,4 // vpinsrw $0x4,%eax,%xmm0,%xmm0 .byte 196,129,121,110,12,24 // vmovd (%r8,%r11,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,39,255,255,255 // jmpq b642 <_sk_load_g8_avx+0x1e> .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 ffffffffdf00b72c <_sk_srcover_rgba_8888_sse2_lowp+0xffffffffdefe1158> .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,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 117,73 // jne b799 <_sk_load_g8_dst_avx+0x61> .byte 196,130,121,48,36,24 // vpmovzxbw (%r8,%r11,1),%xmm4 .byte 197,217,219,37,66,248,1,0 // vpand 0x1f842(%rip),%xmm4,%xmm4 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 196,226,121,51,236 // vpmovzxwd %xmm4,%xmm5 .byte 197,249,112,228,78 // vpshufd $0x4e,%xmm4,%xmm4 .byte 196,226,121,51,228 // vpmovzxwd %xmm4,%xmm4 .byte 196,227,85,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm5,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,252,246,1,0 // vbroadcastss 0x1f6fc(%rip),%ymm5 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 197,220,89,229 // vmulps %ymm5,%ymm4,%ymm4 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,61,121,246,1,0 // vbroadcastss 0x1f679(%rip),%ymm7 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,252,40,236 // vmovaps %ymm4,%ymm5 .byte 197,252,40,244 // vmovaps %ymm4,%ymm6 .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%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,169 // ja b756 <_sk_load_g8_dst_avx+0x1e> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,120,0,0,0 // lea 0x78(%rip),%r10 # b830 <_sk_load_g8_dst_avx+0xf8> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,182,4,24 // movzbl (%r8,%r11,1),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 235,138 // jmp b756 <_sk_load_g8_dst_avx+0x1e> .byte 67,15,182,68,24,2 // movzbl 0x2(%r8,%r11,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,2 // vpinsrw $0x2,%eax,%xmm4,%xmm4 .byte 67,15,183,4,24 // movzwl (%r8,%r11,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,98,255,255,255 // jmpq b756 <_sk_load_g8_dst_avx+0x1e> .byte 67,15,182,68,24,6 // movzbl 0x6(%r8,%r11,1),%eax .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 197,217,196,224,6 // vpinsrw $0x6,%eax,%xmm4,%xmm4 .byte 67,15,182,68,24,5 // movzbl 0x5(%r8,%r11,1),%eax .byte 197,217,196,224,5 // vpinsrw $0x5,%eax,%xmm4,%xmm4 .byte 67,15,182,68,24,4 // movzbl 0x4(%r8,%r11,1),%eax .byte 197,217,196,224,4 // vpinsrw $0x4,%eax,%xmm4,%xmm4 .byte 196,129,121,110,44,24 // vmovd (%r8,%r11,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,39,255,255,255 // jmpq b756 <_sk_load_g8_dst_avx+0x1e> .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 ffffffffdf00b840 <_sk_srcover_rgba_8888_sse2_lowp+0xffffffffdefe126c> .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 85 // push %rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 197,254,91,209 // vcvttps2dq %ymm1,%ymm2 .byte 197,249,110,72,8 // vmovd 0x8(%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,227,249,22,208,1 // vpextrq $0x1,%xmm2,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,193,249,126,210 // vmovq %xmm2,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 197,241,254,192 // vpaddd %xmm0,%xmm1,%xmm0 .byte 196,227,249,22,195,1 // vpextrq $0x1,%xmm0,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,193,249,126,199 // vmovq %xmm0,%r15 .byte 69,137,252 // mov %r15d,%r12d .byte 73,193,239,32 // shr $0x20,%r15 .byte 71,15,182,60,56 // movzbl (%r8,%r15,1),%r15d .byte 67,15,182,44,32 // movzbl (%r8,%r12,1),%ebp .byte 197,249,110,197 // vmovd %ebp,%xmm0 .byte 196,195,121,32,199,1 // vpinsrb $0x1,%r15d,%xmm0,%xmm0 .byte 67,15,182,44,48 // movzbl (%r8,%r14,1),%ebp .byte 196,227,121,32,197,2 // vpinsrb $0x2,%ebp,%xmm0,%xmm0 .byte 65,15,182,28,24 // movzbl (%r8,%rbx,1),%ebx .byte 196,227,121,32,195,3 // vpinsrb $0x3,%ebx,%xmm0,%xmm0 .byte 196,226,121,49,192 // vpmovzxbd %xmm0,%xmm0 .byte 67,15,182,44,16 // movzbl (%r8,%r10,1),%ebp .byte 67,15,182,28,24 // movzbl (%r8,%r11,1),%ebx .byte 197,249,110,203 // vmovd %ebx,%xmm1 .byte 196,227,113,32,205,1 // vpinsrb $0x1,%ebp,%xmm1,%xmm1 .byte 67,15,182,44,8 // movzbl (%r8,%r9,1),%ebp .byte 196,227,113,32,205,2 // vpinsrb $0x2,%ebp,%xmm1,%xmm1 .byte 65,15,182,4,0 // movzbl (%r8,%rax,1),%eax .byte 196,227,113,32,200,3 // vpinsrb $0x3,%eax,%xmm1,%xmm1 .byte 196,226,121,49,201 // vpmovzxbd %xmm1,%xmm1 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,80,245,1,0 // vbroadcastss 0x1f550(%rip),%ymm1 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,205,244,1,0 // vbroadcastss 0x1f4cd(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,252,40,200 // vmovaps %ymm0,%ymm1 .byte 197,252,40,208 // vmovaps %ymm0,%ymm2 .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_load_565_avx .globl _sk_load_565_avx FUNCTION(_sk_load_565_avx) _sk_load_565_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,130,0,0,0 // jne b9ee <_sk_load_565_avx+0xa1> .byte 196,129,122,111,4,88 // vmovdqu (%r8,%r11,2),%xmm0 .byte 196,226,121,51,200 // vpmovzxwd %xmm0,%xmm1 .byte 197,249,112,192,78 // vpshufd $0x4e,%xmm0,%xmm0 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,117,24,208,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm2 .byte 196,226,125,24,5,240,244,1,0 // vbroadcastss 0x1f4f0(%rip),%ymm0 # 2ae80 <_sk_srcover_rgba_8888_sse2_lowp+0x8ac> .byte 197,236,84,192 // vandps %ymm0,%ymm2,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,227,244,1,0 // vbroadcastss 0x1f4e3(%rip),%ymm1 # 2ae84 <_sk_srcover_rgba_8888_sse2_lowp+0x8b0> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,24,13,218,244,1,0 // vbroadcastss 0x1f4da(%rip),%ymm1 # 2ae88 <_sk_srcover_rgba_8888_sse2_lowp+0x8b4> .byte 197,236,84,201 // vandps %ymm1,%ymm2,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,29,205,244,1,0 // vbroadcastss 0x1f4cd(%rip),%ymm3 # 2ae8c <_sk_srcover_rgba_8888_sse2_lowp+0x8b8> .byte 197,244,89,203 // vmulps %ymm3,%ymm1,%ymm1 .byte 196,226,125,24,29,196,244,1,0 // vbroadcastss 0x1f4c4(%rip),%ymm3 # 2ae90 <_sk_srcover_rgba_8888_sse2_lowp+0x8bc> .byte 197,236,84,211 // vandps %ymm3,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,226,125,24,29,183,244,1,0 // vbroadcastss 0x1f4b7(%rip),%ymm3 # 2ae94 <_sk_srcover_rgba_8888_sse2_lowp+0x8c0> .byte 197,236,89,211 // vmulps %ymm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,28,244,1,0 // vbroadcastss 0x1f41c(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%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,108,255,255,255 // ja b972 <_sk_load_565_avx+0x25> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,99,0,0,0 // lea 0x63(%rip),%r10 # ba74 <_sk_load_565_avx+0x127> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,183,4,88 // movzwl (%r8,%r11,2),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 233,74,255,255,255 // jmpq b972 <_sk_load_565_avx+0x25> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,129,121,196,68,88,4,2 // vpinsrw $0x2,0x4(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,121,110,12,88 // vmovd (%r8,%r11,2),%xmm1 .byte 196,227,121,14,193,3 // vpblendw $0x3,%xmm1,%xmm0,%xmm0 .byte 233,45,255,255,255 // jmpq b972 <_sk_load_565_avx+0x25> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,129,121,196,68,88,12,6 // vpinsrw $0x6,0xc(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,121,196,68,88,10,5 // vpinsrw $0x5,0xa(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,121,196,68,88,8,4 // vpinsrw $0x4,0x8(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,122,126,12,88 // vmovq (%r8,%r11,2),%xmm1 .byte 196,227,113,14,192,240 // vpblendw $0xf0,%xmm0,%xmm1,%xmm0 .byte 233,0,255,255,255 // jmpq b972 <_sk_load_565_avx+0x25> .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,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,130,0,0,0 // jne bb31 <_sk_load_565_dst_avx+0xa1> .byte 196,129,122,111,36,88 // vmovdqu (%r8,%r11,2),%xmm4 .byte 196,226,121,51,236 // vpmovzxwd %xmm4,%xmm5 .byte 197,249,112,228,78 // vpshufd $0x4e,%xmm4,%xmm4 .byte 196,226,121,51,228 // vpmovzxwd %xmm4,%xmm4 .byte 196,227,85,24,244,1 // vinsertf128 $0x1,%xmm4,%ymm5,%ymm6 .byte 196,226,125,24,37,173,243,1,0 // vbroadcastss 0x1f3ad(%rip),%ymm4 # 2ae80 <_sk_srcover_rgba_8888_sse2_lowp+0x8ac> .byte 197,204,84,228 // vandps %ymm4,%ymm6,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,160,243,1,0 // vbroadcastss 0x1f3a0(%rip),%ymm5 # 2ae84 <_sk_srcover_rgba_8888_sse2_lowp+0x8b0> .byte 197,220,89,229 // vmulps %ymm5,%ymm4,%ymm4 .byte 196,226,125,24,45,151,243,1,0 // vbroadcastss 0x1f397(%rip),%ymm5 # 2ae88 <_sk_srcover_rgba_8888_sse2_lowp+0x8b4> .byte 197,204,84,237 // vandps %ymm5,%ymm6,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,226,125,24,61,138,243,1,0 // vbroadcastss 0x1f38a(%rip),%ymm7 # 2ae8c <_sk_srcover_rgba_8888_sse2_lowp+0x8b8> .byte 197,212,89,239 // vmulps %ymm7,%ymm5,%ymm5 .byte 196,226,125,24,61,129,243,1,0 // vbroadcastss 0x1f381(%rip),%ymm7 # 2ae90 <_sk_srcover_rgba_8888_sse2_lowp+0x8bc> .byte 197,204,84,247 // vandps %ymm7,%ymm6,%ymm6 .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 196,226,125,24,61,116,243,1,0 // vbroadcastss 0x1f374(%rip),%ymm7 # 2ae94 <_sk_srcover_rgba_8888_sse2_lowp+0x8c0> .byte 197,204,89,247 // vmulps %ymm7,%ymm6,%ymm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,61,217,242,1,0 // vbroadcastss 0x1f2d9(%rip),%ymm7 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%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,108,255,255,255 // ja bab5 <_sk_load_565_dst_avx+0x25> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,100,0,0,0 // lea 0x64(%rip),%r10 # bbb8 <_sk_load_565_dst_avx+0x128> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,183,4,88 // movzwl (%r8,%r11,2),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 233,74,255,255,255 // jmpq bab5 <_sk_load_565_dst_avx+0x25> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,129,89,196,100,88,4,2 // vpinsrw $0x2,0x4(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,121,110,44,88 // vmovd (%r8,%r11,2),%xmm5 .byte 196,227,89,14,229,3 // vpblendw $0x3,%xmm5,%xmm4,%xmm4 .byte 233,45,255,255,255 // jmpq bab5 <_sk_load_565_dst_avx+0x25> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,129,89,196,100,88,12,6 // vpinsrw $0x6,0xc(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,89,196,100,88,10,5 // vpinsrw $0x5,0xa(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,89,196,100,88,8,4 // vpinsrw $0x4,0x8(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,122,126,44,88 // vmovq (%r8,%r11,2),%xmm5 .byte 196,227,81,14,228,240 // vpblendw $0xf0,%xmm4,%xmm5,%xmm4 .byte 233,0,255,255,255 // jmpq bab5 <_sk_load_565_dst_avx+0x25> .byte 15,31,0 // nopl (%rax) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 191,255,255,255,179 // mov $0xb3ffffff,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 236 // in (%dx),%al .byte 255 // (bad) .byte 255 // (bad) .byte 255,228 // jmpq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,208 // callq *%rax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_565_avx .globl _sk_gather_565_avx FUNCTION(_sk_gather_565_avx) _sk_gather_565_avx: .byte 85 // push %rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 197,254,91,209 // vcvttps2dq %ymm1,%ymm2 .byte 197,249,110,72,8 // vmovd 0x8(%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,227,249,22,208,1 // vpextrq $0x1,%xmm2,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,193,249,126,210 // vmovq %xmm2,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 197,241,254,192 // vpaddd %xmm0,%xmm1,%xmm0 .byte 196,227,249,22,195,1 // vpextrq $0x1,%xmm0,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,193,249,126,199 // vmovq %xmm0,%r15 .byte 69,137,252 // mov %r15d,%r12d .byte 73,193,239,32 // shr $0x20,%r15 .byte 71,15,183,60,120 // movzwl (%r8,%r15,2),%r15d .byte 67,15,183,44,96 // movzwl (%r8,%r12,2),%ebp .byte 197,249,110,197 // vmovd %ebp,%xmm0 .byte 196,193,121,196,199,1 // vpinsrw $0x1,%r15d,%xmm0,%xmm0 .byte 67,15,183,44,112 // movzwl (%r8,%r14,2),%ebp .byte 197,249,196,197,2 // vpinsrw $0x2,%ebp,%xmm0,%xmm0 .byte 65,15,183,28,88 // movzwl (%r8,%rbx,2),%ebx .byte 197,249,196,195,3 // vpinsrw $0x3,%ebx,%xmm0,%xmm0 .byte 67,15,183,44,88 // movzwl (%r8,%r11,2),%ebp .byte 197,249,196,197,4 // vpinsrw $0x4,%ebp,%xmm0,%xmm0 .byte 67,15,183,44,80 // movzwl (%r8,%r10,2),%ebp .byte 197,249,196,197,5 // vpinsrw $0x5,%ebp,%xmm0,%xmm0 .byte 67,15,183,44,72 // movzwl (%r8,%r9,2),%ebp .byte 197,249,196,197,6 // vpinsrw $0x6,%ebp,%xmm0,%xmm0 .byte 65,15,183,4,64 // movzwl (%r8,%rax,2),%eax .byte 197,249,196,192,7 // vpinsrw $0x7,%eax,%xmm0,%xmm0 .byte 196,226,121,51,200 // vpmovzxwd %xmm0,%xmm1 .byte 197,249,112,192,78 // vpshufd $0x4e,%xmm0,%xmm0 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,117,24,208,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm2 .byte 196,226,125,24,5,207,241,1,0 // vbroadcastss 0x1f1cf(%rip),%ymm0 # 2ae80 <_sk_srcover_rgba_8888_sse2_lowp+0x8ac> .byte 197,236,84,192 // vandps %ymm0,%ymm2,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,194,241,1,0 // vbroadcastss 0x1f1c2(%rip),%ymm1 # 2ae84 <_sk_srcover_rgba_8888_sse2_lowp+0x8b0> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,24,13,185,241,1,0 // vbroadcastss 0x1f1b9(%rip),%ymm1 # 2ae88 <_sk_srcover_rgba_8888_sse2_lowp+0x8b4> .byte 197,236,84,201 // vandps %ymm1,%ymm2,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,29,172,241,1,0 // vbroadcastss 0x1f1ac(%rip),%ymm3 # 2ae8c <_sk_srcover_rgba_8888_sse2_lowp+0x8b8> .byte 197,244,89,203 // vmulps %ymm3,%ymm1,%ymm1 .byte 196,226,125,24,29,163,241,1,0 // vbroadcastss 0x1f1a3(%rip),%ymm3 # 2ae90 <_sk_srcover_rgba_8888_sse2_lowp+0x8bc> .byte 197,236,84,211 // vandps %ymm3,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,226,125,24,29,150,241,1,0 // vbroadcastss 0x1f196(%rip),%ymm3 # 2ae94 <_sk_srcover_rgba_8888_sse2_lowp+0x8c0> .byte 197,236,89,211 // vmulps %ymm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,251,240,1,0 // vbroadcastss 0x1f0fb(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_store_565_avx .globl _sk_store_565_avx FUNCTION(_sk_store_565_avx) _sk_store_565_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 196,98,125,24,5,190,241,1,0 // vbroadcastss 0x1f1be(%rip),%ymm8 # 2aef4 <_sk_srcover_rgba_8888_sse2_lowp+0x920> .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,151,241,1,0 // vbroadcastss 0x1f197(%rip),%ymm10 # 2aef8 <_sk_srcover_rgba_8888_sse2_lowp+0x924> .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 72,133,255 // test %rdi,%rdi .byte 117,10 // jne bdb1 <_sk_store_565_avx+0x9a> .byte 196,1,122,127,4,88 // vmovdqu %xmm8,(%r8,%r11,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja bdad <_sk_store_565_avx+0x96> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,68,0,0,0 // lea 0x44(%rip),%r10 # be10 <_sk_store_565_avx+0xf9> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,3,121,21,4,88,0 // vpextrw $0x0,%xmm8,(%r8,%r11,2) .byte 235,207 // jmp bdad <_sk_store_565_avx+0x96> .byte 196,3,121,21,68,88,4,2 // vpextrw $0x2,%xmm8,0x4(%r8,%r11,2) .byte 196,1,121,126,4,88 // vmovd %xmm8,(%r8,%r11,2) .byte 235,191 // jmp bdad <_sk_store_565_avx+0x96> .byte 196,3,121,21,68,88,12,6 // vpextrw $0x6,%xmm8,0xc(%r8,%r11,2) .byte 196,3,121,21,68,88,10,5 // vpextrw $0x5,%xmm8,0xa(%r8,%r11,2) .byte 196,3,121,21,68,88,8,4 // vpextrw $0x4,%xmm8,0x8(%r8,%r11,2) .byte 196,1,121,214,4,88 // vmovq %xmm8,(%r8,%r11,2) .byte 235,159 // jmp bdad <_sk_store_565_avx+0x96> .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,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,154,0,0,0 // jne bee5 <_sk_load_4444_avx+0xb9> .byte 196,129,122,111,4,88 // vmovdqu (%r8,%r11,2),%xmm0 .byte 196,226,121,51,200 // vpmovzxwd %xmm0,%xmm1 .byte 197,249,112,192,78 // vpshufd $0x4e,%xmm0,%xmm0 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,117,24,216,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm3 .byte 196,226,125,24,5,141,240,1,0 // vbroadcastss 0x1f08d(%rip),%ymm0 # 2aefc <_sk_srcover_rgba_8888_sse2_lowp+0x928> .byte 197,228,84,192 // vandps %ymm0,%ymm3,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,128,240,1,0 // vbroadcastss 0x1f080(%rip),%ymm1 # 2af00 <_sk_srcover_rgba_8888_sse2_lowp+0x92c> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,24,13,119,240,1,0 // vbroadcastss 0x1f077(%rip),%ymm1 # 2af04 <_sk_srcover_rgba_8888_sse2_lowp+0x930> .byte 197,228,84,201 // vandps %ymm1,%ymm3,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,21,106,240,1,0 // vbroadcastss 0x1f06a(%rip),%ymm2 # 2af08 <_sk_srcover_rgba_8888_sse2_lowp+0x934> .byte 197,244,89,202 // vmulps %ymm2,%ymm1,%ymm1 .byte 196,226,125,24,21,97,240,1,0 // vbroadcastss 0x1f061(%rip),%ymm2 # 2af0c <_sk_srcover_rgba_8888_sse2_lowp+0x938> .byte 197,228,84,210 // vandps %ymm2,%ymm3,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,98,125,24,5,84,240,1,0 // vbroadcastss 0x1f054(%rip),%ymm8 # 2af10 <_sk_srcover_rgba_8888_sse2_lowp+0x93c> .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 196,98,125,24,5,74,240,1,0 // vbroadcastss 0x1f04a(%rip),%ymm8 # 2af14 <_sk_srcover_rgba_8888_sse2_lowp+0x940> .byte 196,193,100,84,216 // vandps %ymm8,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,98,125,24,5,60,240,1,0 // vbroadcastss 0x1f03c(%rip),%ymm8 # 2af18 <_sk_srcover_rgba_8888_sse2_lowp+0x944> .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,84,255,255,255 // ja be51 <_sk_load_4444_avx+0x25> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,100,0,0,0 // lea 0x64(%rip),%r10 # bf6c <_sk_load_4444_avx+0x140> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,183,4,88 // movzwl (%r8,%r11,2),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 233,50,255,255,255 // jmpq be51 <_sk_load_4444_avx+0x25> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,129,121,196,68,88,4,2 // vpinsrw $0x2,0x4(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,121,110,12,88 // vmovd (%r8,%r11,2),%xmm1 .byte 196,227,121,14,193,3 // vpblendw $0x3,%xmm1,%xmm0,%xmm0 .byte 233,21,255,255,255 // jmpq be51 <_sk_load_4444_avx+0x25> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,129,121,196,68,88,12,6 // vpinsrw $0x6,0xc(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,121,196,68,88,10,5 // vpinsrw $0x5,0xa(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,121,196,68,88,8,4 // vpinsrw $0x4,0x8(%r8,%r11,2),%xmm0,%xmm0 .byte 196,129,122,126,12,88 // vmovq (%r8,%r11,2),%xmm1 .byte 196,227,113,14,192,240 // vpblendw $0xf0,%xmm0,%xmm1,%xmm0 .byte 233,232,254,255,255 // jmpq be51 <_sk_load_4444_avx+0x25> .byte 15,31,0 // nopl (%rax) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 191,255,255,255,179 // mov $0xb3ffffff,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 236 // in (%dx),%al .byte 255 // (bad) .byte 255 // (bad) .byte 255,228 // jmpq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,208 // callq *%rax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_4444_dst_avx .globl _sk_load_4444_dst_avx FUNCTION(_sk_load_4444_dst_avx) _sk_load_4444_dst_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,154,0,0,0 // jne c041 <_sk_load_4444_dst_avx+0xb9> .byte 196,129,122,111,36,88 // vmovdqu (%r8,%r11,2),%xmm4 .byte 196,226,121,51,236 // vpmovzxwd %xmm4,%xmm5 .byte 197,249,112,228,78 // vpshufd $0x4e,%xmm4,%xmm4 .byte 196,226,121,51,228 // vpmovzxwd %xmm4,%xmm4 .byte 196,227,85,24,252,1 // vinsertf128 $0x1,%xmm4,%ymm5,%ymm7 .byte 196,226,125,24,37,49,239,1,0 // vbroadcastss 0x1ef31(%rip),%ymm4 # 2aefc <_sk_srcover_rgba_8888_sse2_lowp+0x928> .byte 197,196,84,228 // vandps %ymm4,%ymm7,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,226,125,24,45,36,239,1,0 // vbroadcastss 0x1ef24(%rip),%ymm5 # 2af00 <_sk_srcover_rgba_8888_sse2_lowp+0x92c> .byte 197,220,89,229 // vmulps %ymm5,%ymm4,%ymm4 .byte 196,226,125,24,45,27,239,1,0 // vbroadcastss 0x1ef1b(%rip),%ymm5 # 2af04 <_sk_srcover_rgba_8888_sse2_lowp+0x930> .byte 197,196,84,237 // vandps %ymm5,%ymm7,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,226,125,24,53,14,239,1,0 // vbroadcastss 0x1ef0e(%rip),%ymm6 # 2af08 <_sk_srcover_rgba_8888_sse2_lowp+0x934> .byte 197,212,89,238 // vmulps %ymm6,%ymm5,%ymm5 .byte 196,226,125,24,53,5,239,1,0 // vbroadcastss 0x1ef05(%rip),%ymm6 # 2af0c <_sk_srcover_rgba_8888_sse2_lowp+0x938> .byte 197,196,84,246 // vandps %ymm6,%ymm7,%ymm6 .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 196,98,125,24,5,248,238,1,0 // vbroadcastss 0x1eef8(%rip),%ymm8 # 2af10 <_sk_srcover_rgba_8888_sse2_lowp+0x93c> .byte 196,193,76,89,240 // vmulps %ymm8,%ymm6,%ymm6 .byte 196,98,125,24,5,238,238,1,0 // vbroadcastss 0x1eeee(%rip),%ymm8 # 2af14 <_sk_srcover_rgba_8888_sse2_lowp+0x940> .byte 196,193,68,84,248 // vandps %ymm8,%ymm7,%ymm7 .byte 197,252,91,255 // vcvtdq2ps %ymm7,%ymm7 .byte 196,98,125,24,5,224,238,1,0 // vbroadcastss 0x1eee0(%rip),%ymm8 # 2af18 <_sk_srcover_rgba_8888_sse2_lowp+0x944> .byte 196,193,68,89,248 // vmulps %ymm8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,84,255,255,255 // ja bfad <_sk_load_4444_dst_avx+0x25> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,100,0,0,0 // lea 0x64(%rip),%r10 # c0c8 <_sk_load_4444_dst_avx+0x140> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 67,15,183,4,88 // movzwl (%r8,%r11,2),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 233,50,255,255,255 // jmpq bfad <_sk_load_4444_dst_avx+0x25> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,129,89,196,100,88,4,2 // vpinsrw $0x2,0x4(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,121,110,44,88 // vmovd (%r8,%r11,2),%xmm5 .byte 196,227,89,14,229,3 // vpblendw $0x3,%xmm5,%xmm4,%xmm4 .byte 233,21,255,255,255 // jmpq bfad <_sk_load_4444_dst_avx+0x25> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,129,89,196,100,88,12,6 // vpinsrw $0x6,0xc(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,89,196,100,88,10,5 // vpinsrw $0x5,0xa(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,89,196,100,88,8,4 // vpinsrw $0x4,0x8(%r8,%r11,2),%xmm4,%xmm4 .byte 196,129,122,126,44,88 // vmovq (%r8,%r11,2),%xmm5 .byte 196,227,81,14,228,240 // vpblendw $0xf0,%xmm4,%xmm5,%xmm4 .byte 233,232,254,255,255 // jmpq bfad <_sk_load_4444_dst_avx+0x25> .byte 15,31,0 // nopl (%rax) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 191,255,255,255,179 // mov $0xb3ffffff,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 236 // in (%dx),%al .byte 255 // (bad) .byte 255 // (bad) .byte 255,228 // jmpq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,208 // callq *%rax .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_4444_avx .globl _sk_gather_4444_avx FUNCTION(_sk_gather_4444_avx) _sk_gather_4444_avx: .byte 85 // push %rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 197,254,91,209 // vcvttps2dq %ymm1,%ymm2 .byte 197,249,110,72,8 // vmovd 0x8(%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,227,249,22,208,1 // vpextrq $0x1,%xmm2,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,193,249,126,210 // vmovq %xmm2,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 197,241,254,192 // vpaddd %xmm0,%xmm1,%xmm0 .byte 196,227,249,22,195,1 // vpextrq $0x1,%xmm0,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,193,249,126,199 // vmovq %xmm0,%r15 .byte 69,137,252 // mov %r15d,%r12d .byte 73,193,239,32 // shr $0x20,%r15 .byte 71,15,183,60,120 // movzwl (%r8,%r15,2),%r15d .byte 67,15,183,44,96 // movzwl (%r8,%r12,2),%ebp .byte 197,249,110,197 // vmovd %ebp,%xmm0 .byte 196,193,121,196,199,1 // vpinsrw $0x1,%r15d,%xmm0,%xmm0 .byte 67,15,183,44,112 // movzwl (%r8,%r14,2),%ebp .byte 197,249,196,197,2 // vpinsrw $0x2,%ebp,%xmm0,%xmm0 .byte 65,15,183,28,88 // movzwl (%r8,%rbx,2),%ebx .byte 197,249,196,195,3 // vpinsrw $0x3,%ebx,%xmm0,%xmm0 .byte 67,15,183,44,88 // movzwl (%r8,%r11,2),%ebp .byte 197,249,196,197,4 // vpinsrw $0x4,%ebp,%xmm0,%xmm0 .byte 67,15,183,44,80 // movzwl (%r8,%r10,2),%ebp .byte 197,249,196,197,5 // vpinsrw $0x5,%ebp,%xmm0,%xmm0 .byte 67,15,183,44,72 // movzwl (%r8,%r9,2),%ebp .byte 197,249,196,197,6 // vpinsrw $0x6,%ebp,%xmm0,%xmm0 .byte 65,15,183,4,64 // movzwl (%r8,%rax,2),%eax .byte 197,249,196,192,7 // vpinsrw $0x7,%eax,%xmm0,%xmm0 .byte 196,226,121,51,200 // vpmovzxwd %xmm0,%xmm1 .byte 197,249,112,192,78 // vpshufd $0x4e,%xmm0,%xmm0 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,117,24,216,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm3 .byte 196,226,125,24,5,59,237,1,0 // vbroadcastss 0x1ed3b(%rip),%ymm0 # 2aefc <_sk_srcover_rgba_8888_sse2_lowp+0x928> .byte 197,228,84,192 // vandps %ymm0,%ymm3,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,226,125,24,13,46,237,1,0 // vbroadcastss 0x1ed2e(%rip),%ymm1 # 2af00 <_sk_srcover_rgba_8888_sse2_lowp+0x92c> .byte 197,252,89,193 // vmulps %ymm1,%ymm0,%ymm0 .byte 196,226,125,24,13,37,237,1,0 // vbroadcastss 0x1ed25(%rip),%ymm1 # 2af04 <_sk_srcover_rgba_8888_sse2_lowp+0x930> .byte 197,228,84,201 // vandps %ymm1,%ymm3,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,226,125,24,21,24,237,1,0 // vbroadcastss 0x1ed18(%rip),%ymm2 # 2af08 <_sk_srcover_rgba_8888_sse2_lowp+0x934> .byte 197,244,89,202 // vmulps %ymm2,%ymm1,%ymm1 .byte 196,226,125,24,21,15,237,1,0 // vbroadcastss 0x1ed0f(%rip),%ymm2 # 2af0c <_sk_srcover_rgba_8888_sse2_lowp+0x938> .byte 197,228,84,210 // vandps %ymm2,%ymm3,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,98,125,24,5,2,237,1,0 // vbroadcastss 0x1ed02(%rip),%ymm8 # 2af10 <_sk_srcover_rgba_8888_sse2_lowp+0x93c> .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 196,98,125,24,5,248,236,1,0 // vbroadcastss 0x1ecf8(%rip),%ymm8 # 2af14 <_sk_srcover_rgba_8888_sse2_lowp+0x940> .byte 196,193,100,84,216 // vandps %ymm8,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,98,125,24,5,234,236,1,0 // vbroadcastss 0x1ecea(%rip),%ymm8 # 2af18 <_sk_srcover_rgba_8888_sse2_lowp+0x944> .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_store_4444_avx .globl _sk_store_4444_avx FUNCTION(_sk_store_4444_avx) _sk_store_4444_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 196,98,125,24,5,190,236,1,0 // vbroadcastss 0x1ecbe(%rip),%ymm8 # 2af1c <_sk_srcover_rgba_8888_sse2_lowp+0x948> .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 72,133,255 // test %rdi,%rdi .byte 117,10 // jne c2f7 <_sk_store_4444_avx+0xb8> .byte 196,1,122,127,4,88 // vmovdqu %xmm8,(%r8,%r11,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja c2f3 <_sk_store_4444_avx+0xb4> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,66,0,0,0 // lea 0x42(%rip),%r10 # c354 <_sk_store_4444_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 196,3,121,21,4,88,0 // vpextrw $0x0,%xmm8,(%r8,%r11,2) .byte 235,207 // jmp c2f3 <_sk_store_4444_avx+0xb4> .byte 196,3,121,21,68,88,4,2 // vpextrw $0x2,%xmm8,0x4(%r8,%r11,2) .byte 196,1,121,126,4,88 // vmovd %xmm8,(%r8,%r11,2) .byte 235,191 // jmp c2f3 <_sk_store_4444_avx+0xb4> .byte 196,3,121,21,68,88,12,6 // vpextrw $0x6,%xmm8,0xc(%r8,%r11,2) .byte 196,3,121,21,68,88,10,5 // vpextrw $0x5,%xmm8,0xa(%r8,%r11,2) .byte 196,3,121,21,68,88,8,4 // vpextrw $0x4,%xmm8,0x8(%r8,%r11,2) .byte 196,1,121,214,4,88 // vmovq %xmm8,(%r8,%r11,2) .byte 235,159 // jmp c2f3 <_sk_store_4444_avx+0xb4> .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 ffffffffe100c36c <_sk_srcover_rgba_8888_sse2_lowp+0xffffffffe0fe1d98> .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 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,135,0,0,0 // jne c417 <_sk_load_8888_avx+0xa7> .byte 196,1,125,16,12,152 // vmovupd (%r8,%r11,4),%ymm9 .byte 197,125,40,21,130,232,1,0 // vmovapd 0x1e882(%rip),%ymm10 # 2ac20 <_sk_srcover_rgba_8888_sse2_lowp+0x64c> .byte 196,193,53,84,194 // vandpd %ymm10,%ymm9,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,5,204,234,1,0 // vbroadcastss 0x1eacc(%rip),%ymm8 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 196,193,113,114,209,8 // vpsrld $0x8,%xmm9,%xmm1 .byte 196,99,125,25,203,1 // vextractf128 $0x1,%ymm9,%xmm3 .byte 197,233,114,211,8 // vpsrld $0x8,%xmm3,%xmm2 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 196,193,117,84,202 // vandpd %ymm10,%ymm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,200 // vmulps %ymm8,%ymm1,%ymm1 .byte 196,193,33,114,209,16 // vpsrld $0x10,%xmm9,%xmm11 .byte 197,233,114,211,16 // vpsrld $0x10,%xmm3,%xmm2 .byte 196,227,37,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm11,%ymm2 .byte 196,193,109,84,210 // vandpd %ymm10,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,208 // vmulps %ymm8,%ymm2,%ymm2 .byte 196,193,49,114,209,24 // vpsrld $0x18,%xmm9,%xmm9 .byte 197,225,114,211,24 // vpsrld $0x18,%xmm3,%xmm3 .byte 196,227,53,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm9,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 196,65,52,87,201 // vxorps %ymm9,%ymm9,%ymm9 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,102,255,255,255 // ja c396 <_sk_load_8888_avx+0x26> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,145,0,0,0 // lea 0x91(%rip),%r10 # c4cc <_sk_load_8888_avx+0x15c> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,1,122,16,12,152 // vmovss (%r8,%r11,4),%xmm9 .byte 233,71,255,255,255 // jmpq c396 <_sk_load_8888_avx+0x26> .byte 196,129,121,110,68,152,8 // vmovd 0x8(%r8,%r11,4),%xmm0 .byte 197,249,112,192,68 // vpshufd $0x44,%xmm0,%xmm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 196,99,117,12,200,4 // vblendps $0x4,%ymm0,%ymm1,%ymm9 .byte 196,129,123,16,4,152 // vmovsd (%r8,%r11,4),%xmm0 .byte 196,99,53,13,200,1 // vblendpd $0x1,%ymm0,%ymm9,%ymm9 .byte 233,32,255,255,255 // jmpq c396 <_sk_load_8888_avx+0x26> .byte 196,129,121,110,68,152,24 // vmovd 0x18(%r8,%r11,4),%xmm0 .byte 197,249,112,192,68 // vpshufd $0x44,%xmm0,%xmm0 .byte 196,227,125,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 196,99,117,12,200,64 // vblendps $0x40,%ymm0,%ymm1,%ymm9 .byte 196,99,125,25,200,1 // vextractf128 $0x1,%ymm9,%xmm0 .byte 196,131,121,34,68,152,20,1 // vpinsrd $0x1,0x14(%r8,%r11,4),%xmm0,%xmm0 .byte 196,99,53,24,200,1 // vinsertf128 $0x1,%xmm0,%ymm9,%ymm9 .byte 196,99,125,25,200,1 // vextractf128 $0x1,%ymm9,%xmm0 .byte 196,131,121,34,68,152,16,0 // vpinsrd $0x0,0x10(%r8,%r11,4),%xmm0,%xmm0 .byte 196,99,53,24,200,1 // vinsertf128 $0x1,%xmm0,%ymm9,%ymm9 .byte 196,129,121,16,4,152 // vmovupd (%r8,%r11,4),%xmm0 .byte 196,67,125,13,201,12 // vblendpd $0xc,%ymm9,%ymm0,%ymm9 .byte 233,203,254,255,255 // jmpq c396 <_sk_load_8888_avx+0x26> .byte 144 // nop .byte 120,255 // js c4cd <_sk_load_8888_avx+0x15d> .byte 255 // (bad) .byte 255,153,255,255,255,131 // lcall *-0x7c000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 238 // out %al,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 218,255 // (bad) .byte 255 // (bad) .byte 255,198 // inc %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 170 // stos %al,%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_8888_dst_avx .globl _sk_load_8888_dst_avx FUNCTION(_sk_load_8888_dst_avx) _sk_load_8888_dst_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,135,0,0,0 // jne c58f <_sk_load_8888_dst_avx+0xa7> .byte 196,1,125,16,12,152 // vmovupd (%r8,%r11,4),%ymm9 .byte 197,125,40,21,42,231,1,0 // vmovapd 0x1e72a(%rip),%ymm10 # 2ac40 <_sk_srcover_rgba_8888_sse2_lowp+0x66c> .byte 196,193,53,84,226 // vandpd %ymm10,%ymm9,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,98,125,24,5,84,233,1,0 // vbroadcastss 0x1e954(%rip),%ymm8 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 196,193,92,89,224 // vmulps %ymm8,%ymm4,%ymm4 .byte 196,193,81,114,209,8 // vpsrld $0x8,%xmm9,%xmm5 .byte 196,99,125,25,207,1 // vextractf128 $0x1,%ymm9,%xmm7 .byte 197,201,114,215,8 // vpsrld $0x8,%xmm7,%xmm6 .byte 196,227,85,24,238,1 // vinsertf128 $0x1,%xmm6,%ymm5,%ymm5 .byte 196,193,85,84,234 // vandpd %ymm10,%ymm5,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,193,84,89,232 // vmulps %ymm8,%ymm5,%ymm5 .byte 196,193,33,114,209,16 // vpsrld $0x10,%xmm9,%xmm11 .byte 197,201,114,215,16 // vpsrld $0x10,%xmm7,%xmm6 .byte 196,227,37,24,246,1 // vinsertf128 $0x1,%xmm6,%ymm11,%ymm6 .byte 196,193,77,84,242 // vandpd %ymm10,%ymm6,%ymm6 .byte 197,252,91,246 // vcvtdq2ps %ymm6,%ymm6 .byte 196,193,76,89,240 // vmulps %ymm8,%ymm6,%ymm6 .byte 196,193,49,114,209,24 // vpsrld $0x18,%xmm9,%xmm9 .byte 197,193,114,215,24 // vpsrld $0x18,%xmm7,%xmm7 .byte 196,227,53,24,255,1 // vinsertf128 $0x1,%xmm7,%ymm9,%ymm7 .byte 197,252,91,255 // vcvtdq2ps %ymm7,%ymm7 .byte 196,193,68,89,248 // vmulps %ymm8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 196,65,52,87,201 // vxorps %ymm9,%ymm9,%ymm9 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,102,255,255,255 // ja c50e <_sk_load_8888_dst_avx+0x26> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,145,0,0,0 // lea 0x91(%rip),%r10 # c644 <_sk_load_8888_dst_avx+0x15c> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,1,122,16,12,152 // vmovss (%r8,%r11,4),%xmm9 .byte 233,71,255,255,255 // jmpq c50e <_sk_load_8888_dst_avx+0x26> .byte 196,129,121,110,100,152,8 // vmovd 0x8(%r8,%r11,4),%xmm4 .byte 197,249,112,228,68 // vpshufd $0x44,%xmm4,%xmm4 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 196,99,85,12,204,4 // vblendps $0x4,%ymm4,%ymm5,%ymm9 .byte 196,129,123,16,36,152 // vmovsd (%r8,%r11,4),%xmm4 .byte 196,99,53,13,204,1 // vblendpd $0x1,%ymm4,%ymm9,%ymm9 .byte 233,32,255,255,255 // jmpq c50e <_sk_load_8888_dst_avx+0x26> .byte 196,129,121,110,100,152,24 // vmovd 0x18(%r8,%r11,4),%xmm4 .byte 197,249,112,228,68 // vpshufd $0x44,%xmm4,%xmm4 .byte 196,227,125,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm0,%ymm4 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 196,99,85,12,204,64 // vblendps $0x40,%ymm4,%ymm5,%ymm9 .byte 196,99,125,25,204,1 // vextractf128 $0x1,%ymm9,%xmm4 .byte 196,131,89,34,100,152,20,1 // vpinsrd $0x1,0x14(%r8,%r11,4),%xmm4,%xmm4 .byte 196,99,53,24,204,1 // vinsertf128 $0x1,%xmm4,%ymm9,%ymm9 .byte 196,99,125,25,204,1 // vextractf128 $0x1,%ymm9,%xmm4 .byte 196,131,89,34,100,152,16,0 // vpinsrd $0x0,0x10(%r8,%r11,4),%xmm4,%xmm4 .byte 196,99,53,24,204,1 // vinsertf128 $0x1,%xmm4,%ymm9,%ymm9 .byte 196,129,121,16,36,152 // vmovupd (%r8,%r11,4),%xmm4 .byte 196,67,93,13,201,12 // vblendpd $0xc,%ymm9,%ymm4,%ymm9 .byte 233,203,254,255,255 // jmpq c50e <_sk_load_8888_dst_avx+0x26> .byte 144 // nop .byte 120,255 // js c645 <_sk_load_8888_dst_avx+0x15d> .byte 255 // (bad) .byte 255,153,255,255,255,131 // lcall *-0x7c000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 238 // out %al,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 218,255 // (bad) .byte 255 // (bad) .byte 255,198 // inc %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 170 // stos %al,%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_8888_avx .globl _sk_gather_8888_avx FUNCTION(_sk_gather_8888_avx) _sk_gather_8888_avx: .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 197,249,110,80,8 // vmovd 0x8(%rax),%xmm2 .byte 197,249,112,210,0 // vpshufd $0x0,%xmm2,%xmm2 .byte 196,226,105,64,217 // vpmulld %xmm1,%xmm2,%xmm3 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 196,226,105,64,201 // vpmulld %xmm1,%xmm2,%xmm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 196,227,125,25,194,1 // vextractf128 $0x1,%ymm0,%xmm2 .byte 197,241,254,202 // vpaddd %xmm2,%xmm1,%xmm1 .byte 196,225,249,126,200 // vmovq %xmm1,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 197,225,254,192 // vpaddd %xmm0,%xmm3,%xmm0 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,249,22,203,1 // vpextrq $0x1,%xmm1,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,195,249,22,199,1 // vpextrq $0x1,%xmm0,%r15 .byte 69,137,252 // mov %r15d,%r12d .byte 73,193,239,32 // shr $0x20,%r15 .byte 196,129,121,110,4,152 // vmovd (%r8,%r11,4),%xmm0 .byte 196,131,121,34,4,144,1 // vpinsrd $0x1,(%r8,%r10,4),%xmm0,%xmm0 .byte 196,131,121,34,4,160,2 // vpinsrd $0x2,(%r8,%r12,4),%xmm0,%xmm0 .byte 196,3,121,34,4,184,3 // vpinsrd $0x3,(%r8,%r15,4),%xmm0,%xmm8 .byte 196,129,121,110,4,136 // vmovd (%r8,%r9,4),%xmm0 .byte 196,195,121,34,4,128,1 // vpinsrd $0x1,(%r8,%rax,4),%xmm0,%xmm0 .byte 196,131,121,34,4,176,2 // vpinsrd $0x2,(%r8,%r14,4),%xmm0,%xmm0 .byte 196,195,121,34,28,152,3 // vpinsrd $0x3,(%r8,%rbx,4),%xmm0,%xmm3 .byte 196,227,61,24,195,1 // vinsertf128 $0x1,%xmm3,%ymm8,%ymm0 .byte 197,124,40,21,78,229,1,0 // vmovaps 0x1e54e(%rip),%ymm10 # 2ac60 <_sk_srcover_rgba_8888_sse2_lowp+0x68c> .byte 196,193,124,84,194 // vandps %ymm10,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,13,88,231,1,0 // vbroadcastss 0x1e758(%rip),%ymm9 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 196,193,124,89,193 // vmulps %ymm9,%ymm0,%ymm0 .byte 196,193,113,114,208,8 // vpsrld $0x8,%xmm8,%xmm1 .byte 197,233,114,211,8 // vpsrld $0x8,%xmm3,%xmm2 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 196,193,116,84,202 // vandps %ymm10,%ymm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,201 // vmulps %ymm9,%ymm1,%ymm1 .byte 196,193,33,114,208,16 // vpsrld $0x10,%xmm8,%xmm11 .byte 197,233,114,211,16 // vpsrld $0x10,%xmm3,%xmm2 .byte 196,227,37,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm11,%ymm2 .byte 196,193,108,84,210 // vandps %ymm10,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,209 // vmulps %ymm9,%ymm2,%ymm2 .byte 196,193,57,114,208,24 // vpsrld $0x18,%xmm8,%xmm8 .byte 197,225,114,211,24 // vpsrld $0x18,%xmm3,%xmm3 .byte 196,227,61,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm8,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,217 // vmulps %ymm9,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_store_8888_avx .globl _sk_store_8888_avx FUNCTION(_sk_store_8888_avx) _sk_store_8888_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 196,98,125,24,5,136,230,1,0 // vbroadcastss 0x1e688(%rip),%ymm8 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .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 72,133,255 // test %rdi,%rdi .byte 117,10 // jne c83a <_sk_store_8888_avx+0xae> .byte 196,1,124,17,4,152 // vmovups %ymm8,(%r8,%r11,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja c836 <_sk_store_8888_avx+0xaa> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,83,0,0,0 // lea 0x53(%rip),%r10 # c8a8 <_sk_store_8888_avx+0x11c> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,1,121,126,4,152 // vmovd %xmm8,(%r8,%r11,4) .byte 235,208 // jmp c836 <_sk_store_8888_avx+0xaa> .byte 196,3,121,22,68,152,8,2 // vpextrd $0x2,%xmm8,0x8(%r8,%r11,4) .byte 196,1,121,214,4,152 // vmovq %xmm8,(%r8,%r11,4) .byte 235,192 // jmp c836 <_sk_store_8888_avx+0xaa> .byte 196,67,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm9 .byte 196,3,121,22,76,152,24,2 // vpextrd $0x2,%xmm9,0x18(%r8,%r11,4) .byte 196,67,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm9 .byte 196,3,121,22,76,152,20,1 // vpextrd $0x1,%xmm9,0x14(%r8,%r11,4) .byte 196,67,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm9 .byte 196,1,122,17,76,152,16 // vmovss %xmm9,0x10(%r8,%r11,4) .byte 196,1,121,17,4,152 // vmovupd %xmm8,(%r8,%r11,4) .byte 235,143 // jmp c836 <_sk_store_8888_avx+0xaa> .byte 144 // nop .byte 182,255 // mov $0xff,%dh .byte 255 // (bad) .byte 255,198 // inc %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 190,255,255,255,247 // mov $0xf7ffffff,%esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 234 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,206 // dec %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_bgra_avx .globl _sk_load_bgra_avx FUNCTION(_sk_load_bgra_avx) _sk_load_bgra_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,135,0,0,0 // jne c96b <_sk_load_bgra_avx+0xa7> .byte 196,1,125,16,12,152 // vmovupd (%r8,%r11,4),%ymm9 .byte 197,125,40,21,142,227,1,0 // vmovapd 0x1e38e(%rip),%ymm10 # 2ac80 <_sk_srcover_rgba_8888_sse2_lowp+0x6ac> .byte 196,193,53,84,202 // vandpd %ymm10,%ymm9,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,98,125,24,5,120,229,1,0 // vbroadcastss 0x1e578(%rip),%ymm8 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 196,193,116,89,208 // vmulps %ymm8,%ymm1,%ymm2 .byte 196,193,113,114,209,8 // vpsrld $0x8,%xmm9,%xmm1 .byte 196,99,125,25,203,1 // vextractf128 $0x1,%ymm9,%xmm3 .byte 197,249,114,211,8 // vpsrld $0x8,%xmm3,%xmm0 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 196,193,125,84,194 // vandpd %ymm10,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,193,124,89,200 // vmulps %ymm8,%ymm0,%ymm1 .byte 196,193,33,114,209,16 // vpsrld $0x10,%xmm9,%xmm11 .byte 197,249,114,211,16 // vpsrld $0x10,%xmm3,%xmm0 .byte 196,227,37,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm11,%ymm0 .byte 196,193,125,84,194 // vandpd %ymm10,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,193,124,89,192 // vmulps %ymm8,%ymm0,%ymm0 .byte 196,193,49,114,209,24 // vpsrld $0x18,%xmm9,%xmm9 .byte 197,225,114,211,24 // vpsrld $0x18,%xmm3,%xmm3 .byte 196,227,53,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm9,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,216 // vmulps %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 196,65,52,87,201 // vxorps %ymm9,%ymm9,%ymm9 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,102,255,255,255 // ja c8ea <_sk_load_bgra_avx+0x26> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,145,0,0,0 // lea 0x91(%rip),%r10 # ca20 <_sk_load_bgra_avx+0x15c> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,1,122,16,12,152 // vmovss (%r8,%r11,4),%xmm9 .byte 233,71,255,255,255 // jmpq c8ea <_sk_load_bgra_avx+0x26> .byte 196,129,121,110,68,152,8 // vmovd 0x8(%r8,%r11,4),%xmm0 .byte 197,249,112,192,68 // vpshufd $0x44,%xmm0,%xmm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 196,99,117,12,200,4 // vblendps $0x4,%ymm0,%ymm1,%ymm9 .byte 196,129,123,16,4,152 // vmovsd (%r8,%r11,4),%xmm0 .byte 196,99,53,13,200,1 // vblendpd $0x1,%ymm0,%ymm9,%ymm9 .byte 233,32,255,255,255 // jmpq c8ea <_sk_load_bgra_avx+0x26> .byte 196,129,121,110,68,152,24 // vmovd 0x18(%r8,%r11,4),%xmm0 .byte 197,249,112,192,68 // vpshufd $0x44,%xmm0,%xmm0 .byte 196,227,125,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 196,99,117,12,200,64 // vblendps $0x40,%ymm0,%ymm1,%ymm9 .byte 196,99,125,25,200,1 // vextractf128 $0x1,%ymm9,%xmm0 .byte 196,131,121,34,68,152,20,1 // vpinsrd $0x1,0x14(%r8,%r11,4),%xmm0,%xmm0 .byte 196,99,53,24,200,1 // vinsertf128 $0x1,%xmm0,%ymm9,%ymm9 .byte 196,99,125,25,200,1 // vextractf128 $0x1,%ymm9,%xmm0 .byte 196,131,121,34,68,152,16,0 // vpinsrd $0x0,0x10(%r8,%r11,4),%xmm0,%xmm0 .byte 196,99,53,24,200,1 // vinsertf128 $0x1,%xmm0,%ymm9,%ymm9 .byte 196,129,121,16,4,152 // vmovupd (%r8,%r11,4),%xmm0 .byte 196,67,125,13,201,12 // vblendpd $0xc,%ymm9,%ymm0,%ymm9 .byte 233,203,254,255,255 // jmpq c8ea <_sk_load_bgra_avx+0x26> .byte 144 // nop .byte 120,255 // js ca21 <_sk_load_bgra_avx+0x15d> .byte 255 // (bad) .byte 255,153,255,255,255,131 // lcall *-0x7c000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 238 // out %al,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 218,255 // (bad) .byte 255 // (bad) .byte 255,198 // inc %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 170 // stos %al,%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_bgra_dst_avx .globl _sk_load_bgra_dst_avx FUNCTION(_sk_load_bgra_dst_avx) _sk_load_bgra_dst_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,135,0,0,0 // jne cae3 <_sk_load_bgra_dst_avx+0xa7> .byte 196,1,125,16,12,152 // vmovupd (%r8,%r11,4),%ymm9 .byte 197,125,40,21,54,226,1,0 // vmovapd 0x1e236(%rip),%ymm10 # 2aca0 <_sk_srcover_rgba_8888_sse2_lowp+0x6cc> .byte 196,193,53,84,234 // vandpd %ymm10,%ymm9,%ymm5 .byte 197,252,91,237 // vcvtdq2ps %ymm5,%ymm5 .byte 196,98,125,24,5,0,228,1,0 // vbroadcastss 0x1e400(%rip),%ymm8 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 196,193,84,89,240 // vmulps %ymm8,%ymm5,%ymm6 .byte 196,193,81,114,209,8 // vpsrld $0x8,%xmm9,%xmm5 .byte 196,99,125,25,207,1 // vextractf128 $0x1,%ymm9,%xmm7 .byte 197,217,114,215,8 // vpsrld $0x8,%xmm7,%xmm4 .byte 196,227,85,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm5,%ymm4 .byte 196,193,93,84,226 // vandpd %ymm10,%ymm4,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,193,92,89,232 // vmulps %ymm8,%ymm4,%ymm5 .byte 196,193,33,114,209,16 // vpsrld $0x10,%xmm9,%xmm11 .byte 197,217,114,215,16 // vpsrld $0x10,%xmm7,%xmm4 .byte 196,227,37,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm11,%ymm4 .byte 196,193,93,84,226 // vandpd %ymm10,%ymm4,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 196,193,92,89,224 // vmulps %ymm8,%ymm4,%ymm4 .byte 196,193,49,114,209,24 // vpsrld $0x18,%xmm9,%xmm9 .byte 197,193,114,215,24 // vpsrld $0x18,%xmm7,%xmm7 .byte 196,227,53,24,255,1 // vinsertf128 $0x1,%xmm7,%ymm9,%ymm7 .byte 197,252,91,255 // vcvtdq2ps %ymm7,%ymm7 .byte 196,193,68,89,248 // vmulps %ymm8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 196,65,52,87,201 // vxorps %ymm9,%ymm9,%ymm9 .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 15,135,102,255,255,255 // ja ca62 <_sk_load_bgra_dst_avx+0x26> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,145,0,0,0 // lea 0x91(%rip),%r10 # cb98 <_sk_load_bgra_dst_avx+0x15c> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,1,122,16,12,152 // vmovss (%r8,%r11,4),%xmm9 .byte 233,71,255,255,255 // jmpq ca62 <_sk_load_bgra_dst_avx+0x26> .byte 196,129,121,110,100,152,8 // vmovd 0x8(%r8,%r11,4),%xmm4 .byte 197,249,112,228,68 // vpshufd $0x44,%xmm4,%xmm4 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 196,99,85,12,204,4 // vblendps $0x4,%ymm4,%ymm5,%ymm9 .byte 196,129,123,16,36,152 // vmovsd (%r8,%r11,4),%xmm4 .byte 196,99,53,13,204,1 // vblendpd $0x1,%ymm4,%ymm9,%ymm9 .byte 233,32,255,255,255 // jmpq ca62 <_sk_load_bgra_dst_avx+0x26> .byte 196,129,121,110,100,152,24 // vmovd 0x18(%r8,%r11,4),%xmm4 .byte 197,249,112,228,68 // vpshufd $0x44,%xmm4,%xmm4 .byte 196,227,125,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm0,%ymm4 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 196,99,85,12,204,64 // vblendps $0x40,%ymm4,%ymm5,%ymm9 .byte 196,99,125,25,204,1 // vextractf128 $0x1,%ymm9,%xmm4 .byte 196,131,89,34,100,152,20,1 // vpinsrd $0x1,0x14(%r8,%r11,4),%xmm4,%xmm4 .byte 196,99,53,24,204,1 // vinsertf128 $0x1,%xmm4,%ymm9,%ymm9 .byte 196,99,125,25,204,1 // vextractf128 $0x1,%ymm9,%xmm4 .byte 196,131,89,34,100,152,16,0 // vpinsrd $0x0,0x10(%r8,%r11,4),%xmm4,%xmm4 .byte 196,99,53,24,204,1 // vinsertf128 $0x1,%xmm4,%ymm9,%ymm9 .byte 196,129,121,16,36,152 // vmovupd (%r8,%r11,4),%xmm4 .byte 196,67,93,13,201,12 // vblendpd $0xc,%ymm9,%ymm4,%ymm9 .byte 233,203,254,255,255 // jmpq ca62 <_sk_load_bgra_dst_avx+0x26> .byte 144 // nop .byte 120,255 // js cb99 <_sk_load_bgra_dst_avx+0x15d> .byte 255 // (bad) .byte 255,153,255,255,255,131 // lcall *-0x7c000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 238 // out %al,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 218,255 // (bad) .byte 255 // (bad) .byte 255,198 // inc %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 170 // stos %al,%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_gather_bgra_avx .globl _sk_gather_bgra_avx FUNCTION(_sk_gather_bgra_avx) _sk_gather_bgra_avx: .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 197,249,110,80,8 // vmovd 0x8(%rax),%xmm2 .byte 197,249,112,210,0 // vpshufd $0x0,%xmm2,%xmm2 .byte 196,226,105,64,217 // vpmulld %xmm1,%xmm2,%xmm3 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 196,226,105,64,201 // vpmulld %xmm1,%xmm2,%xmm1 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 196,227,125,25,194,1 // vextractf128 $0x1,%ymm0,%xmm2 .byte 197,241,254,202 // vpaddd %xmm2,%xmm1,%xmm1 .byte 196,225,249,126,200 // vmovq %xmm1,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 197,225,254,192 // vpaddd %xmm0,%xmm3,%xmm0 .byte 196,193,249,126,194 // vmovq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,249,22,203,1 // vpextrq $0x1,%xmm1,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,195,249,22,199,1 // vpextrq $0x1,%xmm0,%r15 .byte 69,137,252 // mov %r15d,%r12d .byte 73,193,239,32 // shr $0x20,%r15 .byte 196,129,121,110,4,152 // vmovd (%r8,%r11,4),%xmm0 .byte 196,131,121,34,4,144,1 // vpinsrd $0x1,(%r8,%r10,4),%xmm0,%xmm0 .byte 196,131,121,34,4,160,2 // vpinsrd $0x2,(%r8,%r12,4),%xmm0,%xmm0 .byte 196,3,121,34,4,184,3 // vpinsrd $0x3,(%r8,%r15,4),%xmm0,%xmm8 .byte 196,129,121,110,4,136 // vmovd (%r8,%r9,4),%xmm0 .byte 196,195,121,34,4,128,1 // vpinsrd $0x1,(%r8,%rax,4),%xmm0,%xmm0 .byte 196,131,121,34,4,176,2 // vpinsrd $0x2,(%r8,%r14,4),%xmm0,%xmm0 .byte 196,195,121,34,28,152,3 // vpinsrd $0x3,(%r8,%rbx,4),%xmm0,%xmm3 .byte 196,227,61,24,195,1 // vinsertf128 $0x1,%xmm3,%ymm8,%ymm0 .byte 197,124,40,13,90,224,1,0 // vmovaps 0x1e05a(%rip),%ymm9 # 2acc0 <_sk_srcover_rgba_8888_sse2_lowp+0x6ec> .byte 196,193,124,84,193 // vandps %ymm9,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,21,4,226,1,0 // vbroadcastss 0x1e204(%rip),%ymm10 # 2ae7c <_sk_srcover_rgba_8888_sse2_lowp+0x8a8> .byte 196,193,124,89,210 // vmulps %ymm10,%ymm0,%ymm2 .byte 196,193,121,114,208,8 // vpsrld $0x8,%xmm8,%xmm0 .byte 197,241,114,211,8 // vpsrld $0x8,%xmm3,%xmm1 .byte 196,227,125,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,193,124,84,193 // vandps %ymm9,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,193,124,89,202 // vmulps %ymm10,%ymm0,%ymm1 .byte 196,193,33,114,208,16 // vpsrld $0x10,%xmm8,%xmm11 .byte 197,249,114,211,16 // vpsrld $0x10,%xmm3,%xmm0 .byte 196,227,37,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm11,%ymm0 .byte 196,193,124,84,193 // vandps %ymm9,%ymm0,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,193,124,89,194 // vmulps %ymm10,%ymm0,%ymm0 .byte 196,193,57,114,208,24 // vpsrld $0x18,%xmm8,%xmm8 .byte 197,225,114,211,24 // vpsrld $0x18,%xmm3,%xmm3 .byte 196,227,61,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm8,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,218 // vmulps %ymm10,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_store_bgra_avx .globl _sk_store_bgra_avx FUNCTION(_sk_store_bgra_avx) _sk_store_bgra_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,218 // movslq %edx,%r11 .byte 196,98,125,24,5,52,225,1,0 // vbroadcastss 0x1e134(%rip),%ymm8 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .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 72,133,255 // test %rdi,%rdi .byte 117,10 // jne cd8e <_sk_store_bgra_avx+0xae> .byte 196,1,124,17,4,152 // vmovups %ymm8,(%r8,%r11,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,7 // and $0x7,%r9b .byte 65,254,201 // dec %r9b .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,236 // ja cd8a <_sk_store_bgra_avx+0xaa> .byte 69,15,182,201 // movzbl %r9b,%r9d .byte 76,141,21,83,0,0,0 // lea 0x53(%rip),%r10 # cdfc <_sk_store_bgra_avx+0x11c> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,1,121,126,4,152 // vmovd %xmm8,(%r8,%r11,4) .byte 235,208 // jmp cd8a <_sk_store_bgra_avx+0xaa> .byte 196,3,121,22,68,152,8,2 // vpextrd $0x2,%xmm8,0x8(%r8,%r11,4) .byte 196,1,121,214,4,152 // vmovq %xmm8,(%r8,%r11,4) .byte 235,192 // jmp cd8a <_sk_store_bgra_avx+0xaa> .byte 196,67,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm9 .byte 196,3,121,22,76,152,24,2 // vpextrd $0x2,%xmm9,0x18(%r8,%r11,4) .byte 196,67,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm9 .byte 196,3,121,22,76,152,20,1 // vpextrd $0x1,%xmm9,0x14(%r8,%r11,4) .byte 196,67,125,25,193,1 // vextractf128 $0x1,%ymm8,%xmm9 .byte 196,1,122,17,76,152,16 // vmovss %xmm9,0x10(%r8,%r11,4) .byte 196,1,121,17,4,152 // vmovupd %xmm8,(%r8,%r11,4) .byte 235,143 // jmp cd8a <_sk_store_bgra_avx+0xaa> .byte 144 // nop .byte 182,255 // mov $0xff,%dh .byte 255 // (bad) .byte 255,198 // inc %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 190,255,255,255,247 // mov $0xf7ffffff,%esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 234 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,206 // dec %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_f16_avx .globl _sk_load_f16_avx FUNCTION(_sk_load_f16_avx) _sk_load_f16_avx: .byte 72,131,236,24 // sub $0x18,%rsp .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,3 // shl $0x3,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 197,252,17,124,36,224 // vmovups %ymm7,-0x20(%rsp) .byte 197,252,17,116,36,192 // vmovups %ymm6,-0x40(%rsp) .byte 197,252,17,108,36,160 // vmovups %ymm5,-0x60(%rsp) .byte 197,252,17,100,36,128 // vmovups %ymm4,-0x80(%rsp) .byte 15,133,31,2,0,0 // jne d073 <_sk_load_f16_avx+0x25b> .byte 196,65,121,16,4,192 // vmovupd (%r8,%rax,8),%xmm8 .byte 196,193,121,16,84,192,16 // vmovupd 0x10(%r8,%rax,8),%xmm2 .byte 196,193,121,16,92,192,32 // vmovupd 0x20(%r8,%rax,8),%xmm3 .byte 196,65,122,111,76,192,48 // vmovdqu 0x30(%r8,%rax,8),%xmm9 .byte 197,185,97,194 // vpunpcklwd %xmm2,%xmm8,%xmm0 .byte 197,185,105,210 // vpunpckhwd %xmm2,%xmm8,%xmm2 .byte 196,193,97,97,201 // vpunpcklwd %xmm9,%xmm3,%xmm1 .byte 196,193,97,105,217 // vpunpckhwd %xmm9,%xmm3,%xmm3 .byte 197,121,97,242 // vpunpcklwd %xmm2,%xmm0,%xmm14 .byte 197,121,105,194 // vpunpckhwd %xmm2,%xmm0,%xmm8 .byte 197,113,97,251 // vpunpcklwd %xmm3,%xmm1,%xmm15 .byte 197,113,105,203 // vpunpckhwd %xmm3,%xmm1,%xmm9 .byte 196,193,9,108,199 // vpunpcklqdq %xmm15,%xmm14,%xmm0 .byte 196,226,121,51,200 // vpmovzxwd %xmm0,%xmm1 .byte 197,249,112,192,78 // vpshufd $0x4e,%xmm0,%xmm0 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 197,123,18,21,75,233,1,0 // vmovddup 0x1e94b(%rip),%xmm10 # 2b7f8 <_sk_srcover_rgba_8888_sse2_lowp+0x1224> .byte 196,193,121,219,218 // vpand %xmm10,%xmm0,%xmm3 .byte 196,98,121,24,29,201,224,1,0 // vbroadcastss 0x1e0c9(%rip),%xmm11 # 2af84 <_sk_srcover_rgba_8888_sse2_lowp+0x9b0> .byte 197,33,102,227 // vpcmpgtd %xmm3,%xmm11,%xmm12 .byte 196,193,113,219,210 // vpand %xmm10,%xmm1,%xmm2 .byte 197,33,102,234 // vpcmpgtd %xmm2,%xmm11,%xmm13 .byte 196,195,21,24,252,1 // vinsertf128 $0x1,%xmm12,%ymm13,%ymm7 .byte 197,123,18,37,42,233,1,0 // vmovddup 0x1e92a(%rip),%xmm12 # 2b800 <_sk_srcover_rgba_8888_sse2_lowp+0x122c> .byte 196,193,113,219,204 // vpand %xmm12,%xmm1,%xmm1 .byte 197,241,114,241,16 // vpslld $0x10,%xmm1,%xmm1 .byte 196,193,121,219,196 // vpand %xmm12,%xmm0,%xmm0 .byte 197,249,114,240,16 // vpslld $0x10,%xmm0,%xmm0 .byte 197,233,114,242,13 // vpslld $0xd,%xmm2,%xmm2 .byte 197,241,235,202 // vpor %xmm2,%xmm1,%xmm1 .byte 197,233,114,243,13 // vpslld $0xd,%xmm3,%xmm2 .byte 197,249,235,194 // vpor %xmm2,%xmm0,%xmm0 .byte 196,226,121,24,29,131,224,1,0 // vbroadcastss 0x1e083(%rip),%xmm3 # 2af88 <_sk_srcover_rgba_8888_sse2_lowp+0x9b4> .byte 197,249,254,195 // vpaddd %xmm3,%xmm0,%xmm0 .byte 197,241,254,203 // vpaddd %xmm3,%xmm1,%xmm1 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 196,227,125,74,196,112 // vblendvps %ymm7,%ymm4,%ymm0,%ymm0 .byte 196,193,9,109,207 // vpunpckhqdq %xmm15,%xmm14,%xmm1 .byte 196,226,121,51,209 // vpmovzxwd %xmm1,%xmm2 .byte 197,249,112,201,78 // vpshufd $0x4e,%xmm1,%xmm1 .byte 196,98,121,51,249 // vpmovzxwd %xmm1,%xmm15 .byte 196,193,1,219,250 // vpand %xmm10,%xmm15,%xmm7 .byte 197,33,102,247 // vpcmpgtd %xmm7,%xmm11,%xmm14 .byte 196,193,105,219,202 // vpand %xmm10,%xmm2,%xmm1 .byte 197,33,102,233 // vpcmpgtd %xmm1,%xmm11,%xmm13 .byte 196,67,21,24,238,1 // vinsertf128 $0x1,%xmm14,%ymm13,%ymm13 .byte 196,193,105,219,212 // vpand %xmm12,%xmm2,%xmm2 .byte 197,233,114,242,16 // vpslld $0x10,%xmm2,%xmm2 .byte 197,241,114,241,13 // vpslld $0xd,%xmm1,%xmm1 .byte 197,233,235,201 // vpor %xmm1,%xmm2,%xmm1 .byte 196,193,1,219,212 // vpand %xmm12,%xmm15,%xmm2 .byte 197,233,114,242,16 // vpslld $0x10,%xmm2,%xmm2 .byte 197,193,114,247,13 // vpslld $0xd,%xmm7,%xmm7 .byte 197,233,235,215 // vpor %xmm7,%xmm2,%xmm2 .byte 197,233,254,211 // vpaddd %xmm3,%xmm2,%xmm2 .byte 197,241,254,203 // vpaddd %xmm3,%xmm1,%xmm1 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 196,227,117,74,204,208 // vblendvps %ymm13,%ymm4,%ymm1,%ymm1 .byte 196,193,57,108,209 // vpunpcklqdq %xmm9,%xmm8,%xmm2 .byte 196,226,121,51,250 // vpmovzxwd %xmm2,%xmm7 .byte 197,249,112,210,78 // vpshufd $0x4e,%xmm2,%xmm2 .byte 196,98,121,51,234 // vpmovzxwd %xmm2,%xmm13 .byte 196,65,17,219,250 // vpand %xmm10,%xmm13,%xmm15 .byte 196,65,33,102,247 // vpcmpgtd %xmm15,%xmm11,%xmm14 .byte 196,193,65,219,210 // vpand %xmm10,%xmm7,%xmm2 .byte 197,161,102,242 // vpcmpgtd %xmm2,%xmm11,%xmm6 .byte 196,195,77,24,246,1 // vinsertf128 $0x1,%xmm14,%ymm6,%ymm6 .byte 196,193,65,219,252 // vpand %xmm12,%xmm7,%xmm7 .byte 197,193,114,247,16 // vpslld $0x10,%xmm7,%xmm7 .byte 197,233,114,242,13 // vpslld $0xd,%xmm2,%xmm2 .byte 197,193,235,210 // vpor %xmm2,%xmm7,%xmm2 .byte 196,193,17,219,252 // vpand %xmm12,%xmm13,%xmm7 .byte 197,193,114,247,16 // vpslld $0x10,%xmm7,%xmm7 .byte 196,193,81,114,247,13 // vpslld $0xd,%xmm15,%xmm5 .byte 197,193,235,237 // vpor %xmm5,%xmm7,%xmm5 .byte 197,209,254,235 // vpaddd %xmm3,%xmm5,%xmm5 .byte 197,233,254,211 // vpaddd %xmm3,%xmm2,%xmm2 .byte 196,227,109,24,213,1 // vinsertf128 $0x1,%xmm5,%ymm2,%ymm2 .byte 196,227,109,74,212,96 // vblendvps %ymm6,%ymm4,%ymm2,%ymm2 .byte 196,193,57,109,233 // vpunpckhqdq %xmm9,%xmm8,%xmm5 .byte 196,226,121,51,245 // vpmovzxwd %xmm5,%xmm6 .byte 197,249,112,237,78 // vpshufd $0x4e,%xmm5,%xmm5 .byte 196,226,121,51,237 // vpmovzxwd %xmm5,%xmm5 .byte 196,65,81,219,202 // vpand %xmm10,%xmm5,%xmm9 .byte 196,65,33,102,193 // vpcmpgtd %xmm9,%xmm11,%xmm8 .byte 196,193,73,219,250 // vpand %xmm10,%xmm6,%xmm7 .byte 197,33,102,215 // vpcmpgtd %xmm7,%xmm11,%xmm10 .byte 196,67,45,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm10,%ymm8 .byte 196,193,73,219,244 // vpand %xmm12,%xmm6,%xmm6 .byte 196,193,81,219,236 // vpand %xmm12,%xmm5,%xmm5 .byte 197,201,114,246,16 // vpslld $0x10,%xmm6,%xmm6 .byte 197,193,114,247,13 // vpslld $0xd,%xmm7,%xmm7 .byte 197,201,235,247 // vpor %xmm7,%xmm6,%xmm6 .byte 197,209,114,245,16 // vpslld $0x10,%xmm5,%xmm5 .byte 196,193,65,114,241,13 // vpslld $0xd,%xmm9,%xmm7 .byte 197,209,235,239 // vpor %xmm7,%xmm5,%xmm5 .byte 197,209,254,235 // vpaddd %xmm3,%xmm5,%xmm5 .byte 197,201,254,219 // vpaddd %xmm3,%xmm6,%xmm3 .byte 196,227,101,24,221,1 // vinsertf128 $0x1,%xmm5,%ymm3,%ymm3 .byte 196,227,101,74,220,128 // vblendvps %ymm8,%ymm4,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,100,36,128 // vmovups -0x80(%rsp),%ymm4 .byte 197,252,16,108,36,160 // vmovups -0x60(%rsp),%ymm5 .byte 197,252,16,116,36,192 // vmovups -0x40(%rsp),%ymm6 .byte 197,252,16,124,36,224 // vmovups -0x20(%rsp),%ymm7 .byte 72,131,196,24 // add $0x18,%rsp .byte 255,224 // jmpq *%rax .byte 196,65,123,16,4,192 // vmovsd (%r8,%rax,8),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,85 // je d0d9 <_sk_load_f16_avx+0x2c1> .byte 196,65,57,22,68,192,8 // vmovhpd 0x8(%r8,%rax,8),%xmm8,%xmm8 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,72 // jb d0d9 <_sk_load_f16_avx+0x2c1> .byte 196,193,123,16,84,192,16 // vmovsd 0x10(%r8,%rax,8),%xmm2 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 116,72 // je d0e6 <_sk_load_f16_avx+0x2ce> .byte 196,193,105,22,84,192,24 // vmovhpd 0x18(%r8,%rax,8),%xmm2,%xmm2 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,59 // jb d0e6 <_sk_load_f16_avx+0x2ce> .byte 196,193,123,16,92,192,32 // vmovsd 0x20(%r8,%rax,8),%xmm3 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 15,132,179,253,255,255 // je ce6f <_sk_load_f16_avx+0x57> .byte 196,193,97,22,92,192,40 // vmovhpd 0x28(%r8,%rax,8),%xmm3,%xmm3 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 15,130,162,253,255,255 // jb ce6f <_sk_load_f16_avx+0x57> .byte 196,65,122,126,76,192,48 // vmovq 0x30(%r8,%rax,8),%xmm9 .byte 233,150,253,255,255 // jmpq ce6f <_sk_load_f16_avx+0x57> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 197,233,87,210 // vxorpd %xmm2,%xmm2,%xmm2 .byte 233,137,253,255,255 // jmpq ce6f <_sk_load_f16_avx+0x57> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 233,128,253,255,255 // jmpq ce6f <_sk_load_f16_avx+0x57> HIDDEN _sk_load_f16_dst_avx .globl _sk_load_f16_dst_avx FUNCTION(_sk_load_f16_dst_avx) _sk_load_f16_dst_avx: .byte 72,131,236,24 // sub $0x18,%rsp .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,3 // shl $0x3,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 197,252,17,92,36,224 // vmovups %ymm3,-0x20(%rsp) .byte 197,252,17,84,36,192 // vmovups %ymm2,-0x40(%rsp) .byte 197,252,17,76,36,160 // vmovups %ymm1,-0x60(%rsp) .byte 197,252,17,68,36,128 // vmovups %ymm0,-0x80(%rsp) .byte 15,133,31,2,0,0 // jne d34a <_sk_load_f16_dst_avx+0x25b> .byte 196,65,121,16,4,192 // vmovupd (%r8,%rax,8),%xmm8 .byte 196,193,121,16,116,192,16 // vmovupd 0x10(%r8,%rax,8),%xmm6 .byte 196,193,121,16,124,192,32 // vmovupd 0x20(%r8,%rax,8),%xmm7 .byte 196,65,122,111,76,192,48 // vmovdqu 0x30(%r8,%rax,8),%xmm9 .byte 197,185,97,230 // vpunpcklwd %xmm6,%xmm8,%xmm4 .byte 197,185,105,246 // vpunpckhwd %xmm6,%xmm8,%xmm6 .byte 196,193,65,97,233 // vpunpcklwd %xmm9,%xmm7,%xmm5 .byte 196,193,65,105,249 // vpunpckhwd %xmm9,%xmm7,%xmm7 .byte 197,89,97,246 // vpunpcklwd %xmm6,%xmm4,%xmm14 .byte 197,89,105,198 // vpunpckhwd %xmm6,%xmm4,%xmm8 .byte 197,81,97,255 // vpunpcklwd %xmm7,%xmm5,%xmm15 .byte 197,81,105,207 // vpunpckhwd %xmm7,%xmm5,%xmm9 .byte 196,193,9,108,231 // vpunpcklqdq %xmm15,%xmm14,%xmm4 .byte 196,226,121,51,236 // vpmovzxwd %xmm4,%xmm5 .byte 197,249,112,228,78 // vpshufd $0x4e,%xmm4,%xmm4 .byte 196,226,121,51,228 // vpmovzxwd %xmm4,%xmm4 .byte 197,123,18,21,116,230,1,0 // vmovddup 0x1e674(%rip),%xmm10 # 2b7f8 <_sk_srcover_rgba_8888_sse2_lowp+0x1224> .byte 196,193,89,219,250 // vpand %xmm10,%xmm4,%xmm7 .byte 196,98,121,24,29,242,221,1,0 // vbroadcastss 0x1ddf2(%rip),%xmm11 # 2af84 <_sk_srcover_rgba_8888_sse2_lowp+0x9b0> .byte 197,33,102,231 // vpcmpgtd %xmm7,%xmm11,%xmm12 .byte 196,193,81,219,242 // vpand %xmm10,%xmm5,%xmm6 .byte 197,33,102,238 // vpcmpgtd %xmm6,%xmm11,%xmm13 .byte 196,195,21,24,220,1 // vinsertf128 $0x1,%xmm12,%ymm13,%ymm3 .byte 197,123,18,37,83,230,1,0 // vmovddup 0x1e653(%rip),%xmm12 # 2b800 <_sk_srcover_rgba_8888_sse2_lowp+0x122c> .byte 196,193,81,219,236 // vpand %xmm12,%xmm5,%xmm5 .byte 197,209,114,245,16 // vpslld $0x10,%xmm5,%xmm5 .byte 196,193,89,219,228 // vpand %xmm12,%xmm4,%xmm4 .byte 197,217,114,244,16 // vpslld $0x10,%xmm4,%xmm4 .byte 197,201,114,246,13 // vpslld $0xd,%xmm6,%xmm6 .byte 197,209,235,238 // vpor %xmm6,%xmm5,%xmm5 .byte 197,201,114,247,13 // vpslld $0xd,%xmm7,%xmm6 .byte 197,217,235,230 // vpor %xmm6,%xmm4,%xmm4 .byte 196,226,121,24,61,172,221,1,0 // vbroadcastss 0x1ddac(%rip),%xmm7 # 2af88 <_sk_srcover_rgba_8888_sse2_lowp+0x9b4> .byte 197,217,254,231 // vpaddd %xmm7,%xmm4,%xmm4 .byte 197,209,254,239 // vpaddd %xmm7,%xmm5,%xmm5 .byte 196,227,85,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm5,%ymm4 .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 196,227,93,74,224,48 // vblendvps %ymm3,%ymm0,%ymm4,%ymm4 .byte 196,193,9,109,223 // vpunpckhqdq %xmm15,%xmm14,%xmm3 .byte 196,226,121,51,235 // vpmovzxwd %xmm3,%xmm5 .byte 197,249,112,219,78 // vpshufd $0x4e,%xmm3,%xmm3 .byte 196,98,121,51,251 // vpmovzxwd %xmm3,%xmm15 .byte 196,193,1,219,242 // vpand %xmm10,%xmm15,%xmm6 .byte 197,33,102,246 // vpcmpgtd %xmm6,%xmm11,%xmm14 .byte 196,193,81,219,218 // vpand %xmm10,%xmm5,%xmm3 .byte 197,33,102,235 // vpcmpgtd %xmm3,%xmm11,%xmm13 .byte 196,67,21,24,238,1 // vinsertf128 $0x1,%xmm14,%ymm13,%ymm13 .byte 196,193,81,219,236 // vpand %xmm12,%xmm5,%xmm5 .byte 197,209,114,245,16 // vpslld $0x10,%xmm5,%xmm5 .byte 197,225,114,243,13 // vpslld $0xd,%xmm3,%xmm3 .byte 197,209,235,219 // vpor %xmm3,%xmm5,%xmm3 .byte 196,193,1,219,236 // vpand %xmm12,%xmm15,%xmm5 .byte 197,209,114,245,16 // vpslld $0x10,%xmm5,%xmm5 .byte 197,201,114,246,13 // vpslld $0xd,%xmm6,%xmm6 .byte 197,209,235,238 // vpor %xmm6,%xmm5,%xmm5 .byte 197,209,254,239 // vpaddd %xmm7,%xmm5,%xmm5 .byte 197,225,254,223 // vpaddd %xmm7,%xmm3,%xmm3 .byte 196,227,101,24,221,1 // vinsertf128 $0x1,%xmm5,%ymm3,%ymm3 .byte 196,227,101,74,232,208 // vblendvps %ymm13,%ymm0,%ymm3,%ymm5 .byte 196,193,57,108,217 // vpunpcklqdq %xmm9,%xmm8,%xmm3 .byte 196,226,121,51,243 // vpmovzxwd %xmm3,%xmm6 .byte 197,249,112,219,78 // vpshufd $0x4e,%xmm3,%xmm3 .byte 196,98,121,51,235 // vpmovzxwd %xmm3,%xmm13 .byte 196,65,17,219,250 // vpand %xmm10,%xmm13,%xmm15 .byte 196,65,33,102,247 // vpcmpgtd %xmm15,%xmm11,%xmm14 .byte 196,193,73,219,218 // vpand %xmm10,%xmm6,%xmm3 .byte 197,161,102,211 // vpcmpgtd %xmm3,%xmm11,%xmm2 .byte 196,195,109,24,214,1 // vinsertf128 $0x1,%xmm14,%ymm2,%ymm2 .byte 196,193,73,219,244 // vpand %xmm12,%xmm6,%xmm6 .byte 197,201,114,246,16 // vpslld $0x10,%xmm6,%xmm6 .byte 197,225,114,243,13 // vpslld $0xd,%xmm3,%xmm3 .byte 197,201,235,219 // vpor %xmm3,%xmm6,%xmm3 .byte 196,193,17,219,244 // vpand %xmm12,%xmm13,%xmm6 .byte 197,201,114,246,16 // vpslld $0x10,%xmm6,%xmm6 .byte 196,193,113,114,247,13 // vpslld $0xd,%xmm15,%xmm1 .byte 197,201,235,201 // vpor %xmm1,%xmm6,%xmm1 .byte 197,241,254,207 // vpaddd %xmm7,%xmm1,%xmm1 .byte 197,225,254,223 // vpaddd %xmm7,%xmm3,%xmm3 .byte 196,227,101,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm3,%ymm1 .byte 196,227,117,74,240,32 // vblendvps %ymm2,%ymm0,%ymm1,%ymm6 .byte 196,193,57,109,201 // vpunpckhqdq %xmm9,%xmm8,%xmm1 .byte 196,226,121,51,209 // vpmovzxwd %xmm1,%xmm2 .byte 197,249,112,201,78 // vpshufd $0x4e,%xmm1,%xmm1 .byte 196,226,121,51,201 // vpmovzxwd %xmm1,%xmm1 .byte 196,65,113,219,202 // vpand %xmm10,%xmm1,%xmm9 .byte 196,65,33,102,193 // vpcmpgtd %xmm9,%xmm11,%xmm8 .byte 196,193,105,219,218 // vpand %xmm10,%xmm2,%xmm3 .byte 197,33,102,211 // vpcmpgtd %xmm3,%xmm11,%xmm10 .byte 196,67,45,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm10,%ymm8 .byte 196,193,105,219,212 // vpand %xmm12,%xmm2,%xmm2 .byte 196,193,113,219,204 // vpand %xmm12,%xmm1,%xmm1 .byte 197,233,114,242,16 // vpslld $0x10,%xmm2,%xmm2 .byte 197,225,114,243,13 // vpslld $0xd,%xmm3,%xmm3 .byte 197,233,235,211 // vpor %xmm3,%xmm2,%xmm2 .byte 197,241,114,241,16 // vpslld $0x10,%xmm1,%xmm1 .byte 196,193,97,114,241,13 // vpslld $0xd,%xmm9,%xmm3 .byte 197,241,235,203 // vpor %xmm3,%xmm1,%xmm1 .byte 197,241,254,207 // vpaddd %xmm7,%xmm1,%xmm1 .byte 197,233,254,215 // vpaddd %xmm7,%xmm2,%xmm2 .byte 196,227,109,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm2,%ymm1 .byte 196,227,117,74,248,128 // vblendvps %ymm8,%ymm0,%ymm1,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,68,36,128 // vmovups -0x80(%rsp),%ymm0 .byte 197,252,16,76,36,160 // vmovups -0x60(%rsp),%ymm1 .byte 197,252,16,84,36,192 // vmovups -0x40(%rsp),%ymm2 .byte 197,252,16,92,36,224 // vmovups -0x20(%rsp),%ymm3 .byte 72,131,196,24 // add $0x18,%rsp .byte 255,224 // jmpq *%rax .byte 196,65,123,16,4,192 // vmovsd (%r8,%rax,8),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,85 // je d3b0 <_sk_load_f16_dst_avx+0x2c1> .byte 196,65,57,22,68,192,8 // vmovhpd 0x8(%r8,%rax,8),%xmm8,%xmm8 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,72 // jb d3b0 <_sk_load_f16_dst_avx+0x2c1> .byte 196,193,123,16,116,192,16 // vmovsd 0x10(%r8,%rax,8),%xmm6 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 116,72 // je d3bd <_sk_load_f16_dst_avx+0x2ce> .byte 196,193,73,22,116,192,24 // vmovhpd 0x18(%r8,%rax,8),%xmm6,%xmm6 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,59 // jb d3bd <_sk_load_f16_dst_avx+0x2ce> .byte 196,193,123,16,124,192,32 // vmovsd 0x20(%r8,%rax,8),%xmm7 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 15,132,179,253,255,255 // je d146 <_sk_load_f16_dst_avx+0x57> .byte 196,193,65,22,124,192,40 // vmovhpd 0x28(%r8,%rax,8),%xmm7,%xmm7 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 15,130,162,253,255,255 // jb d146 <_sk_load_f16_dst_avx+0x57> .byte 196,65,122,126,76,192,48 // vmovq 0x30(%r8,%rax,8),%xmm9 .byte 233,150,253,255,255 // jmpq d146 <_sk_load_f16_dst_avx+0x57> .byte 197,193,87,255 // vxorpd %xmm7,%xmm7,%xmm7 .byte 197,201,87,246 // vxorpd %xmm6,%xmm6,%xmm6 .byte 233,137,253,255,255 // jmpq d146 <_sk_load_f16_dst_avx+0x57> .byte 197,193,87,255 // vxorpd %xmm7,%xmm7,%xmm7 .byte 233,128,253,255,255 // jmpq d146 <_sk_load_f16_dst_avx+0x57> HIDDEN _sk_gather_f16_avx .globl _sk_gather_f16_avx FUNCTION(_sk_gather_f16_avx) _sk_gather_f16_avx: .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 197,252,17,124,36,200 // vmovups %ymm7,-0x38(%rsp) .byte 197,252,17,116,36,168 // vmovups %ymm6,-0x58(%rsp) .byte 197,252,17,108,36,136 // vmovups %ymm5,-0x78(%rsp) .byte 197,252,40,236 // vmovaps %ymm4,%ymm5 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 197,254,91,209 // vcvttps2dq %ymm1,%ymm2 .byte 197,249,110,72,8 // vmovd 0x8(%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,227,249,22,208,1 // vpextrq $0x1,%xmm2,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 196,193,249,126,210 // vmovq %xmm2,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 197,241,254,192 // vpaddd %xmm0,%xmm1,%xmm0 .byte 196,227,249,22,195,1 // vpextrq $0x1,%xmm0,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 196,193,249,126,199 // vmovq %xmm0,%r15 .byte 69,137,252 // mov %r15d,%r12d .byte 73,193,239,32 // shr $0x20,%r15 .byte 196,129,122,126,4,248 // vmovq (%r8,%r15,8),%xmm0 .byte 196,129,122,126,12,224 // vmovq (%r8,%r12,8),%xmm1 .byte 197,113,108,200 // vpunpcklqdq %xmm0,%xmm1,%xmm9 .byte 196,193,122,126,12,216 // vmovq (%r8,%rbx,8),%xmm1 .byte 196,129,122,126,20,240 // vmovq (%r8,%r14,8),%xmm2 .byte 197,233,108,201 // vpunpcklqdq %xmm1,%xmm2,%xmm1 .byte 196,129,122,126,20,208 // vmovq (%r8,%r10,8),%xmm2 .byte 196,129,122,126,28,216 // vmovq (%r8,%r11,8),%xmm3 .byte 197,225,108,210 // vpunpcklqdq %xmm2,%xmm3,%xmm2 .byte 196,65,122,126,4,192 // vmovq (%r8,%rax,8),%xmm8 .byte 196,129,122,126,28,200 // vmovq (%r8,%r9,8),%xmm3 .byte 196,193,97,108,216 // vpunpcklqdq %xmm8,%xmm3,%xmm3 .byte 197,177,97,193 // vpunpcklwd %xmm1,%xmm9,%xmm0 .byte 197,177,105,201 // vpunpckhwd %xmm1,%xmm9,%xmm1 .byte 197,105,97,203 // vpunpcklwd %xmm3,%xmm2,%xmm9 .byte 197,233,105,211 // vpunpckhwd %xmm3,%xmm2,%xmm2 .byte 197,121,97,241 // vpunpcklwd %xmm1,%xmm0,%xmm14 .byte 197,121,105,193 // vpunpckhwd %xmm1,%xmm0,%xmm8 .byte 197,49,97,250 // vpunpcklwd %xmm2,%xmm9,%xmm15 .byte 197,49,105,202 // vpunpckhwd %xmm2,%xmm9,%xmm9 .byte 196,193,9,108,199 // vpunpcklqdq %xmm15,%xmm14,%xmm0 .byte 196,226,121,51,208 // vpmovzxwd %xmm0,%xmm2 .byte 197,249,112,192,78 // vpshufd $0x4e,%xmm0,%xmm0 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 197,123,18,21,49,227,1,0 // vmovddup 0x1e331(%rip),%xmm10 # 2b7f8 <_sk_srcover_rgba_8888_sse2_lowp+0x1224> .byte 196,193,121,219,218 // vpand %xmm10,%xmm0,%xmm3 .byte 196,98,121,24,29,175,218,1,0 // vbroadcastss 0x1daaf(%rip),%xmm11 # 2af84 <_sk_srcover_rgba_8888_sse2_lowp+0x9b0> .byte 197,33,102,227 // vpcmpgtd %xmm3,%xmm11,%xmm12 .byte 196,193,105,219,202 // vpand %xmm10,%xmm2,%xmm1 .byte 197,33,102,233 // vpcmpgtd %xmm1,%xmm11,%xmm13 .byte 196,195,21,24,228,1 // vinsertf128 $0x1,%xmm12,%ymm13,%ymm4 .byte 197,123,18,37,16,227,1,0 // vmovddup 0x1e310(%rip),%xmm12 # 2b800 <_sk_srcover_rgba_8888_sse2_lowp+0x122c> .byte 196,193,105,219,212 // vpand %xmm12,%xmm2,%xmm2 .byte 197,233,114,242,16 // vpslld $0x10,%xmm2,%xmm2 .byte 196,193,121,219,196 // vpand %xmm12,%xmm0,%xmm0 .byte 197,249,114,240,16 // vpslld $0x10,%xmm0,%xmm0 .byte 197,241,114,241,13 // vpslld $0xd,%xmm1,%xmm1 .byte 197,233,235,201 // vpor %xmm1,%xmm2,%xmm1 .byte 197,233,114,243,13 // vpslld $0xd,%xmm3,%xmm2 .byte 197,249,235,194 // vpor %xmm2,%xmm0,%xmm0 .byte 196,226,121,24,29,105,218,1,0 // vbroadcastss 0x1da69(%rip),%xmm3 # 2af88 <_sk_srcover_rgba_8888_sse2_lowp+0x9b4> .byte 197,249,254,195 // vpaddd %xmm3,%xmm0,%xmm0 .byte 197,241,254,203 // vpaddd %xmm3,%xmm1,%xmm1 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 196,65,20,87,237 // vxorps %ymm13,%ymm13,%ymm13 .byte 196,195,125,74,197,64 // vblendvps %ymm4,%ymm13,%ymm0,%ymm0 .byte 196,193,9,109,207 // vpunpckhqdq %xmm15,%xmm14,%xmm1 .byte 196,226,121,51,209 // vpmovzxwd %xmm1,%xmm2 .byte 197,249,112,201,78 // vpshufd $0x4e,%xmm1,%xmm1 .byte 196,98,121,51,249 // vpmovzxwd %xmm1,%xmm15 .byte 196,193,1,219,226 // vpand %xmm10,%xmm15,%xmm4 .byte 197,33,102,244 // vpcmpgtd %xmm4,%xmm11,%xmm14 .byte 196,193,105,219,202 // vpand %xmm10,%xmm2,%xmm1 .byte 197,161,102,249 // vpcmpgtd %xmm1,%xmm11,%xmm7 .byte 196,195,69,24,254,1 // vinsertf128 $0x1,%xmm14,%ymm7,%ymm7 .byte 196,193,105,219,212 // vpand %xmm12,%xmm2,%xmm2 .byte 197,233,114,242,16 // vpslld $0x10,%xmm2,%xmm2 .byte 197,241,114,241,13 // vpslld $0xd,%xmm1,%xmm1 .byte 197,233,235,201 // vpor %xmm1,%xmm2,%xmm1 .byte 196,193,1,219,212 // vpand %xmm12,%xmm15,%xmm2 .byte 197,233,114,242,16 // vpslld $0x10,%xmm2,%xmm2 .byte 197,217,114,244,13 // vpslld $0xd,%xmm4,%xmm4 .byte 197,233,235,212 // vpor %xmm4,%xmm2,%xmm2 .byte 197,233,254,211 // vpaddd %xmm3,%xmm2,%xmm2 .byte 197,241,254,203 // vpaddd %xmm3,%xmm1,%xmm1 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 196,195,117,74,205,112 // vblendvps %ymm7,%ymm13,%ymm1,%ymm1 .byte 196,193,57,108,209 // vpunpcklqdq %xmm9,%xmm8,%xmm2 .byte 196,226,121,51,226 // vpmovzxwd %xmm2,%xmm4 .byte 197,249,112,210,78 // vpshufd $0x4e,%xmm2,%xmm2 .byte 196,98,121,51,250 // vpmovzxwd %xmm2,%xmm15 .byte 196,193,1,219,250 // vpand %xmm10,%xmm15,%xmm7 .byte 197,33,102,247 // vpcmpgtd %xmm7,%xmm11,%xmm14 .byte 196,193,89,219,210 // vpand %xmm10,%xmm4,%xmm2 .byte 197,161,102,242 // vpcmpgtd %xmm2,%xmm11,%xmm6 .byte 196,195,77,24,246,1 // vinsertf128 $0x1,%xmm14,%ymm6,%ymm6 .byte 196,193,89,219,228 // vpand %xmm12,%xmm4,%xmm4 .byte 197,217,114,244,16 // vpslld $0x10,%xmm4,%xmm4 .byte 197,233,114,242,13 // vpslld $0xd,%xmm2,%xmm2 .byte 197,217,235,210 // vpor %xmm2,%xmm4,%xmm2 .byte 196,193,1,219,228 // vpand %xmm12,%xmm15,%xmm4 .byte 197,217,114,244,16 // vpslld $0x10,%xmm4,%xmm4 .byte 197,193,114,247,13 // vpslld $0xd,%xmm7,%xmm7 .byte 197,217,235,231 // vpor %xmm7,%xmm4,%xmm4 .byte 197,217,254,227 // vpaddd %xmm3,%xmm4,%xmm4 .byte 197,233,254,211 // vpaddd %xmm3,%xmm2,%xmm2 .byte 196,227,109,24,212,1 // vinsertf128 $0x1,%xmm4,%ymm2,%ymm2 .byte 196,195,109,74,213,96 // vblendvps %ymm6,%ymm13,%ymm2,%ymm2 .byte 196,193,57,109,225 // vpunpckhqdq %xmm9,%xmm8,%xmm4 .byte 196,226,121,51,244 // vpmovzxwd %xmm4,%xmm6 .byte 197,249,112,228,78 // vpshufd $0x4e,%xmm4,%xmm4 .byte 196,226,121,51,228 // vpmovzxwd %xmm4,%xmm4 .byte 196,65,89,219,202 // vpand %xmm10,%xmm4,%xmm9 .byte 196,65,33,102,193 // vpcmpgtd %xmm9,%xmm11,%xmm8 .byte 196,193,73,219,250 // vpand %xmm10,%xmm6,%xmm7 .byte 197,33,102,215 // vpcmpgtd %xmm7,%xmm11,%xmm10 .byte 196,67,45,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm10,%ymm8 .byte 196,193,73,219,244 // vpand %xmm12,%xmm6,%xmm6 .byte 196,193,89,219,228 // vpand %xmm12,%xmm4,%xmm4 .byte 197,201,114,246,16 // vpslld $0x10,%xmm6,%xmm6 .byte 197,193,114,247,13 // vpslld $0xd,%xmm7,%xmm7 .byte 197,201,235,247 // vpor %xmm7,%xmm6,%xmm6 .byte 197,217,114,244,16 // vpslld $0x10,%xmm4,%xmm4 .byte 196,193,65,114,241,13 // vpslld $0xd,%xmm9,%xmm7 .byte 197,217,235,231 // vpor %xmm7,%xmm4,%xmm4 .byte 197,217,254,227 // vpaddd %xmm3,%xmm4,%xmm4 .byte 197,201,254,219 // vpaddd %xmm3,%xmm6,%xmm3 .byte 196,227,101,24,220,1 // vinsertf128 $0x1,%xmm4,%ymm3,%ymm3 .byte 196,195,101,74,221,128 // vblendvps %ymm8,%ymm13,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,229 // vmovaps %ymm5,%ymm4 .byte 197,252,16,108,36,136 // vmovups -0x78(%rsp),%ymm5 .byte 197,252,16,116,36,168 // vmovups -0x58(%rsp),%ymm6 .byte 197,252,16,124,36,200 // vmovups -0x38(%rsp),%ymm7 .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_store_f16_avx .globl _sk_store_f16_avx FUNCTION(_sk_store_f16_avx) _sk_store_f16_avx: .byte 72,131,236,56 // sub $0x38,%rsp .byte 197,252,17,60,36 // vmovups %ymm7,(%rsp) .byte 197,252,17,116,36,224 // vmovups %ymm6,-0x20(%rsp) .byte 197,252,17,108,36,192 // vmovups %ymm5,-0x40(%rsp) .byte 197,252,17,100,36,160 // vmovups %ymm4,-0x60(%rsp) .byte 197,252,40,225 // vmovaps %ymm1,%ymm4 .byte 196,98,125,24,5,171,216,1,0 // vbroadcastss 0x1d8ab(%rip),%ymm8 # 2af60 <_sk_srcover_rgba_8888_sse2_lowp+0x98c> .byte 196,65,124,84,216 // vandps %ymm8,%ymm0,%ymm11 .byte 196,98,125,24,21,201,216,1,0 // vbroadcastss 0x1d8c9(%rip),%ymm10 # 2af8c <_sk_srcover_rgba_8888_sse2_lowp+0x9b8> .byte 196,65,124,84,226 // vandps %ymm10,%ymm0,%ymm12 .byte 196,67,125,25,229,1 // vextractf128 $0x1,%ymm12,%xmm13 .byte 196,98,121,24,13,185,216,1,0 // vbroadcastss 0x1d8b9(%rip),%xmm9 # 2af90 <_sk_srcover_rgba_8888_sse2_lowp+0x9bc> .byte 196,65,49,102,245 // vpcmpgtd %xmm13,%xmm9,%xmm14 .byte 196,65,49,102,252 // vpcmpgtd %xmm12,%xmm9,%xmm15 .byte 196,67,5,24,246,1 // vinsertf128 $0x1,%xmm14,%ymm15,%ymm14 .byte 196,67,125,25,223,1 // vextractf128 $0x1,%ymm11,%xmm15 .byte 196,193,1,114,215,16 // vpsrld $0x10,%xmm15,%xmm15 .byte 196,193,33,114,211,16 // vpsrld $0x10,%xmm11,%xmm11 .byte 196,193,17,114,213,13 // vpsrld $0xd,%xmm13,%xmm13 .byte 196,65,17,254,239 // vpaddd %xmm15,%xmm13,%xmm13 .byte 196,193,25,114,212,13 // vpsrld $0xd,%xmm12,%xmm12 .byte 196,65,25,254,227 // vpaddd %xmm11,%xmm12,%xmm12 .byte 196,98,121,24,29,124,216,1,0 // vbroadcastss 0x1d87c(%rip),%xmm11 # 2af94 <_sk_srcover_rgba_8888_sse2_lowp+0x9c0> .byte 196,65,17,254,235 // vpaddd %xmm11,%xmm13,%xmm13 .byte 196,65,25,254,227 // vpaddd %xmm11,%xmm12,%xmm12 .byte 196,67,29,24,237,1 // vinsertf128 $0x1,%xmm13,%ymm12,%ymm13 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 196,99,21,74,233,224 // vblendvps %ymm14,%ymm1,%ymm13,%ymm13 .byte 196,65,92,84,242 // vandps %ymm10,%ymm4,%ymm14 .byte 196,67,125,25,247,1 // vextractf128 $0x1,%ymm14,%xmm15 .byte 196,193,49,102,255 // vpcmpgtd %xmm15,%xmm9,%xmm7 .byte 196,65,49,102,230 // vpcmpgtd %xmm14,%xmm9,%xmm12 .byte 196,227,29,24,255,1 // vinsertf128 $0x1,%xmm7,%ymm12,%ymm7 .byte 197,252,17,100,36,128 // vmovups %ymm4,-0x80(%rsp) .byte 196,65,92,84,224 // vandps %ymm8,%ymm4,%ymm12 .byte 196,99,125,25,230,1 // vextractf128 $0x1,%ymm12,%xmm6 .byte 197,201,114,214,16 // vpsrld $0x10,%xmm6,%xmm6 .byte 196,193,81,114,215,13 // vpsrld $0xd,%xmm15,%xmm5 .byte 197,124,40,250 // vmovaps %ymm2,%ymm15 .byte 197,209,254,238 // vpaddd %xmm6,%xmm5,%xmm5 .byte 196,193,73,114,212,16 // vpsrld $0x10,%xmm12,%xmm6 .byte 196,193,89,114,214,13 // vpsrld $0xd,%xmm14,%xmm4 .byte 197,217,254,230 // vpaddd %xmm6,%xmm4,%xmm4 .byte 196,193,81,254,235 // vpaddd %xmm11,%xmm5,%xmm5 .byte 196,193,89,254,227 // vpaddd %xmm11,%xmm4,%xmm4 .byte 196,227,93,24,229,1 // vinsertf128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,99,93,74,241,112 // vblendvps %ymm7,%ymm1,%ymm4,%ymm14 .byte 196,193,4,84,226 // vandps %ymm10,%ymm15,%ymm4 .byte 196,227,125,25,229,1 // vextractf128 $0x1,%ymm4,%xmm5 .byte 197,177,102,245 // vpcmpgtd %xmm5,%xmm9,%xmm6 .byte 197,177,102,252 // vpcmpgtd %xmm4,%xmm9,%xmm7 .byte 196,227,69,24,246,1 // vinsertf128 $0x1,%xmm6,%ymm7,%ymm6 .byte 196,193,4,84,248 // vandps %ymm8,%ymm15,%ymm7 .byte 196,227,125,25,250,1 // vextractf128 $0x1,%ymm7,%xmm2 .byte 197,233,114,210,16 // vpsrld $0x10,%xmm2,%xmm2 .byte 197,209,114,213,13 // vpsrld $0xd,%xmm5,%xmm5 .byte 197,209,254,210 // vpaddd %xmm2,%xmm5,%xmm2 .byte 197,209,114,215,16 // vpsrld $0x10,%xmm7,%xmm5 .byte 197,217,114,212,13 // vpsrld $0xd,%xmm4,%xmm4 .byte 197,217,254,229 // vpaddd %xmm5,%xmm4,%xmm4 .byte 196,193,105,254,211 // vpaddd %xmm11,%xmm2,%xmm2 .byte 196,193,89,254,227 // vpaddd %xmm11,%xmm4,%xmm4 .byte 196,227,93,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm4,%ymm2 .byte 196,99,109,74,225,96 // vblendvps %ymm6,%ymm1,%ymm2,%ymm12 .byte 196,193,100,84,226 // vandps %ymm10,%ymm3,%ymm4 .byte 196,227,125,25,229,1 // vextractf128 $0x1,%ymm4,%xmm5 .byte 197,177,102,245 // vpcmpgtd %xmm5,%xmm9,%xmm6 .byte 197,177,102,252 // vpcmpgtd %xmm4,%xmm9,%xmm7 .byte 196,227,69,24,246,1 // vinsertf128 $0x1,%xmm6,%ymm7,%ymm6 .byte 196,193,100,84,248 // vandps %ymm8,%ymm3,%ymm7 .byte 196,227,125,25,250,1 // vextractf128 $0x1,%ymm7,%xmm2 .byte 197,233,114,210,16 // vpsrld $0x10,%xmm2,%xmm2 .byte 197,209,114,213,13 // vpsrld $0xd,%xmm5,%xmm5 .byte 197,209,254,210 // vpaddd %xmm2,%xmm5,%xmm2 .byte 197,209,114,215,16 // vpsrld $0x10,%xmm7,%xmm5 .byte 197,217,114,212,13 // vpsrld $0xd,%xmm4,%xmm4 .byte 197,217,254,229 // vpaddd %xmm5,%xmm4,%xmm4 .byte 196,193,105,254,211 // vpaddd %xmm11,%xmm2,%xmm2 .byte 196,193,89,254,227 // vpaddd %xmm11,%xmm4,%xmm4 .byte 196,227,93,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm4,%ymm2 .byte 196,227,109,74,201,96 // vblendvps %ymm6,%ymm1,%ymm2,%ymm1 .byte 196,99,125,25,234,1 // vextractf128 $0x1,%ymm13,%xmm2 .byte 196,226,17,43,210 // vpackusdw %xmm2,%xmm13,%xmm2 .byte 196,99,125,25,244,1 // vextractf128 $0x1,%ymm14,%xmm4 .byte 196,226,9,43,228 // vpackusdw %xmm4,%xmm14,%xmm4 .byte 196,99,125,25,229,1 // vextractf128 $0x1,%ymm12,%xmm5 .byte 196,226,25,43,245 // vpackusdw %xmm5,%xmm12,%xmm6 .byte 196,227,125,25,205,1 // vextractf128 $0x1,%ymm1,%xmm5 .byte 196,226,113,43,205 // vpackusdw %xmm5,%xmm1,%xmm1 .byte 197,233,97,236 // vpunpcklwd %xmm4,%xmm2,%xmm5 .byte 197,233,105,212 // vpunpckhwd %xmm4,%xmm2,%xmm2 .byte 197,201,97,225 // vpunpcklwd %xmm1,%xmm6,%xmm4 .byte 197,201,105,201 // vpunpckhwd %xmm1,%xmm6,%xmm1 .byte 197,81,98,220 // vpunpckldq %xmm4,%xmm5,%xmm11 .byte 197,81,106,212 // vpunpckhdq %xmm4,%xmm5,%xmm10 .byte 197,105,98,201 // vpunpckldq %xmm1,%xmm2,%xmm9 .byte 197,105,106,193 // vpunpckhdq %xmm1,%xmm2,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,3 // shl $0x3,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 117,68 // jne d8ef <_sk_store_f16_avx+0x262> .byte 196,65,122,127,28,192 // vmovdqu %xmm11,(%r8,%rax,8) .byte 196,65,122,127,84,192,16 // vmovdqu %xmm10,0x10(%r8,%rax,8) .byte 196,65,122,127,76,192,32 // vmovdqu %xmm9,0x20(%r8,%rax,8) .byte 196,65,122,127,68,192,48 // vmovdqu %xmm8,0x30(%r8,%rax,8) .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,76,36,128 // vmovups -0x80(%rsp),%ymm1 .byte 197,124,41,250 // vmovaps %ymm15,%ymm2 .byte 197,252,16,100,36,160 // vmovups -0x60(%rsp),%ymm4 .byte 197,252,16,108,36,192 // vmovups -0x40(%rsp),%ymm5 .byte 197,252,16,116,36,224 // vmovups -0x20(%rsp),%ymm6 .byte 197,252,16,60,36 // vmovups (%rsp),%ymm7 .byte 72,131,196,56 // add $0x38,%rsp .byte 255,224 // jmpq *%rax .byte 196,65,121,214,28,192 // vmovq %xmm11,(%r8,%rax,8) .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,203 // je d8c6 <_sk_store_f16_avx+0x239> .byte 196,65,121,23,92,192,8 // vmovhpd %xmm11,0x8(%r8,%rax,8) .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,190 // jb d8c6 <_sk_store_f16_avx+0x239> .byte 196,65,121,214,84,192,16 // vmovq %xmm10,0x10(%r8,%rax,8) .byte 116,181 // je d8c6 <_sk_store_f16_avx+0x239> .byte 196,65,121,23,84,192,24 // vmovhpd %xmm10,0x18(%r8,%rax,8) .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,168 // jb d8c6 <_sk_store_f16_avx+0x239> .byte 196,65,121,214,76,192,32 // vmovq %xmm9,0x20(%r8,%rax,8) .byte 116,159 // je d8c6 <_sk_store_f16_avx+0x239> .byte 196,65,121,23,76,192,40 // vmovhpd %xmm9,0x28(%r8,%rax,8) .byte 72,131,255,7 // cmp $0x7,%rdi .byte 114,146 // jb d8c6 <_sk_store_f16_avx+0x239> .byte 196,65,121,214,68,192,48 // vmovq %xmm8,0x30(%r8,%rax,8) .byte 235,137 // jmp d8c6 <_sk_store_f16_avx+0x239> 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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%rax .byte 72,133,255 // test %rdi,%rdi .byte 15,133,12,1,0,0 // jne da70 <_sk_load_u16_be_avx+0x133> .byte 196,65,121,16,4,64 // vmovupd (%r8,%rax,2),%xmm8 .byte 196,193,121,16,84,64,16 // vmovupd 0x10(%r8,%rax,2),%xmm2 .byte 196,193,121,16,92,64,32 // vmovupd 0x20(%r8,%rax,2),%xmm3 .byte 196,65,122,111,76,64,48 // vmovdqu 0x30(%r8,%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,210 // vpunpcklwd %xmm2,%xmm0,%xmm10 .byte 197,121,105,194 // vpunpckhwd %xmm2,%xmm0,%xmm8 .byte 197,241,97,211 // vpunpcklwd %xmm3,%xmm1,%xmm2 .byte 197,113,105,219 // vpunpckhwd %xmm3,%xmm1,%xmm11 .byte 197,169,108,194 // vpunpcklqdq %xmm2,%xmm10,%xmm0 .byte 197,241,113,240,8 // vpsllw $0x8,%xmm0,%xmm1 .byte 197,249,113,208,8 // vpsrlw $0x8,%xmm0,%xmm0 .byte 197,241,235,192 // vpor %xmm0,%xmm1,%xmm0 .byte 196,226,121,51,200 // vpmovzxwd %xmm0,%xmm1 .byte 197,249,112,192,78 // vpshufd $0x4e,%xmm0,%xmm0 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,13,195,212,1,0 // vbroadcastss 0x1d4c3(%rip),%ymm9 # 2ae98 <_sk_srcover_rgba_8888_sse2_lowp+0x8c4> .byte 196,193,124,89,193 // vmulps %ymm9,%ymm0,%ymm0 .byte 197,169,109,202 // vpunpckhqdq %xmm2,%xmm10,%xmm1 .byte 197,233,113,241,8 // vpsllw $0x8,%xmm1,%xmm2 .byte 197,241,113,209,8 // vpsrlw $0x8,%xmm1,%xmm1 .byte 197,233,235,201 // vpor %xmm1,%xmm2,%xmm1 .byte 196,226,121,51,209 // vpmovzxwd %xmm1,%xmm2 .byte 197,249,112,201,78 // vpshufd $0x4e,%xmm1,%xmm1 .byte 196,226,121,51,201 // vpmovzxwd %xmm1,%xmm1 .byte 196,227,109,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm2,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,201 // vmulps %ymm9,%ymm1,%ymm1 .byte 196,193,57,108,211 // vpunpcklqdq %xmm11,%xmm8,%xmm2 .byte 197,225,113,242,8 // vpsllw $0x8,%xmm2,%xmm3 .byte 197,233,113,210,8 // vpsrlw $0x8,%xmm2,%xmm2 .byte 197,225,235,210 // vpor %xmm2,%xmm3,%xmm2 .byte 196,226,121,51,218 // vpmovzxwd %xmm2,%xmm3 .byte 197,249,112,210,78 // vpshufd $0x4e,%xmm2,%xmm2 .byte 196,226,121,51,210 // vpmovzxwd %xmm2,%xmm2 .byte 196,227,101,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm3,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,209 // vmulps %ymm9,%ymm2,%ymm2 .byte 196,193,57,109,219 // vpunpckhqdq %xmm11,%xmm8,%xmm3 .byte 197,185,113,243,8 // vpsllw $0x8,%xmm3,%xmm8 .byte 197,225,113,211,8 // vpsrlw $0x8,%xmm3,%xmm3 .byte 197,185,235,219 // vpor %xmm3,%xmm8,%xmm3 .byte 196,98,121,51,195 // vpmovzxwd %xmm3,%xmm8 .byte 197,249,112,219,78 // vpshufd $0x4e,%xmm3,%xmm3 .byte 196,226,121,51,219 // vpmovzxwd %xmm3,%xmm3 .byte 196,227,61,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm8,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 196,193,100,89,217 // vmulps %ymm9,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,65,123,16,4,64 // vmovsd (%r8,%rax,2),%xmm8 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,85 // je dad6 <_sk_load_u16_be_avx+0x199> .byte 196,65,57,22,68,64,8 // vmovhpd 0x8(%r8,%rax,2),%xmm8,%xmm8 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,72 // jb dad6 <_sk_load_u16_be_avx+0x199> .byte 196,193,123,16,84,64,16 // vmovsd 0x10(%r8,%rax,2),%xmm2 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 116,72 // je dae3 <_sk_load_u16_be_avx+0x1a6> .byte 196,193,105,22,84,64,24 // vmovhpd 0x18(%r8,%rax,2),%xmm2,%xmm2 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,59 // jb dae3 <_sk_load_u16_be_avx+0x1a6> .byte 196,193,123,16,92,64,32 // vmovsd 0x20(%r8,%rax,2),%xmm3 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 15,132,198,254,255,255 // je d97f <_sk_load_u16_be_avx+0x42> .byte 196,193,97,22,92,64,40 // vmovhpd 0x28(%r8,%rax,2),%xmm3,%xmm3 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 15,130,181,254,255,255 // jb d97f <_sk_load_u16_be_avx+0x42> .byte 196,65,122,126,76,64,48 // vmovq 0x30(%r8,%rax,2),%xmm9 .byte 233,169,254,255,255 // jmpq d97f <_sk_load_u16_be_avx+0x42> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 197,233,87,210 // vxorpd %xmm2,%xmm2,%xmm2 .byte 233,156,254,255,255 // jmpq d97f <_sk_load_u16_be_avx+0x42> .byte 197,225,87,219 // vxorpd %xmm3,%xmm3,%xmm3 .byte 233,147,254,255,255 // jmpq d97f <_sk_load_u16_be_avx+0x42> 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,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,137,208 // mov %rdx,%rax .byte 72,193,224,32 // shl $0x20,%rax .byte 72,141,4,64 // lea (%rax,%rax,2),%rax .byte 72,193,248,32 // sar $0x20,%rax .byte 72,133,255 // test %rdi,%rdi .byte 15,133,253,0,0,0 // jne dc14 <_sk_load_rgb_u16_be_avx+0x128> .byte 196,65,122,111,28,64 // vmovdqu (%r8,%rax,2),%xmm11 .byte 196,193,122,111,92,64,12 // vmovdqu 0xc(%r8,%rax,2),%xmm3 .byte 196,193,122,111,84,64,24 // vmovdqu 0x18(%r8,%rax,2),%xmm2 .byte 196,193,122,111,68,64,32 // vmovdqu 0x20(%r8,%rax,2),%xmm0 .byte 197,249,115,216,4 // vpsrldq $0x4,%xmm0,%xmm0 .byte 196,193,57,115,219,6 // vpsrldq $0x6,%xmm11,%xmm8 .byte 197,169,115,219,6 // vpsrldq $0x6,%xmm3,%xmm10 .byte 197,241,115,218,6 // vpsrldq $0x6,%xmm2,%xmm1 .byte 197,177,115,216,6 // vpsrldq $0x6,%xmm0,%xmm9 .byte 196,193,113,97,201 // vpunpcklwd %xmm9,%xmm1,%xmm1 .byte 197,233,97,192 // vpunpcklwd %xmm0,%xmm2,%xmm0 .byte 196,193,57,97,210 // vpunpcklwd %xmm10,%xmm8,%xmm2 .byte 197,161,97,219 // vpunpcklwd %xmm3,%xmm11,%xmm3 .byte 197,97,97,194 // vpunpcklwd %xmm2,%xmm3,%xmm8 .byte 197,225,105,210 // vpunpckhwd %xmm2,%xmm3,%xmm2 .byte 197,249,97,217 // vpunpcklwd %xmm1,%xmm0,%xmm3 .byte 197,249,105,193 // vpunpckhwd %xmm1,%xmm0,%xmm0 .byte 197,233,108,208 // vpunpcklqdq %xmm0,%xmm2,%xmm2 .byte 197,185,108,195 // vpunpcklqdq %xmm3,%xmm8,%xmm0 .byte 197,241,113,240,8 // vpsllw $0x8,%xmm0,%xmm1 .byte 197,249,113,208,8 // vpsrlw $0x8,%xmm0,%xmm0 .byte 197,241,235,192 // vpor %xmm0,%xmm1,%xmm0 .byte 196,226,121,51,200 // vpmovzxwd %xmm0,%xmm1 .byte 197,249,112,192,78 // vpshufd $0x4e,%xmm0,%xmm0 .byte 196,226,121,51,192 // vpmovzxwd %xmm0,%xmm0 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 197,252,91,192 // vcvtdq2ps %ymm0,%ymm0 .byte 196,98,125,24,13,242,210,1,0 // vbroadcastss 0x1d2f2(%rip),%ymm9 # 2ae98 <_sk_srcover_rgba_8888_sse2_lowp+0x8c4> .byte 196,193,124,89,193 // vmulps %ymm9,%ymm0,%ymm0 .byte 197,185,109,203 // vpunpckhqdq %xmm3,%xmm8,%xmm1 .byte 197,225,113,241,8 // vpsllw $0x8,%xmm1,%xmm3 .byte 197,241,113,209,8 // vpsrlw $0x8,%xmm1,%xmm1 .byte 197,225,235,201 // vpor %xmm1,%xmm3,%xmm1 .byte 196,226,121,51,217 // vpmovzxwd %xmm1,%xmm3 .byte 197,249,112,201,78 // vpshufd $0x4e,%xmm1,%xmm1 .byte 196,226,121,51,201 // vpmovzxwd %xmm1,%xmm1 .byte 196,227,101,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm3,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 196,193,116,89,201 // vmulps %ymm9,%ymm1,%ymm1 .byte 197,225,113,242,8 // vpsllw $0x8,%xmm2,%xmm3 .byte 197,233,113,210,8 // vpsrlw $0x8,%xmm2,%xmm2 .byte 197,225,235,210 // vpor %xmm2,%xmm3,%xmm2 .byte 196,226,121,51,218 // vpmovzxwd %xmm2,%xmm3 .byte 197,249,112,210,78 // vpshufd $0x4e,%xmm2,%xmm2 .byte 196,226,121,51,210 // vpmovzxwd %xmm2,%xmm2 .byte 196,227,101,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm3,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 196,193,108,89,209 // vmulps %ymm9,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,246,209,1,0 // vbroadcastss 0x1d1f6(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 255,224 // jmpq *%rax .byte 196,193,121,110,4,64 // vmovd (%r8,%rax,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,65,121,196,92,64,4,2 // vpinsrw $0x2,0x4(%r8,%rax,2),%xmm0,%xmm11 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,31 // jne dc4c <_sk_load_rgb_u16_be_avx+0x160> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 197,225,239,219 // vpxor %xmm3,%xmm3,%xmm3 .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 233,0,255,255,255 // jmpq db4c <_sk_load_rgb_u16_be_avx+0x60> .byte 196,193,121,110,68,64,6 // vmovd 0x6(%r8,%rax,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,65,121,196,68,64,10,2 // vpinsrw $0x2,0xa(%r8,%rax,2),%xmm0,%xmm8 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,48 // jb dc96 <_sk_load_rgb_u16_be_avx+0x1aa> .byte 196,193,121,110,68,64,12 // vmovd 0xc(%r8,%rax,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,193,121,196,92,64,16,2 // vpinsrw $0x2,0x10(%r8,%rax,2),%xmm0,%xmm3 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 117,48 // jne dcb0 <_sk_load_rgb_u16_be_avx+0x1c4> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 233,182,254,255,255 // jmpq db4c <_sk_load_rgb_u16_be_avx+0x60> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 196,65,41,239,210 // vpxor %xmm10,%xmm10,%xmm10 .byte 197,225,239,219 // vpxor %xmm3,%xmm3,%xmm3 .byte 233,156,254,255,255 // jmpq db4c <_sk_load_rgb_u16_be_avx+0x60> .byte 196,193,121,110,68,64,18 // vmovd 0x12(%r8,%rax,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,65,121,196,84,64,22,2 // vpinsrw $0x2,0x16(%r8,%rax,2),%xmm0,%xmm10 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,39 // jb dcf1 <_sk_load_rgb_u16_be_avx+0x205> .byte 196,193,121,110,68,64,24 // vmovd 0x18(%r8,%rax,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,193,121,196,84,64,28,2 // vpinsrw $0x2,0x1c(%r8,%rax,2),%xmm0,%xmm2 .byte 72,131,255,5 // cmp $0x5,%rdi .byte 117,30 // jne dd02 <_sk_load_rgb_u16_be_avx+0x216> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 233,91,254,255,255 // jmpq db4c <_sk_load_rgb_u16_be_avx+0x60> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 197,241,239,201 // vpxor %xmm1,%xmm1,%xmm1 .byte 197,233,239,210 // vpxor %xmm2,%xmm2,%xmm2 .byte 233,74,254,255,255 // jmpq db4c <_sk_load_rgb_u16_be_avx+0x60> .byte 196,193,121,110,68,64,30 // vmovd 0x1e(%r8,%rax,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,193,121,196,76,64,34,2 // vpinsrw $0x2,0x22(%r8,%rax,2),%xmm0,%xmm1 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 114,25 // jb dd35 <_sk_load_rgb_u16_be_avx+0x249> .byte 196,193,121,110,68,64,36 // vmovd 0x24(%r8,%rax,2),%xmm0 .byte 196,65,49,239,201 // vpxor %xmm9,%xmm9,%xmm9 .byte 196,193,121,196,68,64,40,2 // vpinsrw $0x2,0x28(%r8,%rax,2),%xmm0,%xmm0 .byte 233,23,254,255,255 // jmpq db4c <_sk_load_rgb_u16_be_avx+0x60> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 233,14,254,255,255 // jmpq db4c <_sk_load_rgb_u16_be_avx+0x60> 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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%rax .byte 196,98,125,24,5,187,209,1,0 // vbroadcastss 0x1d1bb(%rip),%ymm8 # 2af20 <_sk_srcover_rgba_8888_sse2_lowp+0x94c> .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 72,133,255 // test %rdi,%rdi .byte 117,31 // jne de49 <_sk_store_u16_be_avx+0x10b> .byte 196,65,122,127,28,64 // vmovdqu %xmm11,(%r8,%rax,2) .byte 196,65,122,127,84,64,16 // vmovdqu %xmm10,0x10(%r8,%rax,2) .byte 196,65,122,127,76,64,32 // vmovdqu %xmm9,0x20(%r8,%rax,2) .byte 196,65,122,127,68,64,48 // vmovdqu %xmm8,0x30(%r8,%rax,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,214,28,64 // vmovq %xmm11,(%r8,%rax,2) .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,240 // je de45 <_sk_store_u16_be_avx+0x107> .byte 196,65,121,23,92,64,8 // vmovhpd %xmm11,0x8(%r8,%rax,2) .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,227 // jb de45 <_sk_store_u16_be_avx+0x107> .byte 196,65,121,214,84,64,16 // vmovq %xmm10,0x10(%r8,%rax,2) .byte 116,218 // je de45 <_sk_store_u16_be_avx+0x107> .byte 196,65,121,23,84,64,24 // vmovhpd %xmm10,0x18(%r8,%rax,2) .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,205 // jb de45 <_sk_store_u16_be_avx+0x107> .byte 196,65,121,214,76,64,32 // vmovq %xmm9,0x20(%r8,%rax,2) .byte 116,196 // je de45 <_sk_store_u16_be_avx+0x107> .byte 196,65,121,23,76,64,40 // vmovhpd %xmm9,0x28(%r8,%rax,2) .byte 72,131,255,7 // cmp $0x7,%rdi .byte 114,183 // jb de45 <_sk_store_u16_be_avx+0x107> .byte 196,65,121,214,68,64,48 // vmovq %xmm8,0x30(%r8,%rax,2) .byte 235,174 // jmp de45 <_sk_store_u16_be_avx+0x107> HIDDEN _sk_load_f32_avx .globl _sk_load_f32_avx FUNCTION(_sk_load_f32_avx) _sk_load_f32_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,253,87,192 // vxorpd %ymm0,%ymm0,%ymm0 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 15,135,97,1,0,0 // ja e008 <_sk_load_f32_avx+0x171> .byte 72,131,236,24 // sub $0x18,%rsp .byte 197,253,17,100,36,128 // vmovupd %ymm4,-0x80(%rsp) .byte 197,253,17,108,36,160 // vmovupd %ymm5,-0x60(%rsp) .byte 197,253,17,116,36,192 // vmovupd %ymm6,-0x40(%rsp) .byte 197,253,17,124,36,224 // vmovupd %ymm7,-0x20(%rsp) .byte 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 77,99,201 // movslq %r9d,%r9 .byte 76,141,21,49,1,0,0 // lea 0x131(%rip),%r10 # e018 <_sk_load_f32_avx+0x181> .byte 73,99,4,186 // movslq (%r10,%rdi,4),%rax .byte 76,1,208 // add %r10,%rax .byte 197,221,87,228 // vxorpd %ymm4,%ymm4,%ymm4 .byte 196,65,53,87,201 // vxorpd %ymm9,%ymm9,%ymm9 .byte 197,237,87,210 // vxorpd %ymm2,%ymm2,%ymm2 .byte 196,65,37,87,219 // vxorpd %ymm11,%ymm11,%ymm11 .byte 196,65,29,87,228 // vxorpd %ymm12,%ymm12,%ymm12 .byte 196,65,61,87,192 // vxorpd %ymm8,%ymm8,%ymm8 .byte 196,65,13,87,246 // vxorpd %ymm14,%ymm14,%ymm14 .byte 197,205,87,246 // vxorpd %ymm6,%ymm6,%ymm6 .byte 196,65,5,87,255 // vxorpd %ymm15,%ymm15,%ymm15 .byte 197,245,87,201 // vxorpd %ymm1,%ymm1,%ymm1 .byte 196,65,21,87,237 // vxorpd %ymm13,%ymm13,%ymm13 .byte 197,213,87,237 // vxorpd %ymm5,%ymm5,%ymm5 .byte 197,229,87,219 // vxorpd %ymm3,%ymm3,%ymm3 .byte 196,65,45,87,210 // vxorpd %ymm10,%ymm10,%ymm10 .byte 197,197,87,255 // vxorpd %ymm7,%ymm7,%ymm7 .byte 255,224 // jmpq *%rax .byte 196,129,121,16,68,136,112 // vmovupd 0x70(%r8,%r9,4),%xmm0 .byte 196,227,125,6,192,40 // vperm2f128 $0x28,%ymm0,%ymm0,%ymm0 .byte 196,129,121,16,76,136,96 // vmovupd 0x60(%r8,%r9,4),%xmm1 .byte 196,227,125,6,225,40 // vperm2f128 $0x28,%ymm1,%ymm0,%ymm4 .byte 196,129,121,16,76,136,80 // vmovupd 0x50(%r8,%r9,4),%xmm1 .byte 196,227,125,6,209,40 // vperm2f128 $0x28,%ymm1,%ymm0,%ymm2 .byte 197,125,40,204 // vmovapd %ymm4,%ymm9 .byte 196,129,121,16,76,136,64 // vmovupd 0x40(%r8,%r9,4),%xmm1 .byte 196,99,125,6,193,40 // vperm2f128 $0x28,%ymm1,%ymm0,%ymm8 .byte 196,65,125,40,217 // vmovapd %ymm9,%ymm11 .byte 197,125,40,226 // vmovapd %ymm2,%ymm12 .byte 196,129,121,16,76,136,48 // vmovupd 0x30(%r8,%r9,4),%xmm1 .byte 196,227,117,13,192,12 // vblendpd $0xc,%ymm0,%ymm1,%ymm0 .byte 196,65,125,40,243 // vmovapd %ymm11,%ymm14 .byte 197,125,41,230 // vmovapd %ymm12,%ymm6 .byte 196,65,125,40,248 // vmovapd %ymm8,%ymm15 .byte 196,129,121,16,76,136,32 // vmovupd 0x20(%r8,%r9,4),%xmm1 .byte 196,195,117,13,206,12 // vblendpd $0xc,%ymm14,%ymm1,%ymm1 .byte 197,125,40,238 // vmovapd %ymm6,%ymm13 .byte 197,125,41,253 // vmovapd %ymm15,%ymm5 .byte 196,129,121,16,84,136,16 // vmovupd 0x10(%r8,%r9,4),%xmm2 .byte 196,67,109,13,213,12 // vblendpd $0xc,%ymm13,%ymm2,%ymm10 .byte 197,253,40,217 // vmovapd %ymm1,%ymm3 .byte 197,253,40,253 // vmovapd %ymm5,%ymm7 .byte 196,129,121,16,12,136 // vmovupd (%r8,%r9,4),%xmm1 .byte 196,227,117,13,207,12 // vblendpd $0xc,%ymm7,%ymm1,%ymm1 .byte 197,252,16,124,36,224 // vmovups -0x20(%rsp),%ymm7 .byte 197,252,16,116,36,192 // vmovups -0x40(%rsp),%ymm6 .byte 197,252,16,108,36,160 // vmovups -0x60(%rsp),%ymm5 .byte 197,252,16,100,36,128 // vmovups -0x80(%rsp),%ymm4 .byte 72,131,196,24 // add $0x18,%rsp .byte 196,193,116,20,210 // vunpcklps %ymm10,%ymm1,%ymm2 .byte 196,65,116,21,194 // vunpckhps %ymm10,%ymm1,%ymm8 .byte 197,228,20,200 // vunpcklps %ymm0,%ymm3,%ymm1 .byte 197,228,21,216 // vunpckhps %ymm0,%ymm3,%ymm3 .byte 197,237,20,193 // vunpcklpd %ymm1,%ymm2,%ymm0 .byte 197,237,21,201 // vunpckhpd %ymm1,%ymm2,%ymm1 .byte 197,189,20,211 // vunpcklpd %ymm3,%ymm8,%ymm2 .byte 197,189,21,219 // vunpckhpd %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 197,229,87,219 // vxorpd %ymm3,%ymm3,%ymm3 .byte 196,65,45,87,210 // vxorpd %ymm10,%ymm10,%ymm10 .byte 197,245,87,201 // vxorpd %ymm1,%ymm1,%ymm1 .byte 235,203 // jmp dfe2 <_sk_load_f32_avx+0x14b> .byte 144 // nop .byte 28,255 // sbb $0xff,%al .byte 255 // (bad) .byte 255,162,255,255,255,141 // jmpq *-0x72000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 120,255 // js e025 <_sk_load_f32_avx+0x18e> .byte 255 // (bad) .byte 255,93,255 // lcall *-0x1(%rbp) .byte 255 // (bad) .byte 255,71,255 // incl -0x1(%rdi) .byte 255 // (bad) .byte 255,54 // pushq (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,41 // ljmp *(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_f32_dst_avx .globl _sk_load_f32_dst_avx FUNCTION(_sk_load_f32_dst_avx) _sk_load_f32_dst_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,221,87,228 // vxorpd %ymm4,%ymm4,%ymm4 .byte 72,131,255,7 // cmp $0x7,%rdi .byte 15,135,97,1,0,0 // ja e1a9 <_sk_load_f32_dst_avx+0x171> .byte 72,131,236,24 // sub $0x18,%rsp .byte 197,253,17,68,36,128 // vmovupd %ymm0,-0x80(%rsp) .byte 197,253,17,76,36,160 // vmovupd %ymm1,-0x60(%rsp) .byte 197,253,17,84,36,192 // vmovupd %ymm2,-0x40(%rsp) .byte 197,253,17,92,36,224 // vmovupd %ymm3,-0x20(%rsp) .byte 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 77,99,201 // movslq %r9d,%r9 .byte 76,141,21,48,1,0,0 // lea 0x130(%rip),%r10 # e1b8 <_sk_load_f32_dst_avx+0x180> .byte 73,99,4,186 // movslq (%r10,%rdi,4),%rax .byte 76,1,208 // add %r10,%rax .byte 197,253,87,192 // vxorpd %ymm0,%ymm0,%ymm0 .byte 196,65,53,87,201 // vxorpd %ymm9,%ymm9,%ymm9 .byte 197,205,87,246 // vxorpd %ymm6,%ymm6,%ymm6 .byte 196,65,37,87,219 // vxorpd %ymm11,%ymm11,%ymm11 .byte 196,65,29,87,228 // vxorpd %ymm12,%ymm12,%ymm12 .byte 196,65,61,87,192 // vxorpd %ymm8,%ymm8,%ymm8 .byte 196,65,13,87,246 // vxorpd %ymm14,%ymm14,%ymm14 .byte 197,237,87,210 // vxorpd %ymm2,%ymm2,%ymm2 .byte 196,65,5,87,255 // vxorpd %ymm15,%ymm15,%ymm15 .byte 197,213,87,237 // vxorpd %ymm5,%ymm5,%ymm5 .byte 196,65,21,87,237 // vxorpd %ymm13,%ymm13,%ymm13 .byte 197,245,87,201 // vxorpd %ymm1,%ymm1,%ymm1 .byte 197,197,87,255 // vxorpd %ymm7,%ymm7,%ymm7 .byte 196,65,45,87,210 // vxorpd %ymm10,%ymm10,%ymm10 .byte 197,229,87,219 // vxorpd %ymm3,%ymm3,%ymm3 .byte 255,224 // jmpq *%rax .byte 196,129,121,16,68,136,112 // vmovupd 0x70(%r8,%r9,4),%xmm0 .byte 196,227,125,6,224,40 // vperm2f128 $0x28,%ymm0,%ymm0,%ymm4 .byte 196,129,121,16,68,136,96 // vmovupd 0x60(%r8,%r9,4),%xmm0 .byte 196,227,125,6,192,40 // vperm2f128 $0x28,%ymm0,%ymm0,%ymm0 .byte 196,129,121,16,76,136,80 // vmovupd 0x50(%r8,%r9,4),%xmm1 .byte 196,227,125,6,241,40 // vperm2f128 $0x28,%ymm1,%ymm0,%ymm6 .byte 197,125,40,200 // vmovapd %ymm0,%ymm9 .byte 196,129,121,16,68,136,64 // vmovupd 0x40(%r8,%r9,4),%xmm0 .byte 196,99,125,6,192,40 // vperm2f128 $0x28,%ymm0,%ymm0,%ymm8 .byte 196,65,125,40,217 // vmovapd %ymm9,%ymm11 .byte 197,125,40,230 // vmovapd %ymm6,%ymm12 .byte 196,129,121,16,68,136,48 // vmovupd 0x30(%r8,%r9,4),%xmm0 .byte 196,227,125,13,228,12 // vblendpd $0xc,%ymm4,%ymm0,%ymm4 .byte 196,65,125,40,243 // vmovapd %ymm11,%ymm14 .byte 197,125,41,226 // vmovapd %ymm12,%ymm2 .byte 196,65,125,40,248 // vmovapd %ymm8,%ymm15 .byte 196,129,121,16,68,136,32 // vmovupd 0x20(%r8,%r9,4),%xmm0 .byte 196,195,125,13,238,12 // vblendpd $0xc,%ymm14,%ymm0,%ymm5 .byte 197,125,40,234 // vmovapd %ymm2,%ymm13 .byte 197,125,41,249 // vmovapd %ymm15,%ymm1 .byte 196,129,121,16,68,136,16 // vmovupd 0x10(%r8,%r9,4),%xmm0 .byte 196,67,125,13,213,12 // vblendpd $0xc,%ymm13,%ymm0,%ymm10 .byte 197,253,40,253 // vmovapd %ymm5,%ymm7 .byte 197,253,40,217 // vmovapd %ymm1,%ymm3 .byte 196,129,121,16,4,136 // vmovupd (%r8,%r9,4),%xmm0 .byte 196,227,125,13,235,12 // vblendpd $0xc,%ymm3,%ymm0,%ymm5 .byte 197,252,16,92,36,224 // vmovups -0x20(%rsp),%ymm3 .byte 197,252,16,84,36,192 // vmovups -0x40(%rsp),%ymm2 .byte 197,252,16,76,36,160 // vmovups -0x60(%rsp),%ymm1 .byte 197,252,16,68,36,128 // vmovups -0x80(%rsp),%ymm0 .byte 72,131,196,24 // add $0x18,%rsp .byte 196,193,84,20,242 // vunpcklps %ymm10,%ymm5,%ymm6 .byte 196,65,84,21,194 // vunpckhps %ymm10,%ymm5,%ymm8 .byte 197,196,20,236 // vunpcklps %ymm4,%ymm7,%ymm5 .byte 197,196,21,252 // vunpckhps %ymm4,%ymm7,%ymm7 .byte 197,205,20,229 // vunpcklpd %ymm5,%ymm6,%ymm4 .byte 197,205,21,237 // vunpckhpd %ymm5,%ymm6,%ymm5 .byte 197,189,20,247 // vunpcklpd %ymm7,%ymm8,%ymm6 .byte 197,189,21,255 // vunpckhpd %ymm7,%ymm8,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 197,197,87,255 // vxorpd %ymm7,%ymm7,%ymm7 .byte 196,65,45,87,210 // vxorpd %ymm10,%ymm10,%ymm10 .byte 197,213,87,237 // vxorpd %ymm5,%ymm5,%ymm5 .byte 235,203 // jmp e183 <_sk_load_f32_dst_avx+0x14b> .byte 29,255,255,255,163 // sbb $0xa3ffffff,%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,142,255,255,255,121 // decl 0x79ffffff(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,94,255 // lcall *-0x1(%rsi) .byte 255 // (bad) .byte 255,72,255 // decl -0x1(%rax) .byte 255 // (bad) .byte 255,55 // pushq (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,42 // ljmp *(%rdx) .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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%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 72,133,255 // test %rdi,%rdi .byte 117,55 // jne e257 <_sk_store_f32_avx+0x7f> .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,124,17,36,128 // vmovups %ymm12,(%r8,%rax,4) .byte 196,65,124,17,108,128,32 // vmovups %ymm13,0x20(%r8,%rax,4) .byte 196,65,125,17,76,128,64 // vmovupd %ymm9,0x40(%r8,%rax,4) .byte 196,65,125,17,68,128,96 // vmovupd %ymm8,0x60(%r8,%rax,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,17,20,128 // vmovupd %xmm10,(%r8,%rax,4) .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,240 // je e253 <_sk_store_f32_avx+0x7b> .byte 196,65,121,17,76,128,16 // vmovupd %xmm9,0x10(%r8,%rax,4) .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,227 // jb e253 <_sk_store_f32_avx+0x7b> .byte 196,65,121,17,68,128,32 // vmovupd %xmm8,0x20(%r8,%rax,4) .byte 116,218 // je e253 <_sk_store_f32_avx+0x7b> .byte 196,65,121,17,92,128,48 // vmovupd %xmm11,0x30(%r8,%rax,4) .byte 72,131,255,5 // cmp $0x5,%rdi .byte 114,205 // jb e253 <_sk_store_f32_avx+0x7b> .byte 196,67,125,25,84,128,64,1 // vextractf128 $0x1,%ymm10,0x40(%r8,%rax,4) .byte 116,195 // je e253 <_sk_store_f32_avx+0x7b> .byte 196,67,125,25,76,128,80,1 // vextractf128 $0x1,%ymm9,0x50(%r8,%rax,4) .byte 72,131,255,7 // cmp $0x7,%rdi .byte 114,181 // jb e253 <_sk_store_f32_avx+0x7b> .byte 196,67,125,25,68,128,96,1 // vextractf128 $0x1,%ymm8,0x60(%r8,%rax,4) .byte 235,171 // jmp e253 <_sk_store_f32_avx+0x7b> 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,193,124,92,192 // vsubps %ymm8,%ymm0,%ymm0 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,60,95,192 // vmaxps %ymm0,%ymm8,%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,193,116,92,200 // vsubps %ymm8,%ymm1,%ymm1 .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,60,95,193 // vmaxps %ymm1,%ymm8,%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,122,16,0 // vmovss (%rax),%xmm8 .byte 197,122,16,72,4 // vmovss 0x4(%rax),%xmm9 .byte 196,67,121,4,208,0 // vpermilps $0x0,%xmm8,%xmm10 .byte 196,67,45,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm10,%ymm10 .byte 196,65,124,92,218 // vsubps %ymm10,%ymm0,%ymm11 .byte 196,193,58,88,192 // vaddss %xmm8,%xmm8,%xmm0 .byte 196,227,121,4,192,0 // vpermilps $0x0,%xmm0,%xmm0 .byte 196,99,125,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm0,%ymm8 .byte 197,178,89,5,39,202,1,0 // vmulss 0x1ca27(%rip),%xmm9,%xmm0 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,200 // vsubps %ymm0,%ymm8,%ymm9 .byte 197,180,84,192 // vandps %ymm0,%ymm9,%ymm0 .byte 197,60,95,192 // vmaxps %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,122,16,0 // vmovss (%rax),%xmm8 .byte 197,122,16,72,4 // vmovss 0x4(%rax),%xmm9 .byte 196,67,121,4,208,0 // vpermilps $0x0,%xmm8,%xmm10 .byte 196,67,45,24,210,1 // vinsertf128 $0x1,%xmm10,%ymm10,%ymm10 .byte 196,65,116,92,218 // vsubps %ymm10,%ymm1,%ymm11 .byte 196,193,58,88,200 // vaddss %xmm8,%xmm8,%xmm1 .byte 196,227,121,4,201,0 // vpermilps $0x0,%xmm1,%xmm1 .byte 196,99,117,24,193,1 // vinsertf128 $0x1,%xmm1,%ymm1,%ymm8 .byte 197,178,89,13,154,201,1,0 // vmulss 0x1c99a(%rip),%xmm9,%xmm1 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,201 // vsubps %ymm1,%ymm8,%ymm9 .byte 197,180,84,201 // vandps %ymm1,%ymm9,%ymm1 .byte 197,60,95,193 // vmaxps %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,52,201,1,0 // vbroadcastss 0x1c934(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,43,201,1,0 // vbroadcastss 0x1c92b(%rip),%ymm8 # 2ae20 <_sk_srcover_rgba_8888_sse2_lowp+0x84c> .byte 196,193,124,88,192 // vaddps %ymm8,%ymm0,%ymm0 .byte 196,98,125,24,13,1,201,1,0 // vbroadcastss 0x1c901(%rip),%ymm9 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,237,201,1,0 // vbroadcastss 0x1c9ed(%rip),%ymm3 # 2af24 <_sk_srcover_rgba_8888_sse2_lowp+0x950> .byte 197,252,89,195 // vmulps %ymm3,%ymm0,%ymm0 .byte 196,226,125,24,29,228,201,1,0 // vbroadcastss 0x1c9e4(%rip),%ymm3 # 2af28 <_sk_srcover_rgba_8888_sse2_lowp+0x954> .byte 197,244,89,203 // vmulps %ymm3,%ymm1,%ymm1 .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 196,226,125,24,13,215,201,1,0 // vbroadcastss 0x1c9d7(%rip),%ymm1 # 2af2c <_sk_srcover_rgba_8888_sse2_lowp+0x958> .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 e8f9 <_sk_evenly_spaced_gradient_avx+0x25> .byte 196,225,242,42,203 // vcvtsi2ss %rbx,%xmm1,%xmm1 .byte 235,21 // jmp e90e <_sk_evenly_spaced_gradient_avx+0x3a> .byte 73,137,216 // mov %rbx,%r8 .byte 73,209,232 // shr %r8 .byte 131,227,1 // and $0x1,%ebx .byte 76,9,195 // or %r8,%rbx .byte 196,225,242,42,203 // vcvtsi2ss %rbx,%xmm1,%xmm1 .byte 197,242,88,201 // vaddss %xmm1,%xmm1,%xmm1 .byte 196,227,121,4,201,0 // vpermilps $0x0,%xmm1,%xmm1 .byte 196,227,117,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm1,%ymm1 .byte 197,244,89,200 // vmulps %ymm0,%ymm1,%ymm1 .byte 197,254,91,201 // vcvttps2dq %ymm1,%ymm1 .byte 196,195,249,22,200,1 // vpextrq $0x1,%xmm1,%r8 .byte 69,137,193 // mov %r8d,%r9d .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 196,195,249,22,207,1 // vpextrq $0x1,%xmm1,%r15 .byte 69,137,254 // mov %r15d,%r14d .byte 73,193,239,32 // shr $0x20,%r15 .byte 196,193,249,126,205 // vmovq %xmm1,%r13 .byte 69,137,236 // mov %r13d,%r12d .byte 73,193,237,32 // shr $0x20,%r13 .byte 196,161,122,16,76,165,0 // vmovss 0x0(%rbp,%r12,4),%xmm1 .byte 196,163,113,33,76,173,0,16 // vinsertps $0x10,0x0(%rbp,%r13,4),%xmm1,%xmm1 .byte 196,161,122,16,84,181,0 // vmovss 0x0(%rbp,%r14,4),%xmm2 .byte 196,33,122,16,68,189,0 // vmovss 0x0(%rbp,%r15,4),%xmm8 .byte 196,161,122,16,92,157,0 // vmovss 0x0(%rbp,%r11,4),%xmm3 .byte 196,35,97,33,76,149,0,16 // vinsertps $0x10,0x0(%rbp,%r10,4),%xmm3,%xmm9 .byte 196,161,122,16,124,141,0 // vmovss 0x0(%rbp,%r9,4),%xmm7 .byte 196,33,122,16,92,133,0 // vmovss 0x0(%rbp,%r8,4),%xmm11 .byte 196,99,113,33,226,32 // vinsertps $0x20,%xmm2,%xmm1,%xmm12 .byte 72,139,88,40 // mov 0x28(%rax),%rbx .byte 196,161,122,16,20,163 // vmovss (%rbx,%r12,4),%xmm2 .byte 196,35,105,33,44,171,16 // vinsertps $0x10,(%rbx,%r13,4),%xmm2,%xmm13 .byte 196,161,122,16,28,179 // vmovss (%rbx,%r14,4),%xmm3 .byte 196,161,122,16,12,187 // vmovss (%rbx,%r15,4),%xmm1 .byte 196,161,122,16,20,155 // vmovss (%rbx,%r11,4),%xmm2 .byte 196,35,105,33,52,147,16 // vinsertps $0x10,(%rbx,%r10,4),%xmm2,%xmm14 .byte 196,33,122,16,60,139 // vmovss (%rbx,%r9,4),%xmm15 .byte 196,33,122,16,20,131 // vmovss (%rbx,%r8,4),%xmm10 .byte 196,67,25,33,192,48 // vinsertps $0x30,%xmm8,%xmm12,%xmm8 .byte 196,227,49,33,215,32 // vinsertps $0x20,%xmm7,%xmm9,%xmm2 .byte 196,195,105,33,211,48 // vinsertps $0x30,%xmm11,%xmm2,%xmm2 .byte 196,67,109,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm2,%ymm8 .byte 196,227,17,33,211,32 // vinsertps $0x20,%xmm3,%xmm13,%xmm2 .byte 196,99,105,33,201,48 // vinsertps $0x30,%xmm1,%xmm2,%xmm9 .byte 72,139,88,16 // mov 0x10(%rax),%rbx .byte 196,161,122,16,20,163 // vmovss (%rbx,%r12,4),%xmm2 .byte 196,35,105,33,28,171,16 // vinsertps $0x10,(%rbx,%r13,4),%xmm2,%xmm11 .byte 196,33,122,16,36,179 // vmovss (%rbx,%r14,4),%xmm12 .byte 196,161,122,16,12,187 // vmovss (%rbx,%r15,4),%xmm1 .byte 196,161,122,16,60,155 // vmovss (%rbx,%r11,4),%xmm7 .byte 196,163,65,33,60,147,16 // vinsertps $0x10,(%rbx,%r10,4),%xmm7,%xmm7 .byte 196,161,122,16,28,139 // vmovss (%rbx,%r9,4),%xmm3 .byte 196,33,122,16,44,131 // vmovss (%rbx,%r8,4),%xmm13 .byte 196,195,9,33,215,32 // vinsertps $0x20,%xmm15,%xmm14,%xmm2 .byte 196,195,105,33,210,48 // vinsertps $0x30,%xmm10,%xmm2,%xmm2 .byte 196,67,109,24,241,1 // vinsertf128 $0x1,%xmm9,%ymm2,%ymm14 .byte 196,195,33,33,212,32 // vinsertps $0x20,%xmm12,%xmm11,%xmm2 .byte 196,99,105,33,201,48 // vinsertps $0x30,%xmm1,%xmm2,%xmm9 .byte 196,99,65,33,211,32 // vinsertps $0x20,%xmm3,%xmm7,%xmm10 .byte 72,139,88,48 // mov 0x30(%rax),%rbx .byte 196,161,122,16,28,163 // vmovss (%rbx,%r12,4),%xmm3 .byte 196,35,97,33,28,171,16 // vinsertps $0x10,(%rbx,%r13,4),%xmm3,%xmm11 .byte 196,33,122,16,60,179 // vmovss (%rbx,%r14,4),%xmm15 .byte 196,33,122,16,36,187 // vmovss (%rbx,%r15,4),%xmm12 .byte 196,161,122,16,20,155 // vmovss (%rbx,%r11,4),%xmm2 .byte 196,163,105,33,20,147,16 // vinsertps $0x10,(%rbx,%r10,4),%xmm2,%xmm2 .byte 196,161,122,16,60,139 // vmovss (%rbx,%r9,4),%xmm7 .byte 196,161,122,16,28,131 // vmovss (%rbx,%r8,4),%xmm3 .byte 196,67,41,33,213,48 // vinsertps $0x30,%xmm13,%xmm10,%xmm10 .byte 196,67,45,24,233,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm13 .byte 196,195,33,33,207,32 // vinsertps $0x20,%xmm15,%xmm11,%xmm1 .byte 196,67,113,33,204,48 // vinsertps $0x30,%xmm12,%xmm1,%xmm9 .byte 196,227,105,33,215,32 // vinsertps $0x20,%xmm7,%xmm2,%xmm2 .byte 196,99,105,33,211,48 // vinsertps $0x30,%xmm3,%xmm2,%xmm10 .byte 72,139,88,24 // mov 0x18(%rax),%rbx .byte 196,161,122,16,28,163 // vmovss (%rbx,%r12,4),%xmm3 .byte 196,35,97,33,28,171,16 // vinsertps $0x10,(%rbx,%r13,4),%xmm3,%xmm11 .byte 196,33,122,16,36,179 // vmovss (%rbx,%r14,4),%xmm12 .byte 196,33,122,16,60,187 // vmovss (%rbx,%r15,4),%xmm15 .byte 196,161,122,16,20,155 // vmovss (%rbx,%r11,4),%xmm2 .byte 196,163,105,33,20,147,16 // vinsertps $0x10,(%rbx,%r10,4),%xmm2,%xmm2 .byte 196,161,122,16,28,139 // vmovss (%rbx,%r9,4),%xmm3 .byte 196,161,122,16,60,131 // vmovss (%rbx,%r8,4),%xmm7 .byte 196,67,45,24,201,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm9 .byte 196,195,33,33,204,32 // vinsertps $0x20,%xmm12,%xmm11,%xmm1 .byte 196,195,113,33,207,48 // vinsertps $0x30,%xmm15,%xmm1,%xmm1 .byte 196,227,105,33,211,32 // vinsertps $0x20,%xmm3,%xmm2,%xmm2 .byte 196,227,105,33,215,48 // vinsertps $0x30,%xmm7,%xmm2,%xmm2 .byte 196,99,109,24,209,1 // vinsertf128 $0x1,%xmm1,%ymm2,%ymm10 .byte 72,139,88,56 // mov 0x38(%rax),%rbx .byte 196,161,122,16,12,163 // vmovss (%rbx,%r12,4),%xmm1 .byte 196,35,113,33,28,171,16 // vinsertps $0x10,(%rbx,%r13,4),%xmm1,%xmm11 .byte 196,33,122,16,36,179 // vmovss (%rbx,%r14,4),%xmm12 .byte 196,33,122,16,60,187 // vmovss (%rbx,%r15,4),%xmm15 .byte 196,161,122,16,60,155 // vmovss (%rbx,%r11,4),%xmm7 .byte 196,163,65,33,60,147,16 // vinsertps $0x10,(%rbx,%r10,4),%xmm7,%xmm7 .byte 196,161,122,16,12,139 // vmovss (%rbx,%r9,4),%xmm1 .byte 196,161,122,16,20,131 // vmovss (%rbx,%r8,4),%xmm2 .byte 196,195,33,33,220,32 // vinsertps $0x20,%xmm12,%xmm11,%xmm3 .byte 196,195,97,33,223,48 // vinsertps $0x30,%xmm15,%xmm3,%xmm3 .byte 196,227,65,33,201,32 // vinsertps $0x20,%xmm1,%xmm7,%xmm1 .byte 196,227,113,33,202,48 // vinsertps $0x30,%xmm2,%xmm1,%xmm1 .byte 196,99,117,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm1,%ymm11 .byte 72,139,88,32 // mov 0x20(%rax),%rbx .byte 196,161,122,16,12,163 // vmovss (%rbx,%r12,4),%xmm1 .byte 196,163,113,33,12,171,16 // vinsertps $0x10,(%rbx,%r13,4),%xmm1,%xmm1 .byte 196,161,122,16,20,179 // vmovss (%rbx,%r14,4),%xmm2 .byte 196,227,113,33,202,32 // vinsertps $0x20,%xmm2,%xmm1,%xmm1 .byte 196,161,122,16,20,187 // vmovss (%rbx,%r15,4),%xmm2 .byte 196,161,122,16,28,155 // vmovss (%rbx,%r11,4),%xmm3 .byte 196,35,97,33,36,147,16 // vinsertps $0x10,(%rbx,%r10,4),%xmm3,%xmm12 .byte 196,161,122,16,60,139 // vmovss (%rbx,%r9,4),%xmm7 .byte 196,161,122,16,28,131 // vmovss (%rbx,%r8,4),%xmm3 .byte 196,99,113,33,250,48 // vinsertps $0x30,%xmm2,%xmm1,%xmm15 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 196,161,122,16,20,160 // vmovss (%rax,%r12,4),%xmm2 .byte 196,163,105,33,20,168,16 // vinsertps $0x10,(%rax,%r13,4),%xmm2,%xmm2 .byte 196,227,25,33,255,32 // vinsertps $0x20,%xmm7,%xmm12,%xmm7 .byte 196,161,122,16,12,176 // vmovss (%rax,%r14,4),%xmm1 .byte 196,227,65,33,219,48 // vinsertps $0x30,%xmm3,%xmm7,%xmm3 .byte 196,161,122,16,60,184 // vmovss (%rax,%r15,4),%xmm7 .byte 196,67,101,24,231,1 // vinsertf128 $0x1,%xmm15,%ymm3,%ymm12 .byte 196,161,122,16,28,152 // vmovss (%rax,%r11,4),%xmm3 .byte 196,163,97,33,28,144,16 // vinsertps $0x10,(%rax,%r10,4),%xmm3,%xmm3 .byte 196,227,105,33,201,32 // vinsertps $0x20,%xmm1,%xmm2,%xmm1 .byte 196,161,122,16,20,136 // vmovss (%rax,%r9,4),%xmm2 .byte 196,227,113,33,207,48 // vinsertps $0x30,%xmm7,%xmm1,%xmm1 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,97,33,210,32 // vinsertps $0x20,%xmm2,%xmm3,%xmm2 .byte 196,227,105,33,215,48 // vinsertps $0x30,%xmm7,%xmm2,%xmm2 .byte 196,227,109,24,217,1 // vinsertf128 $0x1,%xmm1,%ymm2,%ymm3 .byte 197,188,89,200 // vmulps %ymm0,%ymm8,%ymm1 .byte 196,65,116,88,198 // vaddps %ymm14,%ymm1,%ymm8 .byte 197,148,89,200 // vmulps %ymm0,%ymm13,%ymm1 .byte 196,193,116,88,201 // vaddps %ymm9,%ymm1,%ymm1 .byte 197,172,89,208 // vmulps %ymm0,%ymm10,%ymm2 .byte 196,193,108,88,211 // vaddps %ymm11,%ymm2,%ymm2 .byte 197,156,89,192 // vmulps %ymm0,%ymm12,%ymm0 .byte 197,252,88,219 // vaddps %ymm3,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 197,252,16,124,36,216 // vmovups -0x28(%rsp),%ymm7 .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_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,242,194,1,0 // vbroadcastss 0x1c2f2(%rip),%ymm0 # 2af34 <_sk_srcover_rgba_8888_sse2_lowp+0x960> .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 196,226,125,24,13,225,194,1,0 // vbroadcastss 0x1c2e1(%rip),%ymm1 # 2af30 <_sk_srcover_rgba_8888_sse2_lowp+0x95c> .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 197,252,89,195 // vmulps %ymm3,%ymm0,%ymm0 .byte 196,226,125,24,13,216,194,1,0 // vbroadcastss 0x1c2d8(%rip),%ymm1 # 2af38 <_sk_srcover_rgba_8888_sse2_lowp+0x964> .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 197,252,89,195 // vmulps %ymm3,%ymm0,%ymm0 .byte 196,226,125,24,13,203,194,1,0 // vbroadcastss 0x1c2cb(%rip),%ymm1 # 2af3c <_sk_srcover_rgba_8888_sse2_lowp+0x968> .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 197,252,89,195 // vmulps %ymm3,%ymm0,%ymm0 .byte 196,226,125,24,13,190,194,1,0 // vbroadcastss 0x1c2be(%rip),%ymm1 # 2af40 <_sk_srcover_rgba_8888_sse2_lowp+0x96c> .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 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 197,252,17,124,36,208 // vmovups %ymm7,-0x30(%rsp) .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 73,131,248,2 // cmp $0x2,%r8 .byte 114,81 // jb ed05 <_sk_gradient_avx+0x6f> .byte 72,139,88,72 // mov 0x48(%rax),%rbx .byte 73,255,200 // dec %r8 .byte 72,131,195,4 // add $0x4,%rbx .byte 196,65,52,87,201 // vxorps %ymm9,%ymm9,%ymm9 .byte 196,98,125,24,21,63,193,1,0 // vbroadcastss 0x1c13f(%rip),%ymm10 # 2ae0c <_sk_srcover_rgba_8888_sse2_lowp+0x838> .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 196,98,125,24,3 // vbroadcastss (%rbx),%ymm8 .byte 197,60,194,192,2 // vcmpleps %ymm0,%ymm8,%ymm8 .byte 196,67,53,74,194,128 // vblendvps %ymm8,%ymm10,%ymm9,%ymm8 .byte 196,99,125,25,194,1 // vextractf128 $0x1,%ymm8,%xmm2 .byte 196,227,125,25,203,1 // vextractf128 $0x1,%ymm1,%xmm3 .byte 197,225,254,210 // vpaddd %xmm2,%xmm3,%xmm2 .byte 196,193,113,254,200 // vpaddd %xmm8,%xmm1,%xmm1 .byte 196,227,117,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm1,%ymm1 .byte 72,131,195,4 // add $0x4,%rbx .byte 73,255,200 // dec %r8 .byte 117,204 // jne ecd1 <_sk_gradient_avx+0x3b> .byte 196,195,249,22,200,1 // vpextrq $0x1,%xmm1,%r8 .byte 69,137,193 // mov %r8d,%r9d .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,193,249,126,202 // vmovq %xmm1,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,227,125,25,201,1 // vextractf128 $0x1,%ymm1,%xmm1 .byte 196,195,249,22,207,1 // vpextrq $0x1,%xmm1,%r15 .byte 69,137,254 // mov %r15d,%r14d .byte 73,193,239,32 // shr $0x20,%r15 .byte 196,225,249,126,203 // vmovq %xmm1,%rbx .byte 65,137,220 // mov %ebx,%r12d .byte 72,193,235,32 // shr $0x20,%rbx .byte 76,139,104,8 // mov 0x8(%rax),%r13 .byte 196,129,122,16,76,165,0 // vmovss 0x0(%r13,%r12,4),%xmm1 .byte 196,195,113,33,76,157,0,16 // vinsertps $0x10,0x0(%r13,%rbx,4),%xmm1,%xmm1 .byte 196,129,122,16,84,181,0 // vmovss 0x0(%r13,%r14,4),%xmm2 .byte 196,1,122,16,68,189,0 // vmovss 0x0(%r13,%r15,4),%xmm8 .byte 196,129,122,16,92,157,0 // vmovss 0x0(%r13,%r11,4),%xmm3 .byte 196,3,97,33,76,149,0,16 // vinsertps $0x10,0x0(%r13,%r10,4),%xmm3,%xmm9 .byte 196,129,122,16,124,141,0 // vmovss 0x0(%r13,%r9,4),%xmm7 .byte 196,1,122,16,92,133,0 // vmovss 0x0(%r13,%r8,4),%xmm11 .byte 196,99,113,33,226,32 // vinsertps $0x20,%xmm2,%xmm1,%xmm12 .byte 76,139,104,40 // mov 0x28(%rax),%r13 .byte 196,129,122,16,84,165,0 // vmovss 0x0(%r13,%r12,4),%xmm2 .byte 196,67,105,33,108,157,0,16 // vinsertps $0x10,0x0(%r13,%rbx,4),%xmm2,%xmm13 .byte 196,129,122,16,92,181,0 // vmovss 0x0(%r13,%r14,4),%xmm3 .byte 196,129,122,16,76,189,0 // vmovss 0x0(%r13,%r15,4),%xmm1 .byte 196,129,122,16,84,157,0 // vmovss 0x0(%r13,%r11,4),%xmm2 .byte 196,3,105,33,116,149,0,16 // vinsertps $0x10,0x0(%r13,%r10,4),%xmm2,%xmm14 .byte 196,1,122,16,124,141,0 // vmovss 0x0(%r13,%r9,4),%xmm15 .byte 196,1,122,16,84,133,0 // vmovss 0x0(%r13,%r8,4),%xmm10 .byte 196,67,25,33,192,48 // vinsertps $0x30,%xmm8,%xmm12,%xmm8 .byte 196,227,49,33,215,32 // vinsertps $0x20,%xmm7,%xmm9,%xmm2 .byte 196,195,105,33,211,48 // vinsertps $0x30,%xmm11,%xmm2,%xmm2 .byte 196,67,109,24,192,1 // vinsertf128 $0x1,%xmm8,%ymm2,%ymm8 .byte 196,227,17,33,211,32 // vinsertps $0x20,%xmm3,%xmm13,%xmm2 .byte 196,99,105,33,201,48 // vinsertps $0x30,%xmm1,%xmm2,%xmm9 .byte 76,139,104,16 // mov 0x10(%rax),%r13 .byte 196,129,122,16,84,165,0 // vmovss 0x0(%r13,%r12,4),%xmm2 .byte 196,67,105,33,92,157,0,16 // vinsertps $0x10,0x0(%r13,%rbx,4),%xmm2,%xmm11 .byte 196,1,122,16,100,181,0 // vmovss 0x0(%r13,%r14,4),%xmm12 .byte 196,129,122,16,76,189,0 // vmovss 0x0(%r13,%r15,4),%xmm1 .byte 196,129,122,16,124,157,0 // vmovss 0x0(%r13,%r11,4),%xmm7 .byte 196,131,65,33,124,149,0,16 // vinsertps $0x10,0x0(%r13,%r10,4),%xmm7,%xmm7 .byte 196,129,122,16,92,141,0 // vmovss 0x0(%r13,%r9,4),%xmm3 .byte 196,1,122,16,108,133,0 // vmovss 0x0(%r13,%r8,4),%xmm13 .byte 196,195,9,33,215,32 // vinsertps $0x20,%xmm15,%xmm14,%xmm2 .byte 196,195,105,33,210,48 // vinsertps $0x30,%xmm10,%xmm2,%xmm2 .byte 196,67,109,24,241,1 // vinsertf128 $0x1,%xmm9,%ymm2,%ymm14 .byte 196,195,33,33,212,32 // vinsertps $0x20,%xmm12,%xmm11,%xmm2 .byte 196,99,105,33,201,48 // vinsertps $0x30,%xmm1,%xmm2,%xmm9 .byte 196,99,65,33,211,32 // vinsertps $0x20,%xmm3,%xmm7,%xmm10 .byte 76,139,104,48 // mov 0x30(%rax),%r13 .byte 196,129,122,16,92,165,0 // vmovss 0x0(%r13,%r12,4),%xmm3 .byte 196,67,97,33,92,157,0,16 // vinsertps $0x10,0x0(%r13,%rbx,4),%xmm3,%xmm11 .byte 196,1,122,16,124,181,0 // vmovss 0x0(%r13,%r14,4),%xmm15 .byte 196,1,122,16,100,189,0 // vmovss 0x0(%r13,%r15,4),%xmm12 .byte 196,129,122,16,84,157,0 // vmovss 0x0(%r13,%r11,4),%xmm2 .byte 196,131,105,33,84,149,0,16 // vinsertps $0x10,0x0(%r13,%r10,4),%xmm2,%xmm2 .byte 196,129,122,16,124,141,0 // vmovss 0x0(%r13,%r9,4),%xmm7 .byte 196,129,122,16,92,133,0 // vmovss 0x0(%r13,%r8,4),%xmm3 .byte 196,67,41,33,213,48 // vinsertps $0x30,%xmm13,%xmm10,%xmm10 .byte 196,67,45,24,233,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm13 .byte 196,195,33,33,207,32 // vinsertps $0x20,%xmm15,%xmm11,%xmm1 .byte 196,67,113,33,204,48 // vinsertps $0x30,%xmm12,%xmm1,%xmm9 .byte 196,227,105,33,215,32 // vinsertps $0x20,%xmm7,%xmm2,%xmm2 .byte 196,99,105,33,211,48 // vinsertps $0x30,%xmm3,%xmm2,%xmm10 .byte 76,139,104,24 // mov 0x18(%rax),%r13 .byte 196,129,122,16,92,165,0 // vmovss 0x0(%r13,%r12,4),%xmm3 .byte 196,67,97,33,92,157,0,16 // vinsertps $0x10,0x0(%r13,%rbx,4),%xmm3,%xmm11 .byte 196,1,122,16,100,181,0 // vmovss 0x0(%r13,%r14,4),%xmm12 .byte 196,1,122,16,124,189,0 // vmovss 0x0(%r13,%r15,4),%xmm15 .byte 196,129,122,16,84,157,0 // vmovss 0x0(%r13,%r11,4),%xmm2 .byte 196,131,105,33,84,149,0,16 // vinsertps $0x10,0x0(%r13,%r10,4),%xmm2,%xmm2 .byte 196,129,122,16,92,141,0 // vmovss 0x0(%r13,%r9,4),%xmm3 .byte 196,129,122,16,124,133,0 // vmovss 0x0(%r13,%r8,4),%xmm7 .byte 196,67,45,24,201,1 // vinsertf128 $0x1,%xmm9,%ymm10,%ymm9 .byte 196,195,33,33,204,32 // vinsertps $0x20,%xmm12,%xmm11,%xmm1 .byte 196,195,113,33,207,48 // vinsertps $0x30,%xmm15,%xmm1,%xmm1 .byte 196,227,105,33,211,32 // vinsertps $0x20,%xmm3,%xmm2,%xmm2 .byte 196,227,105,33,215,48 // vinsertps $0x30,%xmm7,%xmm2,%xmm2 .byte 196,99,109,24,209,1 // vinsertf128 $0x1,%xmm1,%ymm2,%ymm10 .byte 76,139,104,56 // mov 0x38(%rax),%r13 .byte 196,129,122,16,76,165,0 // vmovss 0x0(%r13,%r12,4),%xmm1 .byte 196,67,113,33,92,157,0,16 // vinsertps $0x10,0x0(%r13,%rbx,4),%xmm1,%xmm11 .byte 196,1,122,16,100,181,0 // vmovss 0x0(%r13,%r14,4),%xmm12 .byte 196,1,122,16,124,189,0 // vmovss 0x0(%r13,%r15,4),%xmm15 .byte 196,129,122,16,124,157,0 // vmovss 0x0(%r13,%r11,4),%xmm7 .byte 196,131,65,33,124,149,0,16 // vinsertps $0x10,0x0(%r13,%r10,4),%xmm7,%xmm7 .byte 196,129,122,16,76,141,0 // vmovss 0x0(%r13,%r9,4),%xmm1 .byte 196,129,122,16,84,133,0 // vmovss 0x0(%r13,%r8,4),%xmm2 .byte 196,195,33,33,220,32 // vinsertps $0x20,%xmm12,%xmm11,%xmm3 .byte 196,195,97,33,223,48 // vinsertps $0x30,%xmm15,%xmm3,%xmm3 .byte 196,227,65,33,201,32 // vinsertps $0x20,%xmm1,%xmm7,%xmm1 .byte 196,227,113,33,202,48 // vinsertps $0x30,%xmm2,%xmm1,%xmm1 .byte 196,99,117,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm1,%ymm11 .byte 76,139,104,32 // mov 0x20(%rax),%r13 .byte 196,129,122,16,76,165,0 // vmovss 0x0(%r13,%r12,4),%xmm1 .byte 196,195,113,33,76,157,0,16 // vinsertps $0x10,0x0(%r13,%rbx,4),%xmm1,%xmm1 .byte 196,129,122,16,84,181,0 // vmovss 0x0(%r13,%r14,4),%xmm2 .byte 196,227,113,33,202,32 // vinsertps $0x20,%xmm2,%xmm1,%xmm1 .byte 196,129,122,16,84,189,0 // vmovss 0x0(%r13,%r15,4),%xmm2 .byte 196,129,122,16,92,157,0 // vmovss 0x0(%r13,%r11,4),%xmm3 .byte 196,3,97,33,100,149,0,16 // vinsertps $0x10,0x0(%r13,%r10,4),%xmm3,%xmm12 .byte 196,129,122,16,124,141,0 // vmovss 0x0(%r13,%r9,4),%xmm7 .byte 196,129,122,16,92,133,0 // vmovss 0x0(%r13,%r8,4),%xmm3 .byte 196,99,113,33,250,48 // vinsertps $0x30,%xmm2,%xmm1,%xmm15 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 196,161,122,16,20,160 // vmovss (%rax,%r12,4),%xmm2 .byte 196,227,105,33,20,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm2,%xmm2 .byte 196,227,25,33,255,32 // vinsertps $0x20,%xmm7,%xmm12,%xmm7 .byte 196,161,122,16,12,176 // vmovss (%rax,%r14,4),%xmm1 .byte 196,227,65,33,219,48 // vinsertps $0x30,%xmm3,%xmm7,%xmm3 .byte 196,161,122,16,60,184 // vmovss (%rax,%r15,4),%xmm7 .byte 196,67,101,24,231,1 // vinsertf128 $0x1,%xmm15,%ymm3,%ymm12 .byte 196,161,122,16,28,152 // vmovss (%rax,%r11,4),%xmm3 .byte 196,163,97,33,28,144,16 // vinsertps $0x10,(%rax,%r10,4),%xmm3,%xmm3 .byte 196,227,105,33,201,32 // vinsertps $0x20,%xmm1,%xmm2,%xmm1 .byte 196,161,122,16,20,136 // vmovss (%rax,%r9,4),%xmm2 .byte 196,227,113,33,207,48 // vinsertps $0x30,%xmm7,%xmm1,%xmm1 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,97,33,210,32 // vinsertps $0x20,%xmm2,%xmm3,%xmm2 .byte 196,227,105,33,215,48 // vinsertps $0x30,%xmm7,%xmm2,%xmm2 .byte 196,227,109,24,217,1 // vinsertf128 $0x1,%xmm1,%ymm2,%ymm3 .byte 197,188,89,200 // vmulps %ymm0,%ymm8,%ymm1 .byte 196,65,116,88,198 // vaddps %ymm14,%ymm1,%ymm8 .byte 197,148,89,200 // vmulps %ymm0,%ymm13,%ymm1 .byte 196,193,116,88,201 // vaddps %ymm9,%ymm1,%ymm1 .byte 197,172,89,208 // vmulps %ymm0,%ymm10,%ymm2 .byte 196,193,108,88,211 // vaddps %ymm11,%ymm2,%ymm2 .byte 197,156,89,192 // vmulps %ymm0,%ymm12,%ymm0 .byte 197,252,88,219 // vaddps %ymm3,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 197,252,16,124,36,208 // vmovups -0x30(%rsp),%ymm7 .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_evenly_spaced_2_stop_gradient_avx .globl _sk_evenly_spaced_2_stop_gradient_avx FUNCTION(_sk_evenly_spaced_2_stop_gradient_avx) _sk_evenly_spaced_2_stop_gradient_avx: .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,8 // vbroadcastss (%rax),%ymm1 .byte 196,226,125,24,80,16 // vbroadcastss 0x10(%rax),%ymm2 .byte 197,244,89,200 // vmulps %ymm0,%ymm1,%ymm1 .byte 197,116,88,194 // vaddps %ymm2,%ymm1,%ymm8 .byte 196,226,125,24,72,4 // vbroadcastss 0x4(%rax),%ymm1 .byte 196,226,125,24,80,20 // vbroadcastss 0x14(%rax),%ymm2 .byte 197,244,89,200 // vmulps %ymm0,%ymm1,%ymm1 .byte 197,244,88,202 // vaddps %ymm2,%ymm1,%ymm1 .byte 196,226,125,24,80,8 // vbroadcastss 0x8(%rax),%ymm2 .byte 196,226,125,24,88,24 // vbroadcastss 0x18(%rax),%ymm3 .byte 197,236,89,208 // vmulps %ymm0,%ymm2,%ymm2 .byte 197,236,88,211 // vaddps %ymm3,%ymm2,%ymm2 .byte 196,226,125,24,88,12 // vbroadcastss 0xc(%rax),%ymm3 .byte 196,98,125,24,72,28 // vbroadcastss 0x1c(%rax),%ymm9 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 196,193,124,88,217 // vaddps %ymm9,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,124,41,192 // vmovaps %ymm8,%ymm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_unit_angle_avx .globl _sk_xy_to_unit_angle_avx FUNCTION(_sk_xy_to_unit_angle_avx) _sk_xy_to_unit_angle_avx: .byte 196,65,60,87,192 // vxorps %ymm8,%ymm8,%ymm8 .byte 197,60,92,200 // vsubps %ymm0,%ymm8,%ymm9 .byte 197,52,84,200 // vandps %ymm0,%ymm9,%ymm9 .byte 197,60,92,209 // vsubps %ymm1,%ymm8,%ymm10 .byte 197,44,84,209 // vandps %ymm1,%ymm10,%ymm10 .byte 196,65,52,93,218 // vminps %ymm10,%ymm9,%ymm11 .byte 196,65,52,95,226 // vmaxps %ymm10,%ymm9,%ymm12 .byte 196,65,36,94,220 // vdivps %ymm12,%ymm11,%ymm11 .byte 196,65,36,89,227 // vmulps %ymm11,%ymm11,%ymm12 .byte 196,98,125,24,45,105,190,1,0 // vbroadcastss 0x1be69(%rip),%ymm13 # 2af44 <_sk_srcover_rgba_8888_sse2_lowp+0x970> .byte 196,65,28,89,237 // vmulps %ymm13,%ymm12,%ymm13 .byte 196,98,125,24,53,95,190,1,0 // vbroadcastss 0x1be5f(%rip),%ymm14 # 2af48 <_sk_srcover_rgba_8888_sse2_lowp+0x974> .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,80,190,1,0 // vbroadcastss 0x1be50(%rip),%ymm14 # 2af4c <_sk_srcover_rgba_8888_sse2_lowp+0x978> .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,65,190,1,0 // vbroadcastss 0x1be41(%rip),%ymm13 # 2af50 <_sk_srcover_rgba_8888_sse2_lowp+0x97c> .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,44,190,1,0 // vbroadcastss 0x1be2c(%rip),%ymm10 # 2af54 <_sk_srcover_rgba_8888_sse2_lowp+0x980> .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,194,188,1,0 // vbroadcastss 0x1bcc2(%rip),%ymm10 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,172,188,1,0 // vbroadcastss 0x1bcac(%rip),%ymm10 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,162,189,1,0 // vbroadcastss 0x1bda2(%rip),%ymm11 # 2af58 <_sk_srcover_rgba_8888_sse2_lowp+0x984> .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,118,189,1,0 // vbroadcastss 0x1bd76(%rip),%ymm9 # 2af5c <_sk_srcover_rgba_8888_sse2_lowp+0x988> .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,84,189,1,0 // vbroadcastss 0x1bd54(%rip),%ymm9 # 2af60 <_sk_srcover_rgba_8888_sse2_lowp+0x98c> .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,229,187,1,0 // vbroadcastss 0x1bbe5(%rip),%ymm11 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,244,188,1,0 // vbroadcastss 0x1bcf4(%rip),%ymm11 # 2af58 <_sk_srcover_rgba_8888_sse2_lowp+0x984> .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,200,188,1,0 // vbroadcastss 0x1bcc8(%rip),%ymm9 # 2af5c <_sk_srcover_rgba_8888_sse2_lowp+0x988> .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,166,188,1,0 // vbroadcastss 0x1bca6(%rip),%ymm9 # 2af60 <_sk_srcover_rgba_8888_sse2_lowp+0x98c> .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,55,187,1,0 // vbroadcastss 0x1bb37(%rip),%ymm11 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,76,188,1,0 // vbroadcastss 0x1bc4c(%rip),%ymm10 # 2af58 <_sk_srcover_rgba_8888_sse2_lowp+0x984> .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,36,188,1,0 // vbroadcastss 0x1bc24(%rip),%ymm8 # 2af60 <_sk_srcover_rgba_8888_sse2_lowp+0x98c> .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,96,186,1,0 // vbroadcastss 0x1ba60(%rip),%ymm8 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,72,187,1,0 // vbroadcastss 0x1bb48(%rip),%ymm0 # 2af64 <_sk_srcover_rgba_8888_sse2_lowp+0x990> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 196,98,125,24,5,223,185,1,0 // vbroadcastss 0x1b9df(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,191,185,1,0 // vbroadcastss 0x1b9bf(%rip),%ymm0 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,255,186,1,0 // vbroadcastss 0x1baff(%rip),%ymm1 # 2af64 <_sk_srcover_rgba_8888_sse2_lowp+0x990> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 196,98,125,24,5,149,185,1,0 // vbroadcastss 0x1b995(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,117,185,1,0 // vbroadcastss 0x1b975(%rip),%ymm1 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,184,186,1,0 // vbroadcastss 0x1bab8(%rip),%ymm0 # 2af68 <_sk_srcover_rgba_8888_sse2_lowp+0x994> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 196,98,125,24,5,75,185,1,0 // vbroadcastss 0x1b94b(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,156,186,1,0 // vbroadcastss 0x1ba9c(%rip),%ymm10 # 2af6c <_sk_srcover_rgba_8888_sse2_lowp+0x998> .byte 196,65,60,89,194 // vmulps %ymm10,%ymm8,%ymm8 .byte 196,98,125,24,21,154,185,1,0 // vbroadcastss 0x1b99a(%rip),%ymm10 # 2ae78 <_sk_srcover_rgba_8888_sse2_lowp+0x8a4> .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,101,186,1,0 // vbroadcastss 0x1ba65(%rip),%ymm0 # 2af64 <_sk_srcover_rgba_8888_sse2_lowp+0x990> .byte 197,252,88,0 // vaddps (%rax),%ymm0,%ymm0 .byte 196,98,125,24,5,252,184,1,0 // vbroadcastss 0x1b8fc(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,60,92,64,64 // vsubps 0x40(%rax),%ymm8,%ymm8 .byte 196,98,125,24,13,90,186,1,0 // vbroadcastss 0x1ba5a(%rip),%ymm9 # 2af74 <_sk_srcover_rgba_8888_sse2_lowp+0x9a0> .byte 196,65,60,89,201 // vmulps %ymm9,%ymm8,%ymm9 .byte 196,98,125,24,21,72,186,1,0 // vbroadcastss 0x1ba48(%rip),%ymm10 # 2af70 <_sk_srcover_rgba_8888_sse2_lowp+0x99c> .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,201,184,1,0 // vbroadcastss 0x1b8c9(%rip),%ymm10 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,42,186,1,0 // vbroadcastss 0x1ba2a(%rip),%ymm9 # 2af78 <_sk_srcover_rgba_8888_sse2_lowp+0x9a4> .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,154,184,1,0 // vbroadcastss 0x1b89a(%rip),%ymm8 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,248,185,1,0 // vbroadcastss 0x1b9f8(%rip),%ymm10 # 2af74 <_sk_srcover_rgba_8888_sse2_lowp+0x9a0> .byte 196,65,52,89,210 // vmulps %ymm10,%ymm9,%ymm10 .byte 196,98,125,24,29,230,185,1,0 // vbroadcastss 0x1b9e6(%rip),%ymm11 # 2af70 <_sk_srcover_rgba_8888_sse2_lowp+0x99c> .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,209,185,1,0 // vbroadcastss 0x1b9d1(%rip),%ymm9 # 2af78 <_sk_srcover_rgba_8888_sse2_lowp+0x9a4> .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,173,185,1,0 // vbroadcastss 0x1b9ad(%rip),%ymm0 # 2af70 <_sk_srcover_rgba_8888_sse2_lowp+0x99c> .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,146,185,1,0 // vbroadcastss 0x1b992(%rip),%ymm10 # 2af6c <_sk_srcover_rgba_8888_sse2_lowp+0x998> .byte 196,65,60,89,194 // vmulps %ymm10,%ymm8,%ymm8 .byte 196,98,125,24,21,144,184,1,0 // vbroadcastss 0x1b890(%rip),%ymm10 # 2ae78 <_sk_srcover_rgba_8888_sse2_lowp+0x8a4> .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,95,185,1,0 // vbroadcastss 0x1b95f(%rip),%ymm1 # 2af68 <_sk_srcover_rgba_8888_sse2_lowp+0x994> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 196,98,125,24,5,241,183,1,0 // vbroadcastss 0x1b7f1(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .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,66,185,1,0 // vbroadcastss 0x1b942(%rip),%ymm10 # 2af6c <_sk_srcover_rgba_8888_sse2_lowp+0x998> .byte 196,65,60,89,194 // vmulps %ymm10,%ymm8,%ymm8 .byte 196,98,125,24,21,64,184,1,0 // vbroadcastss 0x1b840(%rip),%ymm10 # 2ae78 <_sk_srcover_rgba_8888_sse2_lowp+0x8a4> .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,11,185,1,0 // vbroadcastss 0x1b90b(%rip),%ymm1 # 2af64 <_sk_srcover_rgba_8888_sse2_lowp+0x990> .byte 197,244,88,72,32 // vaddps 0x20(%rax),%ymm1,%ymm1 .byte 196,98,125,24,5,161,183,1,0 // vbroadcastss 0x1b7a1(%rip),%ymm8 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,60,92,64,96 // vsubps 0x60(%rax),%ymm8,%ymm8 .byte 196,98,125,24,13,255,184,1,0 // vbroadcastss 0x1b8ff(%rip),%ymm9 # 2af74 <_sk_srcover_rgba_8888_sse2_lowp+0x9a0> .byte 196,65,60,89,201 // vmulps %ymm9,%ymm8,%ymm9 .byte 196,98,125,24,21,237,184,1,0 // vbroadcastss 0x1b8ed(%rip),%ymm10 # 2af70 <_sk_srcover_rgba_8888_sse2_lowp+0x99c> .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,110,183,1,0 // vbroadcastss 0x1b76e(%rip),%ymm10 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,207,184,1,0 // vbroadcastss 0x1b8cf(%rip),%ymm9 # 2af78 <_sk_srcover_rgba_8888_sse2_lowp+0x9a4> .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,63,183,1,0 // vbroadcastss 0x1b73f(%rip),%ymm8 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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,156,184,1,0 // vbroadcastss 0x1b89c(%rip),%ymm10 # 2af74 <_sk_srcover_rgba_8888_sse2_lowp+0x9a0> .byte 196,65,52,89,210 // vmulps %ymm10,%ymm9,%ymm10 .byte 196,98,125,24,29,138,184,1,0 // vbroadcastss 0x1b88a(%rip),%ymm11 # 2af70 <_sk_srcover_rgba_8888_sse2_lowp+0x99c> .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,117,184,1,0 // vbroadcastss 0x1b875(%rip),%ymm9 # 2af78 <_sk_srcover_rgba_8888_sse2_lowp+0x9a4> .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,81,184,1,0 // vbroadcastss 0x1b851(%rip),%ymm1 # 2af70 <_sk_srcover_rgba_8888_sse2_lowp+0x99c> .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,53,184,1,0 // vbroadcastss 0x1b835(%rip),%ymm10 # 2af6c <_sk_srcover_rgba_8888_sse2_lowp+0x998> .byte 196,65,60,89,194 // vmulps %ymm10,%ymm8,%ymm8 .byte 196,98,125,24,21,51,183,1,0 // vbroadcastss 0x1b733(%rip),%ymm10 # 2ae78 <_sk_srcover_rgba_8888_sse2_lowp+0x8a4> .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,160,0,0,0 // sub $0xa0,%rsp .byte 197,252,41,124,36,96 // vmovaps %ymm7,0x60(%rsp) .byte 197,252,41,116,36,64 // vmovaps %ymm6,0x40(%rsp) .byte 197,252,41,108,36,32 // vmovaps %ymm5,0x20(%rsp) .byte 197,252,41,36,36 // vmovaps %ymm4,(%rsp) .byte 73,137,206 // mov %rcx,%r14 .byte 73,137,215 // mov %rdx,%r15 .byte 73,137,253 // mov %rdi,%r13 .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,137,195 // mov %rax,%rbx .byte 73,137,244 // mov %rsi,%r12 .byte 197,252,20,225 // vunpcklps %ymm1,%ymm0,%ymm4 .byte 197,252,21,193 // vunpckhps %ymm1,%ymm0,%ymm0 .byte 197,236,20,203 // vunpcklps %ymm3,%ymm2,%ymm1 .byte 197,236,21,211 // vunpckhps %ymm3,%ymm2,%ymm2 .byte 197,221,20,217 // vunpcklpd %ymm1,%ymm4,%ymm3 .byte 197,221,21,201 // vunpckhpd %ymm1,%ymm4,%ymm1 .byte 197,253,20,226 // vunpcklpd %ymm2,%ymm0,%ymm4 .byte 197,253,21,194 // vunpckhpd %ymm2,%ymm0,%ymm0 .byte 196,227,101,24,209,1 // vinsertf128 $0x1,%xmm1,%ymm3,%ymm2 .byte 196,227,93,24,232,1 // vinsertf128 $0x1,%xmm0,%ymm4,%ymm5 .byte 196,227,101,6,201,49 // vperm2f128 $0x31,%ymm1,%ymm3,%ymm1 .byte 196,227,93,6,192,49 // vperm2f128 $0x31,%ymm0,%ymm4,%ymm0 .byte 197,252,17,83,8 // vmovups %ymm2,0x8(%rbx) .byte 197,252,17,107,40 // vmovups %ymm5,0x28(%rbx) .byte 197,253,17,75,72 // vmovupd %ymm1,0x48(%rbx) .byte 197,253,17,67,104 // vmovupd %ymm0,0x68(%rbx) .byte 77,133,237 // test %r13,%r13 .byte 190,8,0,0,0 // mov $0x8,%esi .byte 65,15,69,245 // cmovne %r13d,%esi .byte 72,137,223 // mov %rbx,%rdi .byte 197,248,119 // vzeroupper .byte 255,19 // callq *(%rbx) .byte 72,139,131,136,0,0,0 // mov 0x88(%rbx),%rax .byte 197,248,16,0 // vmovups (%rax),%xmm0 .byte 197,248,16,72,16 // vmovups 0x10(%rax),%xmm1 .byte 197,248,16,80,32 // vmovups 0x20(%rax),%xmm2 .byte 197,248,16,88,48 // vmovups 0x30(%rax),%xmm3 .byte 196,227,101,24,88,112,1 // vinsertf128 $0x1,0x70(%rax),%ymm3,%ymm3 .byte 196,227,109,24,80,96,1 // vinsertf128 $0x1,0x60(%rax),%ymm2,%ymm2 .byte 196,227,117,24,72,80,1 // vinsertf128 $0x1,0x50(%rax),%ymm1,%ymm1 .byte 196,227,125,24,64,64,1 // vinsertf128 $0x1,0x40(%rax),%ymm0,%ymm0 .byte 197,252,20,225 // vunpcklps %ymm1,%ymm0,%ymm4 .byte 197,252,21,233 // vunpckhps %ymm1,%ymm0,%ymm5 .byte 197,236,20,203 // vunpcklps %ymm3,%ymm2,%ymm1 .byte 197,236,21,219 // vunpckhps %ymm3,%ymm2,%ymm3 .byte 197,221,20,193 // vunpcklpd %ymm1,%ymm4,%ymm0 .byte 197,221,21,201 // vunpckhpd %ymm1,%ymm4,%ymm1 .byte 197,213,20,211 // vunpcklpd %ymm3,%ymm5,%ymm2 .byte 197,213,21,219 // vunpckhpd %ymm3,%ymm5,%ymm3 .byte 76,137,230 // mov %r12,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,239 // mov %r13,%rdi .byte 76,137,250 // mov %r15,%rdx .byte 76,137,241 // mov %r14,%rcx .byte 197,252,40,36,36 // vmovaps (%rsp),%ymm4 .byte 197,252,40,108,36,32 // vmovaps 0x20(%rsp),%ymm5 .byte 197,252,40,116,36,64 // vmovaps 0x40(%rsp),%ymm6 .byte 197,252,40,124,36,96 // vmovaps 0x60(%rsp),%ymm7 .byte 72,141,101,216 // lea -0x28(%rbp),%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_clut_3D_avx .globl _sk_clut_3D_avx FUNCTION(_sk_clut_3D_avx) _sk_clut_3D_avx: .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,129,236,216,1,0,0 // sub $0x1d8,%rsp .byte 197,252,17,188,36,160,1,0,0 // vmovups %ymm7,0x1a0(%rsp) .byte 197,252,17,180,36,128,1,0,0 // vmovups %ymm6,0x180(%rsp) .byte 197,252,17,172,36,96,1,0,0 // vmovups %ymm5,0x160(%rsp) .byte 197,252,17,164,36,64,1,0,0 // vmovups %ymm4,0x140(%rsp) .byte 197,252,17,156,36,32,1,0,0 // vmovups %ymm3,0x120(%rsp) .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,139,64,16 // mov 0x10(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 196,193,121,110,217 // vmovd %r9d,%xmm3 .byte 197,249,112,219,0 // vpshufd $0x0,%xmm3,%xmm3 .byte 196,227,101,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 197,228,89,210 // vmulps %ymm2,%ymm3,%ymm2 .byte 197,252,17,148,36,192,0,0,0 // vmovups %ymm2,0xc0(%rsp) .byte 197,254,91,218 // vcvttps2dq %ymm2,%ymm3 .byte 68,139,72,12 // mov 0xc(%rax),%r9d .byte 69,141,81,255 // lea -0x1(%r9),%r10d .byte 196,193,121,110,210 // vmovd %r10d,%xmm2 .byte 197,249,112,210,0 // vpshufd $0x0,%xmm2,%xmm2 .byte 196,227,109,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm2,%ymm2 .byte 197,252,91,210 // vcvtdq2ps %ymm2,%ymm2 .byte 197,236,89,201 // vmulps %ymm1,%ymm2,%ymm1 .byte 197,252,17,76,36,192 // vmovups %ymm1,-0x40(%rsp) .byte 197,254,91,225 // vcvttps2dq %ymm1,%ymm4 .byte 196,193,121,110,200 // vmovd %r8d,%xmm1 .byte 197,121,112,201,0 // vpshufd $0x0,%xmm1,%xmm9 .byte 196,227,125,25,226,1 // vextractf128 $0x1,%ymm4,%xmm2 .byte 197,253,111,244 // vmovdqa %ymm4,%ymm6 .byte 197,254,127,116,36,64 // vmovdqu %ymm6,0x40(%rsp) .byte 196,226,49,64,226 // vpmulld %xmm2,%xmm9,%xmm4 .byte 197,249,127,164,36,144,0,0,0 // vmovdqa %xmm4,0x90(%rsp) .byte 196,227,125,25,223,1 // vextractf128 $0x1,%ymm3,%xmm7 .byte 197,249,127,124,36,224 // vmovdqa %xmm7,-0x20(%rsp) .byte 197,253,111,235 // vmovdqa %ymm3,%ymm5 .byte 197,254,127,172,36,160,0,0,0 // vmovdqu %ymm5,0xa0(%rsp) .byte 196,193,121,110,209 // vmovd %r9d,%xmm2 .byte 196,226,105,64,201 // vpmulld %xmm1,%xmm2,%xmm1 .byte 197,249,112,217,0 // vpshufd $0x0,%xmm1,%xmm3 .byte 68,139,64,8 // mov 0x8(%rax),%r8d .byte 65,255,200 // dec %r8d .byte 196,193,121,110,200 // vmovd %r8d,%xmm1 .byte 197,249,112,201,0 // vpshufd $0x0,%xmm1,%xmm1 .byte 196,227,117,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 197,116,89,232 // vmulps %ymm0,%ymm1,%ymm13 .byte 196,65,126,91,221 // vcvttps2dq %ymm13,%ymm11 .byte 196,99,125,25,216,1 // vextractf128 $0x1,%ymm11,%xmm0 .byte 196,226,97,64,192 // vpmulld %xmm0,%xmm3,%xmm0 .byte 197,249,127,68,36,176 // vmovdqa %xmm0,-0x50(%rsp) .byte 72,139,0 // mov (%rax),%rax .byte 197,217,254,207 // vpaddd %xmm7,%xmm4,%xmm1 .byte 197,249,254,193 // vpaddd %xmm1,%xmm0,%xmm0 .byte 196,226,121,24,37,205,181,1,0 // vbroadcastss 0x1b5cd(%rip),%xmm4 # 2af80 <_sk_srcover_rgba_8888_sse2_lowp+0x9ac> .byte 196,98,121,64,228 // vpmulld %xmm4,%xmm0,%xmm12 .byte 196,226,49,64,198 // vpmulld %xmm6,%xmm9,%xmm0 .byte 197,249,127,132,36,128,0,0,0 // vmovdqa %xmm0,0x80(%rsp) .byte 197,249,254,197 // vpaddd %xmm5,%xmm0,%xmm0 .byte 196,194,97,64,211 // vpmulld %xmm11,%xmm3,%xmm2 .byte 197,249,127,84,36,160 // vmovdqa %xmm2,-0x60(%rsp) .byte 197,233,254,208 // vpaddd %xmm0,%xmm2,%xmm2 .byte 196,226,105,64,212 // vpmulld %xmm4,%xmm2,%xmm2 .byte 196,193,121,126,208 // vmovd %xmm2,%r8d .byte 196,195,121,22,209,1 // vpextrd $0x1,%xmm2,%r9d .byte 196,195,121,22,210,2 // vpextrd $0x2,%xmm2,%r10d .byte 196,195,121,22,211,3 // vpextrd $0x3,%xmm2,%r11d .byte 196,65,121,126,231 // vmovd %xmm12,%r15d .byte 196,67,121,22,230,1 // vpextrd $0x1,%xmm12,%r14d .byte 196,67,121,22,228,2 // vpextrd $0x2,%xmm12,%r12d .byte 196,99,121,22,227,3 // vpextrd $0x3,%xmm12,%ebx .byte 196,161,122,16,44,184 // vmovss (%rax,%r15,4),%xmm5 .byte 196,163,81,33,44,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm5,%xmm5 .byte 196,163,81,33,44,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm5,%xmm5 .byte 196,227,81,33,44,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm5,%xmm5 .byte 196,161,122,16,52,128 // vmovss (%rax,%r8,4),%xmm6 .byte 196,163,73,33,52,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm6,%xmm6 .byte 196,163,73,33,52,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm6,%xmm6 .byte 196,163,73,33,52,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm6,%xmm6 .byte 196,99,77,24,245,1 // vinsertf128 $0x1,%xmm5,%ymm6,%ymm14 .byte 197,201,118,246 // vpcmpeqd %xmm6,%xmm6,%xmm6 .byte 197,233,250,238 // vpsubd %xmm6,%xmm2,%xmm5 .byte 196,195,249,22,232,1 // vpextrq $0x1,%xmm5,%r8 .byte 196,193,249,126,233 // vmovq %xmm5,%r9 .byte 197,153,250,238 // vpsubd %xmm6,%xmm12,%xmm5 .byte 196,195,249,22,234,1 // vpextrq $0x1,%xmm5,%r10 .byte 196,225,249,126,235 // vmovq %xmm5,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,44,152 // vmovss (%rax,%r11,4),%xmm5 .byte 196,227,81,33,44,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm5,%xmm5 .byte 196,161,122,16,52,176 // vmovss (%rax,%r14,4),%xmm6 .byte 196,227,81,33,238,32 // vinsertps $0x20,%xmm6,%xmm5,%xmm5 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,81,33,238,48 // vinsertps $0x30,%xmm6,%xmm5,%xmm5 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,52,152 // vmovss (%rax,%rbx,4),%xmm6 .byte 196,163,73,33,52,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm6,%xmm6 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,73,33,247,32 // vinsertps $0x20,%xmm7,%xmm6,%xmm6 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,73,33,247,48 // vinsertps $0x30,%xmm7,%xmm6,%xmm6 .byte 196,227,77,24,237,1 // vinsertf128 $0x1,%xmm5,%ymm6,%ymm5 .byte 196,98,121,24,21,54,179,1,0 // vbroadcastss 0x1b336(%rip),%xmm10 # 2ae14 <_sk_srcover_rgba_8888_sse2_lowp+0x840> .byte 196,193,105,254,210 // vpaddd %xmm10,%xmm2,%xmm2 .byte 196,195,249,22,208,1 // vpextrq $0x1,%xmm2,%r8 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 196,193,25,254,210 // vpaddd %xmm10,%xmm12,%xmm2 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 196,225,249,126,211 // vmovq %xmm2,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,20,152 // vmovss (%rax,%r11,4),%xmm2 .byte 196,227,105,33,20,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm2,%xmm2 .byte 196,161,122,16,52,176 // vmovss (%rax,%r14,4),%xmm6 .byte 196,227,105,33,214,32 // vinsertps $0x20,%xmm6,%xmm2,%xmm2 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,105,33,214,48 // vinsertps $0x30,%xmm6,%xmm2,%xmm2 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,52,152 // vmovss (%rax,%rbx,4),%xmm6 .byte 196,163,73,33,52,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm6,%xmm6 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,73,33,247,32 // vinsertps $0x20,%xmm7,%xmm6,%xmm6 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,73,33,247,48 // vinsertps $0x30,%xmm7,%xmm6,%xmm6 .byte 196,227,77,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm6,%ymm2 .byte 196,226,125,24,61,10,180,1,0 // vbroadcastss 0x1b40a(%rip),%ymm7 # 2af7c <_sk_srcover_rgba_8888_sse2_lowp+0x9a8> .byte 197,148,88,247 // vaddps %ymm7,%ymm13,%ymm6 .byte 197,124,40,231 // vmovaps %ymm7,%ymm12 .byte 197,124,17,36,36 // vmovups %ymm12,(%rsp) .byte 197,254,91,246 // vcvttps2dq %ymm6,%ymm6 .byte 196,227,125,25,247,1 // vextractf128 $0x1,%ymm6,%xmm7 .byte 196,226,97,64,255 // vpmulld %xmm7,%xmm3,%xmm7 .byte 197,249,127,124,36,144 // vmovdqa %xmm7,-0x70(%rsp) .byte 196,226,97,64,222 // vpmulld %xmm6,%xmm3,%xmm3 .byte 197,249,127,92,36,128 // vmovdqa %xmm3,-0x80(%rsp) .byte 197,225,254,192 // vpaddd %xmm0,%xmm3,%xmm0 .byte 197,193,254,201 // vpaddd %xmm1,%xmm7,%xmm1 .byte 196,226,113,64,204 // vpmulld %xmm4,%xmm1,%xmm1 .byte 196,226,121,64,220 // vpmulld %xmm4,%xmm0,%xmm3 .byte 196,193,121,126,217 // vmovd %xmm3,%r9d .byte 196,195,121,22,216,1 // vpextrd $0x1,%xmm3,%r8d .byte 196,195,121,22,218,2 // vpextrd $0x2,%xmm3,%r10d .byte 196,195,121,22,219,3 // vpextrd $0x3,%xmm3,%r11d .byte 196,193,121,126,207 // vmovd %xmm1,%r15d .byte 196,195,121,22,206,1 // vpextrd $0x1,%xmm1,%r14d .byte 196,195,121,22,204,2 // vpextrd $0x2,%xmm1,%r12d .byte 196,227,121,22,203,3 // vpextrd $0x3,%xmm1,%ebx .byte 196,161,122,16,4,184 // vmovss (%rax,%r15,4),%xmm0 .byte 196,163,121,33,4,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm0,%xmm0 .byte 196,163,121,33,4,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm0,%xmm0 .byte 196,227,121,33,4,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,52,136 // vmovss (%rax,%r9,4),%xmm6 .byte 196,163,73,33,52,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm6,%xmm6 .byte 196,163,73,33,52,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm6,%xmm6 .byte 196,163,73,33,52,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm6,%xmm6 .byte 196,99,77,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm6,%ymm8 .byte 197,201,118,246 // vpcmpeqd %xmm6,%xmm6,%xmm6 .byte 197,225,250,198 // vpsubd %xmm6,%xmm3,%xmm0 .byte 196,195,249,22,192,1 // vpextrq $0x1,%xmm0,%r8 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 197,241,250,198 // vpsubd %xmm6,%xmm1,%xmm0 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,225,249,126,195 // vmovq %xmm0,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,4,152 // vmovss (%rax,%r11,4),%xmm0 .byte 196,227,121,33,4,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,60,176 // vmovss (%rax,%r14,4),%xmm7 .byte 196,227,121,33,199,32 // vinsertps $0x20,%xmm7,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,121,33,199,48 // vinsertps $0x30,%xmm7,%xmm0,%xmm0 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,60,152 // vmovss (%rax,%rbx,4),%xmm7 .byte 196,163,65,33,60,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm7,%xmm7 .byte 196,33,122,16,60,144 // vmovss (%rax,%r10,4),%xmm15 .byte 196,195,65,33,255,32 // vinsertps $0x20,%xmm15,%xmm7,%xmm7 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,52,128 // vmovss (%rax,%r8,4),%xmm6 .byte 196,227,65,33,246,48 // vinsertps $0x30,%xmm6,%xmm7,%xmm6 .byte 196,227,77,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm6,%ymm0 .byte 196,193,97,254,218 // vpaddd %xmm10,%xmm3,%xmm3 .byte 196,195,249,22,216,1 // vpextrq $0x1,%xmm3,%r8 .byte 196,193,249,126,217 // vmovq %xmm3,%r9 .byte 196,193,113,254,202 // vpaddd %xmm10,%xmm1,%xmm1 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 196,225,249,126,203 // vmovq %xmm1,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,12,152 // vmovss (%rax,%r11,4),%xmm1 .byte 196,227,113,33,12,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,28,176 // vmovss (%rax,%r14,4),%xmm3 .byte 196,227,113,33,203,32 // vinsertps $0x20,%xmm3,%xmm1,%xmm1 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,113,33,203,48 // vinsertps $0x30,%xmm3,%xmm1,%xmm1 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,28,152 // vmovss (%rax,%rbx,4),%xmm3 .byte 196,163,97,33,28,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm3,%xmm3 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,97,33,222,32 // vinsertps $0x20,%xmm6,%xmm3,%xmm3 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,52,128 // vmovss (%rax,%r8,4),%xmm6 .byte 196,227,97,33,222,48 // vinsertps $0x30,%xmm6,%xmm3,%xmm3 .byte 196,227,101,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm3,%ymm1 .byte 196,193,124,91,219 // vcvtdq2ps %ymm11,%ymm3 .byte 197,20,92,219 // vsubps %ymm3,%ymm13,%ymm11 .byte 196,193,60,92,222 // vsubps %ymm14,%ymm8,%ymm3 .byte 197,164,89,219 // vmulps %ymm3,%ymm11,%ymm3 .byte 197,140,88,219 // vaddps %ymm3,%ymm14,%ymm3 .byte 197,252,17,156,36,224,0,0,0 // vmovups %ymm3,0xe0(%rsp) .byte 197,252,92,197 // vsubps %ymm5,%ymm0,%ymm0 .byte 197,164,89,192 // vmulps %ymm0,%ymm11,%ymm0 .byte 197,212,88,192 // vaddps %ymm0,%ymm5,%ymm0 .byte 197,252,17,68,36,32 // vmovups %ymm0,0x20(%rsp) .byte 197,244,92,194 // vsubps %ymm2,%ymm1,%ymm0 .byte 197,164,89,192 // vmulps %ymm0,%ymm11,%ymm0 .byte 197,236,88,192 // vaddps %ymm0,%ymm2,%ymm0 .byte 197,252,17,132,36,0,1,0,0 // vmovups %ymm0,0x100(%rsp) .byte 197,156,88,68,36,192 // vaddps -0x40(%rsp),%ymm12,%ymm0 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 196,226,49,64,200 // vpmulld %xmm0,%xmm9,%xmm1 .byte 197,249,127,76,36,96 // vmovdqa %xmm1,0x60(%rsp) .byte 196,227,125,25,192,1 // vextractf128 $0x1,%ymm0,%xmm0 .byte 196,226,49,64,192 // vpmulld %xmm0,%xmm9,%xmm0 .byte 197,249,127,68,36,112 // vmovdqa %xmm0,0x70(%rsp) .byte 197,249,254,116,36,224 // vpaddd -0x20(%rsp),%xmm0,%xmm6 .byte 197,121,111,100,36,176 // vmovdqa -0x50(%rsp),%xmm12 .byte 196,193,73,254,196 // vpaddd %xmm12,%xmm6,%xmm0 .byte 196,98,121,64,196 // vpmulld %xmm4,%xmm0,%xmm8 .byte 197,241,254,140,36,160,0,0,0 // vpaddd 0xa0(%rsp),%xmm1,%xmm1 .byte 197,249,111,108,36,160 // vmovdqa -0x60(%rsp),%xmm5 .byte 197,241,254,197 // vpaddd %xmm5,%xmm1,%xmm0 .byte 196,226,121,64,196 // vpmulld %xmm4,%xmm0,%xmm0 .byte 196,193,121,126,193 // vmovd %xmm0,%r9d .byte 196,195,121,22,192,1 // vpextrd $0x1,%xmm0,%r8d .byte 196,195,121,22,194,2 // vpextrd $0x2,%xmm0,%r10d .byte 196,195,121,22,195,3 // vpextrd $0x3,%xmm0,%r11d .byte 196,65,121,126,199 // vmovd %xmm8,%r15d .byte 196,67,121,22,198,1 // vpextrd $0x1,%xmm8,%r14d .byte 196,67,121,22,196,2 // vpextrd $0x2,%xmm8,%r12d .byte 196,99,121,22,195,3 // vpextrd $0x3,%xmm8,%ebx .byte 196,161,122,16,60,184 // vmovss (%rax,%r15,4),%xmm7 .byte 196,163,65,33,60,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm7,%xmm7 .byte 196,163,65,33,60,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm7,%xmm7 .byte 196,227,65,33,60,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm7,%xmm7 .byte 196,161,122,16,20,136 // vmovss (%rax,%r9,4),%xmm2 .byte 196,163,105,33,20,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm2,%xmm2 .byte 196,163,105,33,20,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm2,%xmm2 .byte 196,163,105,33,20,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm2,%xmm2 .byte 196,227,109,24,215,1 // vinsertf128 $0x1,%xmm7,%ymm2,%ymm2 .byte 197,252,17,84,36,224 // vmovups %ymm2,-0x20(%rsp) .byte 197,225,118,219 // vpcmpeqd %xmm3,%xmm3,%xmm3 .byte 197,249,250,211 // vpsubd %xmm3,%xmm0,%xmm2 .byte 196,195,249,22,208,1 // vpextrq $0x1,%xmm2,%r8 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 197,185,250,211 // vpsubd %xmm3,%xmm8,%xmm2 .byte 196,65,17,118,237 // vpcmpeqd %xmm13,%xmm13,%xmm13 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 196,225,249,126,211 // vmovq %xmm2,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,20,152 // vmovss (%rax,%r11,4),%xmm2 .byte 196,227,105,33,20,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm2,%xmm2 .byte 196,161,122,16,60,176 // vmovss (%rax,%r14,4),%xmm7 .byte 196,227,105,33,215,32 // vinsertps $0x20,%xmm7,%xmm2,%xmm2 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,105,33,215,48 // vinsertps $0x30,%xmm7,%xmm2,%xmm2 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,60,152 // vmovss (%rax,%rbx,4),%xmm7 .byte 196,163,65,33,60,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm7,%xmm7 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,65,33,219,32 // vinsertps $0x20,%xmm3,%xmm7,%xmm3 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,97,33,223,48 // vinsertps $0x30,%xmm7,%xmm3,%xmm3 .byte 196,99,101,24,202,1 // vinsertf128 $0x1,%xmm2,%ymm3,%ymm9 .byte 196,193,121,254,194 // vpaddd %xmm10,%xmm0,%xmm0 .byte 196,195,249,22,192,1 // vpextrq $0x1,%xmm0,%r8 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 196,193,57,254,194 // vpaddd %xmm10,%xmm8,%xmm0 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,225,249,126,195 // vmovq %xmm0,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,4,152 // vmovss (%rax,%r11,4),%xmm0 .byte 196,227,121,33,4,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,20,176 // vmovss (%rax,%r14,4),%xmm2 .byte 196,227,121,33,194,32 // vinsertps $0x20,%xmm2,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,20,144 // vmovss (%rax,%r10,4),%xmm2 .byte 196,227,121,33,194,48 // vinsertps $0x30,%xmm2,%xmm0,%xmm0 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,20,152 // vmovss (%rax,%rbx,4),%xmm2 .byte 196,163,105,33,20,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm2,%xmm2 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,105,33,211,32 // vinsertps $0x20,%xmm3,%xmm2,%xmm2 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,28,128 // vmovss (%rax,%r8,4),%xmm3 .byte 196,227,105,33,211,48 // vinsertps $0x30,%xmm3,%xmm2,%xmm2 .byte 196,99,109,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm2,%ymm8 .byte 197,121,111,124,36,128 // vmovdqa -0x80(%rsp),%xmm15 .byte 197,129,254,193 // vpaddd %xmm1,%xmm15,%xmm0 .byte 197,121,111,116,36,144 // vmovdqa -0x70(%rsp),%xmm14 .byte 197,137,254,206 // vpaddd %xmm6,%xmm14,%xmm1 .byte 196,226,113,64,244 // vpmulld %xmm4,%xmm1,%xmm6 .byte 196,226,121,64,204 // vpmulld %xmm4,%xmm0,%xmm1 .byte 196,193,121,126,201 // vmovd %xmm1,%r9d .byte 196,195,121,22,200,1 // vpextrd $0x1,%xmm1,%r8d .byte 196,195,121,22,202,2 // vpextrd $0x2,%xmm1,%r10d .byte 196,195,121,22,203,3 // vpextrd $0x3,%xmm1,%r11d .byte 196,193,121,126,247 // vmovd %xmm6,%r15d .byte 196,195,121,22,246,1 // vpextrd $0x1,%xmm6,%r14d .byte 196,195,121,22,244,2 // vpextrd $0x2,%xmm6,%r12d .byte 196,227,121,22,243,3 // vpextrd $0x3,%xmm6,%ebx .byte 196,161,122,16,4,184 // vmovss (%rax,%r15,4),%xmm0 .byte 196,163,121,33,4,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm0,%xmm0 .byte 196,163,121,33,4,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm0,%xmm0 .byte 196,227,121,33,4,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,20,136 // vmovss (%rax,%r9,4),%xmm2 .byte 196,163,105,33,20,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm2,%xmm2 .byte 196,163,105,33,20,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm2,%xmm2 .byte 196,163,105,33,20,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm2,%xmm2 .byte 196,227,109,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm2,%ymm0 .byte 196,193,113,250,213 // vpsubd %xmm13,%xmm1,%xmm2 .byte 196,195,249,22,208,1 // vpextrq $0x1,%xmm2,%r8 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 196,193,73,250,213 // vpsubd %xmm13,%xmm6,%xmm2 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 196,225,249,126,211 // vmovq %xmm2,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,20,152 // vmovss (%rax,%r11,4),%xmm2 .byte 196,227,105,33,20,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm2,%xmm2 .byte 196,161,122,16,28,176 // vmovss (%rax,%r14,4),%xmm3 .byte 196,227,105,33,211,32 // vinsertps $0x20,%xmm3,%xmm2,%xmm2 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,105,33,211,48 // vinsertps $0x30,%xmm3,%xmm2,%xmm2 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,28,152 // vmovss (%rax,%rbx,4),%xmm3 .byte 196,163,97,33,28,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm3,%xmm3 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,97,33,223,32 // vinsertps $0x20,%xmm7,%xmm3,%xmm3 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,97,33,223,48 // vinsertps $0x30,%xmm7,%xmm3,%xmm3 .byte 196,99,101,24,234,1 // vinsertf128 $0x1,%xmm2,%ymm3,%ymm13 .byte 196,193,113,254,202 // vpaddd %xmm10,%xmm1,%xmm1 .byte 196,195,249,22,200,1 // vpextrq $0x1,%xmm1,%r8 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 196,193,73,254,202 // vpaddd %xmm10,%xmm6,%xmm1 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 196,225,249,126,203 // vmovq %xmm1,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,12,152 // vmovss (%rax,%r11,4),%xmm1 .byte 196,227,113,33,12,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,20,176 // vmovss (%rax,%r14,4),%xmm2 .byte 196,227,113,33,202,32 // vinsertps $0x20,%xmm2,%xmm1,%xmm1 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,20,144 // vmovss (%rax,%r10,4),%xmm2 .byte 196,227,113,33,202,48 // vinsertps $0x30,%xmm2,%xmm1,%xmm1 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,20,152 // vmovss (%rax,%rbx,4),%xmm2 .byte 196,163,105,33,20,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm2,%xmm2 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,105,33,211,32 // vinsertps $0x20,%xmm3,%xmm2,%xmm2 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,28,128 // vmovss (%rax,%r8,4),%xmm3 .byte 196,227,105,33,211,48 // vinsertps $0x30,%xmm3,%xmm2,%xmm2 .byte 196,227,109,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm2,%ymm1 .byte 197,252,16,84,36,224 // vmovups -0x20(%rsp),%ymm2 .byte 197,252,92,194 // vsubps %ymm2,%ymm0,%ymm0 .byte 197,164,89,192 // vmulps %ymm0,%ymm11,%ymm0 .byte 197,236,88,208 // vaddps %ymm0,%ymm2,%ymm2 .byte 196,193,20,92,193 // vsubps %ymm9,%ymm13,%ymm0 .byte 197,164,89,192 // vmulps %ymm0,%ymm11,%ymm0 .byte 197,180,88,216 // vaddps %ymm0,%ymm9,%ymm3 .byte 196,193,116,92,192 // vsubps %ymm8,%ymm1,%ymm0 .byte 197,164,89,192 // vmulps %ymm0,%ymm11,%ymm0 .byte 197,188,88,200 // vaddps %ymm0,%ymm8,%ymm1 .byte 197,252,91,68,36,64 // vcvtdq2ps 0x40(%rsp),%ymm0 .byte 197,252,16,116,36,192 // vmovups -0x40(%rsp),%ymm6 .byte 197,76,92,232 // vsubps %ymm0,%ymm6,%ymm13 .byte 197,252,16,132,36,224,0,0,0 // vmovups 0xe0(%rsp),%ymm0 .byte 197,236,92,208 // vsubps %ymm0,%ymm2,%ymm2 .byte 197,148,89,210 // vmulps %ymm2,%ymm13,%ymm2 .byte 197,252,88,194 // vaddps %ymm2,%ymm0,%ymm0 .byte 197,252,17,68,36,192 // vmovups %ymm0,-0x40(%rsp) .byte 197,252,16,68,36,32 // vmovups 0x20(%rsp),%ymm0 .byte 197,228,92,208 // vsubps %ymm0,%ymm3,%ymm2 .byte 197,148,89,210 // vmulps %ymm2,%ymm13,%ymm2 .byte 197,252,88,194 // vaddps %ymm2,%ymm0,%ymm0 .byte 197,252,17,68,36,64 // vmovups %ymm0,0x40(%rsp) .byte 197,252,16,132,36,0,1,0,0 // vmovups 0x100(%rsp),%ymm0 .byte 197,244,92,200 // vsubps %ymm0,%ymm1,%ymm1 .byte 197,148,89,201 // vmulps %ymm1,%ymm13,%ymm1 .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 197,252,17,68,36,32 // vmovups %ymm0,0x20(%rsp) .byte 197,252,16,4,36 // vmovups (%rsp),%ymm0 .byte 197,252,88,140,36,192,0,0,0 // vaddps 0xc0(%rsp),%ymm0,%ymm1 .byte 197,126,91,201 // vcvttps2dq %ymm1,%ymm9 .byte 196,99,125,25,200,1 // vextractf128 $0x1,%ymm9,%xmm0 .byte 197,249,127,4,36 // vmovdqa %xmm0,(%rsp) .byte 197,249,254,180,36,144,0,0,0 // vpaddd 0x90(%rsp),%xmm0,%xmm6 .byte 197,177,254,156,36,128,0,0,0 // vpaddd 0x80(%rsp),%xmm9,%xmm3 .byte 197,153,254,206 // vpaddd %xmm6,%xmm12,%xmm1 .byte 196,226,113,64,204 // vpmulld %xmm4,%xmm1,%xmm1 .byte 197,209,254,211 // vpaddd %xmm3,%xmm5,%xmm2 .byte 196,226,105,64,212 // vpmulld %xmm4,%xmm2,%xmm2 .byte 196,193,121,126,209 // vmovd %xmm2,%r9d .byte 196,195,121,22,208,1 // vpextrd $0x1,%xmm2,%r8d .byte 196,195,121,22,210,2 // vpextrd $0x2,%xmm2,%r10d .byte 196,195,121,22,211,3 // vpextrd $0x3,%xmm2,%r11d .byte 196,193,121,126,207 // vmovd %xmm1,%r15d .byte 196,195,121,22,206,1 // vpextrd $0x1,%xmm1,%r14d .byte 196,195,121,22,204,2 // vpextrd $0x2,%xmm1,%r12d .byte 196,227,121,22,203,3 // vpextrd $0x3,%xmm1,%ebx .byte 196,161,122,16,60,184 // vmovss (%rax,%r15,4),%xmm7 .byte 196,163,65,33,60,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm7,%xmm7 .byte 196,163,65,33,60,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm7,%xmm7 .byte 196,227,65,33,60,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm7,%xmm7 .byte 196,161,122,16,4,136 // vmovss (%rax,%r9,4),%xmm0 .byte 196,163,121,33,4,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm0,%xmm0 .byte 196,163,121,33,4,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm0,%xmm0 .byte 196,163,121,33,4,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm0,%xmm0 .byte 196,99,125,24,231,1 // vinsertf128 $0x1,%xmm7,%ymm0,%ymm12 .byte 197,209,118,237 // vpcmpeqd %xmm5,%xmm5,%xmm5 .byte 197,233,250,197 // vpsubd %xmm5,%xmm2,%xmm0 .byte 196,195,249,22,192,1 // vpextrq $0x1,%xmm0,%r8 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 197,241,250,197 // vpsubd %xmm5,%xmm1,%xmm0 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,225,249,126,195 // vmovq %xmm0,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,4,152 // vmovss (%rax,%r11,4),%xmm0 .byte 196,227,121,33,4,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,60,176 // vmovss (%rax,%r14,4),%xmm7 .byte 196,227,121,33,199,32 // vinsertps $0x20,%xmm7,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,121,33,199,48 // vinsertps $0x30,%xmm7,%xmm0,%xmm0 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,60,152 // vmovss (%rax,%rbx,4),%xmm7 .byte 196,163,65,33,60,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm7,%xmm7 .byte 196,161,122,16,44,144 // vmovss (%rax,%r10,4),%xmm5 .byte 196,227,65,33,237,32 // vinsertps $0x20,%xmm5,%xmm7,%xmm5 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,81,33,239,48 // vinsertps $0x30,%xmm7,%xmm5,%xmm5 .byte 196,227,85,24,248,1 // vinsertf128 $0x1,%xmm0,%ymm5,%ymm7 .byte 196,193,105,254,194 // vpaddd %xmm10,%xmm2,%xmm0 .byte 196,195,249,22,192,1 // vpextrq $0x1,%xmm0,%r8 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 196,193,113,254,194 // vpaddd %xmm10,%xmm1,%xmm0 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,225,249,126,195 // vmovq %xmm0,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,4,152 // vmovss (%rax,%r11,4),%xmm0 .byte 196,227,121,33,4,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,12,176 // vmovss (%rax,%r14,4),%xmm1 .byte 196,227,121,33,193,32 // vinsertps $0x20,%xmm1,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,12,144 // vmovss (%rax,%r10,4),%xmm1 .byte 196,227,121,33,193,48 // vinsertps $0x30,%xmm1,%xmm0,%xmm0 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,12,152 // vmovss (%rax,%rbx,4),%xmm1 .byte 196,163,113,33,12,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm1,%xmm1 .byte 196,161,122,16,20,144 // vmovss (%rax,%r10,4),%xmm2 .byte 196,227,113,33,202,32 // vinsertps $0x20,%xmm2,%xmm1,%xmm1 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,20,128 // vmovss (%rax,%r8,4),%xmm2 .byte 196,227,113,33,202,48 // vinsertps $0x30,%xmm2,%xmm1,%xmm1 .byte 196,99,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm8 .byte 197,129,254,195 // vpaddd %xmm3,%xmm15,%xmm0 .byte 197,137,254,206 // vpaddd %xmm6,%xmm14,%xmm1 .byte 196,226,113,64,204 // vpmulld %xmm4,%xmm1,%xmm1 .byte 196,226,121,64,212 // vpmulld %xmm4,%xmm0,%xmm2 .byte 196,193,121,126,209 // vmovd %xmm2,%r9d .byte 196,195,121,22,208,1 // vpextrd $0x1,%xmm2,%r8d .byte 196,195,121,22,210,2 // vpextrd $0x2,%xmm2,%r10d .byte 196,195,121,22,211,3 // vpextrd $0x3,%xmm2,%r11d .byte 196,193,121,126,207 // vmovd %xmm1,%r15d .byte 196,195,121,22,206,1 // vpextrd $0x1,%xmm1,%r14d .byte 196,195,121,22,204,2 // vpextrd $0x2,%xmm1,%r12d .byte 196,227,121,22,203,3 // vpextrd $0x3,%xmm1,%ebx .byte 196,161,122,16,4,184 // vmovss (%rax,%r15,4),%xmm0 .byte 196,163,121,33,4,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm0,%xmm0 .byte 196,163,121,33,4,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm0,%xmm0 .byte 196,227,121,33,4,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,28,136 // vmovss (%rax,%r9,4),%xmm3 .byte 196,163,97,33,28,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm3,%xmm3 .byte 196,163,97,33,28,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm3,%xmm3 .byte 196,163,97,33,28,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm3,%xmm3 .byte 196,227,101,24,216,1 // vinsertf128 $0x1,%xmm0,%ymm3,%ymm3 .byte 197,209,118,237 // vpcmpeqd %xmm5,%xmm5,%xmm5 .byte 197,233,250,197 // vpsubd %xmm5,%xmm2,%xmm0 .byte 196,195,249,22,192,1 // vpextrq $0x1,%xmm0,%r8 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 197,241,250,197 // vpsubd %xmm5,%xmm1,%xmm0 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,225,249,126,195 // vmovq %xmm0,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,4,152 // vmovss (%rax,%r11,4),%xmm0 .byte 196,227,121,33,4,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,44,176 // vmovss (%rax,%r14,4),%xmm5 .byte 196,227,121,33,197,32 // vinsertps $0x20,%xmm5,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,44,144 // vmovss (%rax,%r10,4),%xmm5 .byte 196,227,121,33,197,48 // vinsertps $0x30,%xmm5,%xmm0,%xmm0 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,44,152 // vmovss (%rax,%rbx,4),%xmm5 .byte 196,163,81,33,44,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm5,%xmm5 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,81,33,238,32 // vinsertps $0x20,%xmm6,%xmm5,%xmm5 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,52,128 // vmovss (%rax,%r8,4),%xmm6 .byte 196,227,81,33,238,48 // vinsertps $0x30,%xmm6,%xmm5,%xmm5 .byte 196,227,85,24,240,1 // vinsertf128 $0x1,%xmm0,%ymm5,%ymm6 .byte 196,193,105,254,194 // vpaddd %xmm10,%xmm2,%xmm0 .byte 196,195,249,22,192,1 // vpextrq $0x1,%xmm0,%r8 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 196,193,113,254,194 // vpaddd %xmm10,%xmm1,%xmm0 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,225,249,126,195 // vmovq %xmm0,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,4,152 // vmovss (%rax,%r11,4),%xmm0 .byte 196,227,121,33,4,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,12,176 // vmovss (%rax,%r14,4),%xmm1 .byte 196,227,121,33,193,32 // vinsertps $0x20,%xmm1,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,12,144 // vmovss (%rax,%r10,4),%xmm1 .byte 196,227,121,33,193,48 // vinsertps $0x30,%xmm1,%xmm0,%xmm0 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,12,152 // vmovss (%rax,%rbx,4),%xmm1 .byte 196,163,113,33,12,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm1,%xmm1 .byte 196,161,122,16,20,144 // vmovss (%rax,%r10,4),%xmm2 .byte 196,227,113,33,202,32 // vinsertps $0x20,%xmm2,%xmm1,%xmm1 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,20,128 // vmovss (%rax,%r8,4),%xmm2 .byte 196,227,113,33,202,48 // vinsertps $0x30,%xmm2,%xmm1,%xmm1 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 196,193,100,92,204 // vsubps %ymm12,%ymm3,%ymm1 .byte 197,164,89,201 // vmulps %ymm1,%ymm11,%ymm1 .byte 197,28,88,225 // vaddps %ymm1,%ymm12,%ymm12 .byte 197,204,92,207 // vsubps %ymm7,%ymm6,%ymm1 .byte 197,164,89,201 // vmulps %ymm1,%ymm11,%ymm1 .byte 197,68,88,241 // vaddps %ymm1,%ymm7,%ymm14 .byte 196,193,124,92,192 // vsubps %ymm8,%ymm0,%ymm0 .byte 197,164,89,192 // vmulps %ymm0,%ymm11,%ymm0 .byte 197,60,88,192 // vaddps %ymm0,%ymm8,%ymm8 .byte 197,249,111,4,36 // vmovdqa (%rsp),%xmm0 .byte 197,249,254,116,36,112 // vpaddd 0x70(%rsp),%xmm0,%xmm6 .byte 197,177,254,76,36,96 // vpaddd 0x60(%rsp),%xmm9,%xmm1 .byte 197,241,254,68,36,160 // vpaddd -0x60(%rsp),%xmm1,%xmm0 .byte 197,201,254,84,36,176 // vpaddd -0x50(%rsp),%xmm6,%xmm2 .byte 196,98,105,64,204 // vpmulld %xmm4,%xmm2,%xmm9 .byte 196,226,121,64,220 // vpmulld %xmm4,%xmm0,%xmm3 .byte 196,193,121,126,217 // vmovd %xmm3,%r9d .byte 196,195,121,22,216,1 // vpextrd $0x1,%xmm3,%r8d .byte 196,195,121,22,218,2 // vpextrd $0x2,%xmm3,%r10d .byte 196,195,121,22,219,3 // vpextrd $0x3,%xmm3,%r11d .byte 196,65,121,126,207 // vmovd %xmm9,%r15d .byte 196,67,121,22,206,1 // vpextrd $0x1,%xmm9,%r14d .byte 196,67,121,22,204,2 // vpextrd $0x2,%xmm9,%r12d .byte 196,99,121,22,203,3 // vpextrd $0x3,%xmm9,%ebx .byte 196,161,122,16,4,184 // vmovss (%rax,%r15,4),%xmm0 .byte 196,163,121,33,4,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm0,%xmm0 .byte 196,163,121,33,4,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm0,%xmm0 .byte 196,227,121,33,4,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,20,136 // vmovss (%rax,%r9,4),%xmm2 .byte 196,163,105,33,20,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm2,%xmm2 .byte 196,163,105,33,20,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm2,%xmm2 .byte 196,163,105,33,20,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm2,%xmm2 .byte 196,227,109,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm2,%ymm0 .byte 197,209,118,237 // vpcmpeqd %xmm5,%xmm5,%xmm5 .byte 197,225,250,213 // vpsubd %xmm5,%xmm3,%xmm2 .byte 196,195,249,22,208,1 // vpextrq $0x1,%xmm2,%r8 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 197,177,250,213 // vpsubd %xmm5,%xmm9,%xmm2 .byte 196,65,1,118,255 // vpcmpeqd %xmm15,%xmm15,%xmm15 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 196,225,249,126,211 // vmovq %xmm2,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,20,152 // vmovss (%rax,%r11,4),%xmm2 .byte 196,227,105,33,20,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm2,%xmm2 .byte 196,161,122,16,44,176 // vmovss (%rax,%r14,4),%xmm5 .byte 196,227,105,33,213,32 // vinsertps $0x20,%xmm5,%xmm2,%xmm2 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,44,144 // vmovss (%rax,%r10,4),%xmm5 .byte 196,227,105,33,213,48 // vinsertps $0x30,%xmm5,%xmm2,%xmm2 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,44,152 // vmovss (%rax,%rbx,4),%xmm5 .byte 196,163,81,33,44,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm5,%xmm5 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,81,33,239,32 // vinsertps $0x20,%xmm7,%xmm5,%xmm5 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,81,33,239,48 // vinsertps $0x30,%xmm7,%xmm5,%xmm5 .byte 196,227,85,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm5,%ymm2 .byte 196,193,97,254,218 // vpaddd %xmm10,%xmm3,%xmm3 .byte 196,195,249,22,216,1 // vpextrq $0x1,%xmm3,%r8 .byte 196,193,249,126,217 // vmovq %xmm3,%r9 .byte 196,193,49,254,218 // vpaddd %xmm10,%xmm9,%xmm3 .byte 196,195,249,22,218,1 // vpextrq $0x1,%xmm3,%r10 .byte 196,225,249,126,219 // vmovq %xmm3,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,28,152 // vmovss (%rax,%r11,4),%xmm3 .byte 196,227,97,33,28,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm3,%xmm3 .byte 196,161,122,16,44,176 // vmovss (%rax,%r14,4),%xmm5 .byte 196,227,97,33,221,32 // vinsertps $0x20,%xmm5,%xmm3,%xmm3 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,44,144 // vmovss (%rax,%r10,4),%xmm5 .byte 196,227,97,33,221,48 // vinsertps $0x30,%xmm5,%xmm3,%xmm3 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,44,152 // vmovss (%rax,%rbx,4),%xmm5 .byte 196,163,81,33,44,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm5,%xmm5 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,81,33,239,32 // vinsertps $0x20,%xmm7,%xmm5,%xmm5 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,81,33,239,48 // vinsertps $0x30,%xmm7,%xmm5,%xmm5 .byte 196,99,85,24,203,1 // vinsertf128 $0x1,%xmm3,%ymm5,%ymm9 .byte 197,241,254,76,36,128 // vpaddd -0x80(%rsp),%xmm1,%xmm1 .byte 197,201,254,92,36,144 // vpaddd -0x70(%rsp),%xmm6,%xmm3 .byte 196,226,97,64,220 // vpmulld %xmm4,%xmm3,%xmm3 .byte 196,226,113,64,228 // vpmulld %xmm4,%xmm1,%xmm4 .byte 196,193,121,126,225 // vmovd %xmm4,%r9d .byte 196,195,121,22,224,1 // vpextrd $0x1,%xmm4,%r8d .byte 196,195,121,22,226,2 // vpextrd $0x2,%xmm4,%r10d .byte 196,195,121,22,227,3 // vpextrd $0x3,%xmm4,%r11d .byte 196,193,121,126,223 // vmovd %xmm3,%r15d .byte 196,195,121,22,222,1 // vpextrd $0x1,%xmm3,%r14d .byte 196,195,121,22,220,2 // vpextrd $0x2,%xmm3,%r12d .byte 196,227,121,22,219,3 // vpextrd $0x3,%xmm3,%ebx .byte 196,161,122,16,12,184 // vmovss (%rax,%r15,4),%xmm1 .byte 196,163,113,33,12,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm1,%xmm1 .byte 196,163,113,33,12,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm1,%xmm1 .byte 196,227,113,33,12,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,44,136 // vmovss (%rax,%r9,4),%xmm5 .byte 196,163,81,33,44,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm5,%xmm5 .byte 196,163,81,33,44,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm5,%xmm5 .byte 196,163,81,33,44,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm5,%xmm5 .byte 196,227,85,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm5,%ymm1 .byte 196,193,89,250,239 // vpsubd %xmm15,%xmm4,%xmm5 .byte 196,195,249,22,232,1 // vpextrq $0x1,%xmm5,%r8 .byte 196,193,249,126,233 // vmovq %xmm5,%r9 .byte 196,193,97,250,239 // vpsubd %xmm15,%xmm3,%xmm5 .byte 196,195,249,22,234,1 // vpextrq $0x1,%xmm5,%r10 .byte 196,225,249,126,235 // vmovq %xmm5,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,44,152 // vmovss (%rax,%r11,4),%xmm5 .byte 196,227,81,33,44,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm5,%xmm5 .byte 196,161,122,16,52,176 // vmovss (%rax,%r14,4),%xmm6 .byte 196,227,81,33,238,32 // vinsertps $0x20,%xmm6,%xmm5,%xmm5 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,81,33,238,48 // vinsertps $0x30,%xmm6,%xmm5,%xmm5 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,52,152 // vmovss (%rax,%rbx,4),%xmm6 .byte 196,163,73,33,52,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm6,%xmm6 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,73,33,247,32 // vinsertps $0x20,%xmm7,%xmm6,%xmm6 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,73,33,247,48 // vinsertps $0x30,%xmm7,%xmm6,%xmm6 .byte 196,227,77,24,245,1 // vinsertf128 $0x1,%xmm5,%ymm6,%ymm6 .byte 196,193,89,254,226 // vpaddd %xmm10,%xmm4,%xmm4 .byte 196,195,249,22,224,1 // vpextrq $0x1,%xmm4,%r8 .byte 196,193,249,126,225 // vmovq %xmm4,%r9 .byte 196,193,97,254,218 // vpaddd %xmm10,%xmm3,%xmm3 .byte 196,195,249,22,218,1 // vpextrq $0x1,%xmm3,%r10 .byte 196,225,249,126,219 // vmovq %xmm3,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,28,152 // vmovss (%rax,%r11,4),%xmm3 .byte 196,227,97,33,28,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm3,%xmm3 .byte 196,161,122,16,36,176 // vmovss (%rax,%r14,4),%xmm4 .byte 196,227,97,33,220,32 // vinsertps $0x20,%xmm4,%xmm3,%xmm3 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,36,144 // vmovss (%rax,%r10,4),%xmm4 .byte 196,227,97,33,220,48 // vinsertps $0x30,%xmm4,%xmm3,%xmm3 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,36,152 // vmovss (%rax,%rbx,4),%xmm4 .byte 196,163,89,33,36,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm4,%xmm4 .byte 196,161,122,16,44,144 // vmovss (%rax,%r10,4),%xmm5 .byte 196,227,89,33,229,32 // vinsertps $0x20,%xmm5,%xmm4,%xmm4 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,44,128 // vmovss (%rax,%r8,4),%xmm5 .byte 196,227,89,33,229,48 // vinsertps $0x30,%xmm5,%xmm4,%xmm4 .byte 196,227,93,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm4,%ymm3 .byte 197,244,92,200 // vsubps %ymm0,%ymm1,%ymm1 .byte 197,164,89,201 // vmulps %ymm1,%ymm11,%ymm1 .byte 197,252,88,193 // vaddps %ymm1,%ymm0,%ymm0 .byte 197,204,92,202 // vsubps %ymm2,%ymm6,%ymm1 .byte 197,164,89,201 // vmulps %ymm1,%ymm11,%ymm1 .byte 197,236,88,201 // vaddps %ymm1,%ymm2,%ymm1 .byte 196,193,100,92,209 // vsubps %ymm9,%ymm3,%ymm2 .byte 197,164,89,210 // vmulps %ymm2,%ymm11,%ymm2 .byte 197,180,88,210 // vaddps %ymm2,%ymm9,%ymm2 .byte 196,193,124,92,196 // vsubps %ymm12,%ymm0,%ymm0 .byte 197,148,89,192 // vmulps %ymm0,%ymm13,%ymm0 .byte 197,156,88,192 // vaddps %ymm0,%ymm12,%ymm0 .byte 196,193,116,92,206 // vsubps %ymm14,%ymm1,%ymm1 .byte 197,148,89,201 // vmulps %ymm1,%ymm13,%ymm1 .byte 197,140,88,201 // vaddps %ymm1,%ymm14,%ymm1 .byte 196,193,108,92,208 // vsubps %ymm8,%ymm2,%ymm2 .byte 197,148,89,210 // vmulps %ymm2,%ymm13,%ymm2 .byte 197,188,88,210 // vaddps %ymm2,%ymm8,%ymm2 .byte 197,252,91,156,36,160,0,0,0 // vcvtdq2ps 0xa0(%rsp),%ymm3 .byte 197,252,16,164,36,192,0,0,0 // vmovups 0xc0(%rsp),%ymm4 .byte 197,220,92,219 // vsubps %ymm3,%ymm4,%ymm3 .byte 197,252,16,100,36,192 // vmovups -0x40(%rsp),%ymm4 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,220,88,192 // vaddps %ymm0,%ymm4,%ymm0 .byte 197,252,16,100,36,64 // vmovups 0x40(%rsp),%ymm4 .byte 197,244,92,204 // vsubps %ymm4,%ymm1,%ymm1 .byte 197,228,89,201 // vmulps %ymm1,%ymm3,%ymm1 .byte 197,220,88,201 // vaddps %ymm1,%ymm4,%ymm1 .byte 197,252,16,100,36,32 // vmovups 0x20(%rsp),%ymm4 .byte 197,236,92,212 // vsubps %ymm4,%ymm2,%ymm2 .byte 197,228,89,210 // vmulps %ymm2,%ymm3,%ymm2 .byte 197,220,88,210 // vaddps %ymm2,%ymm4,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,16,156,36,32,1,0,0 // vmovups 0x120(%rsp),%ymm3 .byte 197,252,16,164,36,64,1,0,0 // vmovups 0x140(%rsp),%ymm4 .byte 197,252,16,172,36,96,1,0,0 // vmovups 0x160(%rsp),%ymm5 .byte 197,252,16,180,36,128,1,0,0 // vmovups 0x180(%rsp),%ymm6 .byte 197,252,16,188,36,160,1,0,0 // vmovups 0x1a0(%rsp),%ymm7 .byte 72,129,196,216,1,0,0 // add $0x1d8,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_clut_4D_avx .globl _sk_clut_4D_avx FUNCTION(_sk_clut_4D_avx) _sk_clut_4D_avx: .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,129,236,216,2,0,0 // sub $0x2d8,%rsp .byte 197,252,17,188,36,160,2,0,0 // vmovups %ymm7,0x2a0(%rsp) .byte 197,252,17,180,36,128,2,0,0 // vmovups %ymm6,0x280(%rsp) .byte 197,252,17,172,36,96,2,0,0 // vmovups %ymm5,0x260(%rsp) .byte 197,252,17,164,36,64,2,0,0 // vmovups %ymm4,0x240(%rsp) .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,139,64,20 // mov 0x14(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 196,193,121,110,225 // vmovd %r9d,%xmm4 .byte 197,249,112,228,0 // vpshufd $0x0,%xmm4,%xmm4 .byte 196,227,93,24,228,1 // vinsertf128 $0x1,%xmm4,%ymm4,%ymm4 .byte 197,252,91,228 // vcvtdq2ps %ymm4,%ymm4 .byte 197,92,89,203 // vmulps %ymm3,%ymm4,%ymm9 .byte 197,124,17,140,36,224,1,0,0 // vmovups %ymm9,0x1e0(%rsp) .byte 68,139,72,16 // mov 0x10(%rax),%r9d .byte 69,141,81,255 // lea -0x1(%r9),%r10d .byte 196,193,121,110,218 // vmovd %r10d,%xmm3 .byte 197,249,112,219,0 // vpshufd $0x0,%xmm3,%xmm3 .byte 196,227,101,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 197,228,89,210 // vmulps %ymm2,%ymm3,%ymm2 .byte 197,252,17,148,36,0,1,0,0 // vmovups %ymm2,0x100(%rsp) .byte 197,254,91,218 // vcvttps2dq %ymm2,%ymm3 .byte 196,227,125,25,218,1 // vextractf128 $0x1,%ymm3,%xmm2 .byte 197,253,111,251 // vmovdqa %ymm3,%ymm7 .byte 197,254,127,188,36,64,1,0,0 // vmovdqu %ymm7,0x140(%rsp) .byte 196,193,121,110,216 // vmovd %r8d,%xmm3 .byte 197,249,112,227,0 // vpshufd $0x0,%xmm3,%xmm4 .byte 196,226,89,64,242 // vpmulld %xmm2,%xmm4,%xmm6 .byte 197,249,111,236 // vmovdqa %xmm4,%xmm5 .byte 197,249,127,108,36,192 // vmovdqa %xmm5,-0x40(%rsp) .byte 197,249,127,180,36,160,0,0,0 // vmovdqa %xmm6,0xa0(%rsp) .byte 196,193,121,110,209 // vmovd %r9d,%xmm2 .byte 196,226,105,64,211 // vpmulld %xmm3,%xmm2,%xmm2 .byte 197,121,112,194,0 // vpshufd $0x0,%xmm2,%xmm8 .byte 68,139,64,12 // mov 0xc(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 196,193,121,110,217 // vmovd %r9d,%xmm3 .byte 197,249,112,219,0 // vpshufd $0x0,%xmm3,%xmm3 .byte 196,227,101,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm3,%ymm3 .byte 197,252,91,219 // vcvtdq2ps %ymm3,%ymm3 .byte 197,228,89,201 // vmulps %ymm1,%ymm3,%ymm1 .byte 197,252,17,140,36,128,0,0,0 // vmovups %ymm1,0x80(%rsp) .byte 197,254,91,217 // vcvttps2dq %ymm1,%ymm3 .byte 196,227,125,25,217,1 // vextractf128 $0x1,%ymm3,%xmm1 .byte 197,125,111,211 // vmovdqa %ymm3,%ymm10 .byte 197,126,127,148,36,192,0,0,0 // vmovdqu %ymm10,0xc0(%rsp) .byte 196,226,57,64,217 // vpmulld %xmm1,%xmm8,%xmm3 .byte 197,249,127,156,36,224,0,0,0 // vmovdqa %xmm3,0xe0(%rsp) .byte 196,193,121,110,200 // vmovd %r8d,%xmm1 .byte 196,226,113,64,202 // vpmulld %xmm2,%xmm1,%xmm1 .byte 197,249,112,225,0 // vpshufd $0x0,%xmm1,%xmm4 .byte 68,139,64,8 // mov 0x8(%rax),%r8d .byte 65,255,200 // dec %r8d .byte 196,193,121,110,200 // vmovd %r8d,%xmm1 .byte 197,249,112,201,0 // vpshufd $0x0,%xmm1,%xmm1 .byte 196,227,117,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm1,%ymm1 .byte 197,252,91,201 // vcvtdq2ps %ymm1,%ymm1 .byte 197,116,89,248 // vmulps %ymm0,%ymm1,%ymm15 .byte 196,65,126,91,223 // vcvttps2dq %ymm15,%ymm11 .byte 196,99,125,25,216,1 // vextractf128 $0x1,%ymm11,%xmm0 .byte 196,226,89,64,208 // vpmulld %xmm0,%xmm4,%xmm2 .byte 197,249,127,84,36,128 // vmovdqa %xmm2,-0x80(%rsp) .byte 72,139,0 // mov (%rax),%rax .byte 196,193,126,91,201 // vcvttps2dq %ymm9,%ymm1 .byte 197,254,127,140,36,192,1,0,0 // vmovdqu %ymm1,0x1c0(%rsp) .byte 196,227,125,25,200,1 // vextractf128 $0x1,%ymm1,%xmm0 .byte 197,249,127,68,36,96 // vmovdqa %xmm0,0x60(%rsp) .byte 197,201,254,192 // vpaddd %xmm0,%xmm6,%xmm0 .byte 197,249,127,68,36,32 // vmovdqa %xmm0,0x20(%rsp) .byte 197,225,254,216 // vpaddd %xmm0,%xmm3,%xmm3 .byte 197,233,254,195 // vpaddd %xmm3,%xmm2,%xmm0 .byte 196,98,121,24,13,206,164,1,0 // vbroadcastss 0x1a4ce(%rip),%xmm9 # 2af80 <_sk_srcover_rgba_8888_sse2_lowp+0x9ac> .byte 196,194,121,64,209 // vpmulld %xmm9,%xmm0,%xmm2 .byte 196,226,81,64,199 // vpmulld %xmm7,%xmm5,%xmm0 .byte 197,249,127,132,36,96,1,0,0 // vmovdqa %xmm0,0x160(%rsp) .byte 197,121,254,241 // vpaddd %xmm1,%xmm0,%xmm14 .byte 196,194,57,64,194 // vpmulld %xmm10,%xmm8,%xmm0 .byte 197,249,127,68,36,240 // vmovdqa %xmm0,-0x10(%rsp) .byte 196,193,121,254,206 // vpaddd %xmm14,%xmm0,%xmm1 .byte 196,194,89,64,195 // vpmulld %xmm11,%xmm4,%xmm0 .byte 197,249,127,68,36,144 // vmovdqa %xmm0,-0x70(%rsp) .byte 197,249,254,193 // vpaddd %xmm1,%xmm0,%xmm0 .byte 196,194,121,64,193 // vpmulld %xmm9,%xmm0,%xmm0 .byte 196,193,121,126,192 // vmovd %xmm0,%r8d .byte 196,195,121,22,193,1 // vpextrd $0x1,%xmm0,%r9d .byte 196,195,121,22,194,2 // vpextrd $0x2,%xmm0,%r10d .byte 196,195,121,22,195,3 // vpextrd $0x3,%xmm0,%r11d .byte 196,193,121,126,215 // vmovd %xmm2,%r15d .byte 196,195,121,22,214,1 // vpextrd $0x1,%xmm2,%r14d .byte 196,195,121,22,212,2 // vpextrd $0x2,%xmm2,%r12d .byte 196,227,121,22,211,3 // vpextrd $0x3,%xmm2,%ebx .byte 196,161,122,16,44,184 // vmovss (%rax,%r15,4),%xmm5 .byte 196,163,81,33,44,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm5,%xmm5 .byte 196,163,81,33,44,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm5,%xmm5 .byte 196,227,81,33,44,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm5,%xmm5 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,163,65,33,60,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm7,%xmm7 .byte 196,163,65,33,60,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm7,%xmm7 .byte 196,163,65,33,60,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm7,%xmm7 .byte 196,99,69,24,237,1 // vinsertf128 $0x1,%xmm5,%ymm7,%ymm13 .byte 197,201,118,246 // vpcmpeqd %xmm6,%xmm6,%xmm6 .byte 197,249,250,238 // vpsubd %xmm6,%xmm0,%xmm5 .byte 196,195,249,22,232,1 // vpextrq $0x1,%xmm5,%r8 .byte 196,193,249,126,233 // vmovq %xmm5,%r9 .byte 197,233,250,238 // vpsubd %xmm6,%xmm2,%xmm5 .byte 196,195,249,22,234,1 // vpextrq $0x1,%xmm5,%r10 .byte 196,225,249,126,235 // vmovq %xmm5,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,44,152 // vmovss (%rax,%r11,4),%xmm5 .byte 196,227,81,33,44,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm5,%xmm5 .byte 196,161,122,16,60,176 // vmovss (%rax,%r14,4),%xmm7 .byte 196,227,81,33,239,32 // vinsertps $0x20,%xmm7,%xmm5,%xmm5 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,81,33,239,48 // vinsertps $0x30,%xmm7,%xmm5,%xmm5 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,60,152 // vmovss (%rax,%rbx,4),%xmm7 .byte 196,163,65,33,60,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm7,%xmm7 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,65,33,246,32 // vinsertps $0x20,%xmm6,%xmm7,%xmm6 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,73,33,247,48 // vinsertps $0x30,%xmm7,%xmm6,%xmm6 .byte 196,227,77,24,237,1 // vinsertf128 $0x1,%xmm5,%ymm6,%ymm5 .byte 196,98,121,24,21,39,162,1,0 // vbroadcastss 0x1a227(%rip),%xmm10 # 2ae14 <_sk_srcover_rgba_8888_sse2_lowp+0x840> .byte 196,193,121,254,194 // vpaddd %xmm10,%xmm0,%xmm0 .byte 196,195,249,22,192,1 // vpextrq $0x1,%xmm0,%r8 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 196,193,105,254,194 // vpaddd %xmm10,%xmm2,%xmm0 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,225,249,126,195 // vmovq %xmm0,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,4,152 // vmovss (%rax,%r11,4),%xmm0 .byte 196,227,121,33,4,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,20,176 // vmovss (%rax,%r14,4),%xmm2 .byte 196,227,121,33,194,32 // vinsertps $0x20,%xmm2,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,20,144 // vmovss (%rax,%r10,4),%xmm2 .byte 196,227,121,33,194,48 // vinsertps $0x30,%xmm2,%xmm0,%xmm0 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,20,152 // vmovss (%rax,%rbx,4),%xmm2 .byte 196,163,105,33,20,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm2,%xmm2 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,105,33,214,32 // vinsertps $0x20,%xmm6,%xmm2,%xmm2 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,52,128 // vmovss (%rax,%r8,4),%xmm6 .byte 196,227,105,33,214,48 // vinsertps $0x30,%xmm6,%xmm2,%xmm2 .byte 196,227,109,24,208,1 // vinsertf128 $0x1,%xmm0,%ymm2,%ymm2 .byte 196,98,125,24,37,251,162,1,0 // vbroadcastss 0x1a2fb(%rip),%ymm12 # 2af7c <_sk_srcover_rgba_8888_sse2_lowp+0x9a8> .byte 196,193,4,88,196 // vaddps %ymm12,%ymm15,%ymm0 .byte 197,124,17,36,36 // vmovups %ymm12,(%rsp) .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 196,227,125,25,198,1 // vextractf128 $0x1,%ymm0,%xmm6 .byte 196,226,89,64,246 // vpmulld %xmm6,%xmm4,%xmm6 .byte 197,249,127,116,36,176 // vmovdqa %xmm6,-0x50(%rsp) .byte 196,226,89,64,192 // vpmulld %xmm0,%xmm4,%xmm0 .byte 197,249,127,68,36,160 // vmovdqa %xmm0,-0x60(%rsp) .byte 197,249,254,193 // vpaddd %xmm1,%xmm0,%xmm0 .byte 197,201,254,203 // vpaddd %xmm3,%xmm6,%xmm1 .byte 196,194,113,64,201 // vpmulld %xmm9,%xmm1,%xmm1 .byte 196,194,121,64,225 // vpmulld %xmm9,%xmm0,%xmm4 .byte 196,193,121,126,225 // vmovd %xmm4,%r9d .byte 196,195,121,22,224,1 // vpextrd $0x1,%xmm4,%r8d .byte 196,195,121,22,226,2 // vpextrd $0x2,%xmm4,%r10d .byte 196,195,121,22,227,3 // vpextrd $0x3,%xmm4,%r11d .byte 196,193,121,126,207 // vmovd %xmm1,%r15d .byte 196,195,121,22,206,1 // vpextrd $0x1,%xmm1,%r14d .byte 196,195,121,22,204,2 // vpextrd $0x2,%xmm1,%r12d .byte 196,227,121,22,203,3 // vpextrd $0x3,%xmm1,%ebx .byte 196,161,122,16,4,184 // vmovss (%rax,%r15,4),%xmm0 .byte 196,163,121,33,4,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm0,%xmm0 .byte 196,163,121,33,4,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm0,%xmm0 .byte 196,227,121,33,4,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,28,136 // vmovss (%rax,%r9,4),%xmm3 .byte 196,163,97,33,28,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm3,%xmm3 .byte 196,163,97,33,28,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm3,%xmm3 .byte 196,163,97,33,28,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm3,%xmm3 .byte 196,227,101,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm3,%ymm0 .byte 197,201,118,246 // vpcmpeqd %xmm6,%xmm6,%xmm6 .byte 197,217,250,222 // vpsubd %xmm6,%xmm4,%xmm3 .byte 196,195,249,22,216,1 // vpextrq $0x1,%xmm3,%r8 .byte 196,193,249,126,217 // vmovq %xmm3,%r9 .byte 197,241,250,222 // vpsubd %xmm6,%xmm1,%xmm3 .byte 196,195,249,22,218,1 // vpextrq $0x1,%xmm3,%r10 .byte 196,225,249,126,219 // vmovq %xmm3,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,28,152 // vmovss (%rax,%r11,4),%xmm3 .byte 196,227,97,33,28,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm3,%xmm3 .byte 196,161,122,16,52,176 // vmovss (%rax,%r14,4),%xmm6 .byte 196,227,97,33,222,32 // vinsertps $0x20,%xmm6,%xmm3,%xmm3 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,97,33,222,48 // vinsertps $0x30,%xmm6,%xmm3,%xmm3 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,52,152 // vmovss (%rax,%rbx,4),%xmm6 .byte 196,163,73,33,52,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm6,%xmm6 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,73,33,247,32 // vinsertps $0x20,%xmm7,%xmm6,%xmm6 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,73,33,247,48 // vinsertps $0x30,%xmm7,%xmm6,%xmm6 .byte 196,227,77,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm6,%ymm3 .byte 196,193,89,254,226 // vpaddd %xmm10,%xmm4,%xmm4 .byte 196,195,249,22,224,1 // vpextrq $0x1,%xmm4,%r8 .byte 196,193,249,126,225 // vmovq %xmm4,%r9 .byte 196,193,113,254,202 // vpaddd %xmm10,%xmm1,%xmm1 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 196,225,249,126,203 // vmovq %xmm1,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,12,152 // vmovss (%rax,%r11,4),%xmm1 .byte 196,227,113,33,12,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,36,176 // vmovss (%rax,%r14,4),%xmm4 .byte 196,227,113,33,204,32 // vinsertps $0x20,%xmm4,%xmm1,%xmm1 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,36,144 // vmovss (%rax,%r10,4),%xmm4 .byte 196,227,113,33,204,48 // vinsertps $0x30,%xmm4,%xmm1,%xmm1 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,36,152 // vmovss (%rax,%rbx,4),%xmm4 .byte 196,163,89,33,36,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm4,%xmm4 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,89,33,230,32 // vinsertps $0x20,%xmm6,%xmm4,%xmm4 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,52,128 // vmovss (%rax,%r8,4),%xmm6 .byte 196,227,89,33,230,48 // vinsertps $0x30,%xmm6,%xmm4,%xmm4 .byte 196,227,93,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm4,%ymm1 .byte 196,193,124,91,227 // vcvtdq2ps %ymm11,%ymm4 .byte 197,4,92,252 // vsubps %ymm4,%ymm15,%ymm15 .byte 196,193,124,92,197 // vsubps %ymm13,%ymm0,%ymm0 .byte 197,132,89,192 // vmulps %ymm0,%ymm15,%ymm0 .byte 197,148,88,192 // vaddps %ymm0,%ymm13,%ymm0 .byte 197,252,17,132,36,32,1,0,0 // vmovups %ymm0,0x120(%rsp) .byte 197,228,92,197 // vsubps %ymm5,%ymm3,%ymm0 .byte 197,132,89,192 // vmulps %ymm0,%ymm15,%ymm0 .byte 197,212,88,192 // vaddps %ymm0,%ymm5,%ymm0 .byte 197,252,17,68,36,64 // vmovups %ymm0,0x40(%rsp) .byte 197,244,92,194 // vsubps %ymm2,%ymm1,%ymm0 .byte 197,132,89,192 // vmulps %ymm0,%ymm15,%ymm0 .byte 197,108,88,232 // vaddps %ymm0,%ymm2,%ymm13 .byte 197,124,16,156,36,128,0,0,0 // vmovups 0x80(%rsp),%ymm11 .byte 196,193,36,88,196 // vaddps %ymm12,%ymm11,%ymm0 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 196,226,57,64,200 // vpmulld %xmm0,%xmm8,%xmm1 .byte 197,249,127,76,36,224 // vmovdqa %xmm1,-0x20(%rsp) .byte 196,227,125,25,192,1 // vextractf128 $0x1,%ymm0,%xmm0 .byte 196,226,57,64,192 // vpmulld %xmm0,%xmm8,%xmm0 .byte 197,249,127,68,36,208 // vmovdqa %xmm0,-0x30(%rsp) .byte 197,249,254,108,36,32 // vpaddd 0x20(%rsp),%xmm0,%xmm5 .byte 196,193,113,254,198 // vpaddd %xmm14,%xmm1,%xmm0 .byte 197,121,111,100,36,128 // vmovdqa -0x80(%rsp),%xmm12 .byte 196,193,81,254,204 // vpaddd %xmm12,%xmm5,%xmm1 .byte 196,194,113,64,209 // vpmulld %xmm9,%xmm1,%xmm2 .byte 197,121,111,68,36,144 // vmovdqa -0x70(%rsp),%xmm8 .byte 196,193,121,254,200 // vpaddd %xmm8,%xmm0,%xmm1 .byte 196,194,113,64,241 // vpmulld %xmm9,%xmm1,%xmm6 .byte 196,193,121,126,241 // vmovd %xmm6,%r9d .byte 196,195,121,22,240,1 // vpextrd $0x1,%xmm6,%r8d .byte 196,195,121,22,242,2 // vpextrd $0x2,%xmm6,%r10d .byte 196,195,121,22,243,3 // vpextrd $0x3,%xmm6,%r11d .byte 196,193,121,126,215 // vmovd %xmm2,%r15d .byte 196,195,121,22,214,1 // vpextrd $0x1,%xmm2,%r14d .byte 196,195,121,22,212,2 // vpextrd $0x2,%xmm2,%r12d .byte 196,227,121,22,211,3 // vpextrd $0x3,%xmm2,%ebx .byte 196,161,122,16,12,184 // vmovss (%rax,%r15,4),%xmm1 .byte 196,163,113,33,12,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm1,%xmm1 .byte 196,163,113,33,12,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm1,%xmm1 .byte 196,227,113,33,12,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,28,136 // vmovss (%rax,%r9,4),%xmm3 .byte 196,163,97,33,28,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm3,%xmm3 .byte 196,163,97,33,28,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm3,%xmm3 .byte 196,163,97,33,28,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm3,%xmm3 .byte 196,99,101,24,241,1 // vinsertf128 $0x1,%xmm1,%ymm3,%ymm14 .byte 197,225,118,219 // vpcmpeqd %xmm3,%xmm3,%xmm3 .byte 197,201,250,203 // vpsubd %xmm3,%xmm6,%xmm1 .byte 196,195,249,22,200,1 // vpextrq $0x1,%xmm1,%r8 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 197,233,250,203 // vpsubd %xmm3,%xmm2,%xmm1 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 196,225,249,126,203 // vmovq %xmm1,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,12,152 // vmovss (%rax,%r11,4),%xmm1 .byte 196,227,113,33,12,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,28,176 // vmovss (%rax,%r14,4),%xmm3 .byte 196,227,113,33,203,32 // vinsertps $0x20,%xmm3,%xmm1,%xmm1 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,113,33,203,48 // vinsertps $0x30,%xmm3,%xmm1,%xmm1 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,28,152 // vmovss (%rax,%rbx,4),%xmm3 .byte 196,163,97,33,28,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm3,%xmm3 .byte 196,161,122,16,36,144 // vmovss (%rax,%r10,4),%xmm4 .byte 196,227,97,33,220,32 // vinsertps $0x20,%xmm4,%xmm3,%xmm3 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,36,128 // vmovss (%rax,%r8,4),%xmm4 .byte 196,227,97,33,220,48 // vinsertps $0x30,%xmm4,%xmm3,%xmm3 .byte 196,227,101,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm3,%ymm1 .byte 196,193,73,254,218 // vpaddd %xmm10,%xmm6,%xmm3 .byte 196,195,249,22,216,1 // vpextrq $0x1,%xmm3,%r8 .byte 196,193,249,126,217 // vmovq %xmm3,%r9 .byte 196,193,105,254,210 // vpaddd %xmm10,%xmm2,%xmm2 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 196,225,249,126,211 // vmovq %xmm2,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,20,152 // vmovss (%rax,%r11,4),%xmm2 .byte 196,227,105,33,20,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm2,%xmm2 .byte 196,161,122,16,28,176 // vmovss (%rax,%r14,4),%xmm3 .byte 196,227,105,33,211,32 // vinsertps $0x20,%xmm3,%xmm2,%xmm2 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,105,33,211,48 // vinsertps $0x30,%xmm3,%xmm2,%xmm2 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,28,152 // vmovss (%rax,%rbx,4),%xmm3 .byte 196,163,97,33,28,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm3,%xmm3 .byte 196,161,122,16,36,144 // vmovss (%rax,%r10,4),%xmm4 .byte 196,227,97,33,220,32 // vinsertps $0x20,%xmm4,%xmm3,%xmm3 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,36,128 // vmovss (%rax,%r8,4),%xmm4 .byte 196,227,97,33,220,48 // vinsertps $0x30,%xmm4,%xmm3,%xmm3 .byte 196,227,101,24,242,1 // vinsertf128 $0x1,%xmm2,%ymm3,%ymm6 .byte 197,249,254,68,36,160 // vpaddd -0x60(%rsp),%xmm0,%xmm0 .byte 197,209,254,84,36,176 // vpaddd -0x50(%rsp),%xmm5,%xmm2 .byte 196,194,105,64,209 // vpmulld %xmm9,%xmm2,%xmm2 .byte 196,194,121,64,233 // vpmulld %xmm9,%xmm0,%xmm5 .byte 196,193,121,126,233 // vmovd %xmm5,%r9d .byte 196,195,121,22,232,1 // vpextrd $0x1,%xmm5,%r8d .byte 196,195,121,22,234,2 // vpextrd $0x2,%xmm5,%r10d .byte 196,195,121,22,235,3 // vpextrd $0x3,%xmm5,%r11d .byte 196,193,121,126,215 // vmovd %xmm2,%r15d .byte 196,195,121,22,214,1 // vpextrd $0x1,%xmm2,%r14d .byte 196,195,121,22,212,2 // vpextrd $0x2,%xmm2,%r12d .byte 196,227,121,22,211,3 // vpextrd $0x3,%xmm2,%ebx .byte 196,161,122,16,4,184 // vmovss (%rax,%r15,4),%xmm0 .byte 196,163,121,33,4,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm0,%xmm0 .byte 196,163,121,33,4,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm0,%xmm0 .byte 196,227,121,33,4,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,28,136 // vmovss (%rax,%r9,4),%xmm3 .byte 196,163,97,33,28,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm3,%xmm3 .byte 196,163,97,33,28,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm3,%xmm3 .byte 196,163,97,33,28,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm3,%xmm3 .byte 196,227,101,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm3,%ymm0 .byte 197,217,118,228 // vpcmpeqd %xmm4,%xmm4,%xmm4 .byte 197,209,250,220 // vpsubd %xmm4,%xmm5,%xmm3 .byte 196,195,249,22,216,1 // vpextrq $0x1,%xmm3,%r8 .byte 196,193,249,126,217 // vmovq %xmm3,%r9 .byte 197,233,250,220 // vpsubd %xmm4,%xmm2,%xmm3 .byte 196,195,249,22,218,1 // vpextrq $0x1,%xmm3,%r10 .byte 196,225,249,126,219 // vmovq %xmm3,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,28,152 // vmovss (%rax,%r11,4),%xmm3 .byte 196,227,97,33,28,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm3,%xmm3 .byte 196,161,122,16,36,176 // vmovss (%rax,%r14,4),%xmm4 .byte 196,227,97,33,220,32 // vinsertps $0x20,%xmm4,%xmm3,%xmm3 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,36,144 // vmovss (%rax,%r10,4),%xmm4 .byte 196,227,97,33,220,48 // vinsertps $0x30,%xmm4,%xmm3,%xmm3 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,36,152 // vmovss (%rax,%rbx,4),%xmm4 .byte 196,163,89,33,36,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm4,%xmm4 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,89,33,231,32 // vinsertps $0x20,%xmm7,%xmm4,%xmm4 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,89,33,231,48 // vinsertps $0x30,%xmm7,%xmm4,%xmm4 .byte 196,227,93,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm4,%ymm3 .byte 196,193,81,254,226 // vpaddd %xmm10,%xmm5,%xmm4 .byte 196,195,249,22,224,1 // vpextrq $0x1,%xmm4,%r8 .byte 196,193,249,126,225 // vmovq %xmm4,%r9 .byte 196,193,105,254,210 // vpaddd %xmm10,%xmm2,%xmm2 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 196,225,249,126,211 // vmovq %xmm2,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,20,152 // vmovss (%rax,%r11,4),%xmm2 .byte 196,227,105,33,20,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm2,%xmm2 .byte 196,161,122,16,36,176 // vmovss (%rax,%r14,4),%xmm4 .byte 196,227,105,33,212,32 // vinsertps $0x20,%xmm4,%xmm2,%xmm2 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,36,144 // vmovss (%rax,%r10,4),%xmm4 .byte 196,227,105,33,212,48 // vinsertps $0x30,%xmm4,%xmm2,%xmm2 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,36,152 // vmovss (%rax,%rbx,4),%xmm4 .byte 196,163,89,33,36,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm4,%xmm4 .byte 196,161,122,16,44,144 // vmovss (%rax,%r10,4),%xmm5 .byte 196,227,89,33,229,32 // vinsertps $0x20,%xmm5,%xmm4,%xmm4 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,44,128 // vmovss (%rax,%r8,4),%xmm5 .byte 196,227,89,33,229,48 // vinsertps $0x30,%xmm5,%xmm4,%xmm4 .byte 196,227,93,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm4,%ymm2 .byte 196,193,124,92,198 // vsubps %ymm14,%ymm0,%ymm0 .byte 197,132,89,192 // vmulps %ymm0,%ymm15,%ymm0 .byte 197,140,88,192 // vaddps %ymm0,%ymm14,%ymm0 .byte 197,228,92,217 // vsubps %ymm1,%ymm3,%ymm3 .byte 197,132,89,219 // vmulps %ymm3,%ymm15,%ymm3 .byte 197,244,88,203 // vaddps %ymm3,%ymm1,%ymm1 .byte 197,236,92,214 // vsubps %ymm6,%ymm2,%ymm2 .byte 197,132,89,210 // vmulps %ymm2,%ymm15,%ymm2 .byte 197,204,88,210 // vaddps %ymm2,%ymm6,%ymm2 .byte 197,252,91,156,36,192,0,0,0 // vcvtdq2ps 0xc0(%rsp),%ymm3 .byte 197,164,92,219 // vsubps %ymm3,%ymm11,%ymm3 .byte 197,252,17,156,36,192,0,0,0 // vmovups %ymm3,0xc0(%rsp) .byte 197,252,16,164,36,32,1,0,0 // vmovups 0x120(%rsp),%ymm4 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,220,88,192 // vaddps %ymm0,%ymm4,%ymm0 .byte 197,252,17,132,36,128,0,0,0 // vmovups %ymm0,0x80(%rsp) .byte 197,252,16,100,36,64 // vmovups 0x40(%rsp),%ymm4 .byte 197,244,92,196 // vsubps %ymm4,%ymm1,%ymm0 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,220,88,192 // vaddps %ymm0,%ymm4,%ymm0 .byte 197,252,17,68,36,64 // vmovups %ymm0,0x40(%rsp) .byte 196,193,108,92,197 // vsubps %ymm13,%ymm2,%ymm0 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,148,88,192 // vaddps %ymm0,%ymm13,%ymm0 .byte 197,252,17,68,36,32 // vmovups %ymm0,0x20(%rsp) .byte 197,252,16,4,36 // vmovups (%rsp),%ymm0 .byte 197,252,88,132,36,0,1,0,0 // vaddps 0x100(%rsp),%ymm0,%ymm0 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 196,227,125,25,193,1 // vextractf128 $0x1,%ymm0,%xmm1 .byte 197,249,111,84,36,192 // vmovdqa -0x40(%rsp),%xmm2 .byte 196,226,105,64,201 // vpmulld %xmm1,%xmm2,%xmm1 .byte 197,249,127,140,36,32,1,0,0 // vmovdqa %xmm1,0x120(%rsp) .byte 196,226,105,64,192 // vpmulld %xmm0,%xmm2,%xmm0 .byte 197,249,127,68,36,192 // vmovdqa %xmm0,-0x40(%rsp) .byte 197,241,254,76,36,96 // vpaddd 0x60(%rsp),%xmm1,%xmm1 .byte 197,249,127,140,36,176,1,0,0 // vmovdqa %xmm1,0x1b0(%rsp) .byte 197,241,254,172,36,224,0,0,0 // vpaddd 0xe0(%rsp),%xmm1,%xmm5 .byte 196,193,81,254,204 // vpaddd %xmm12,%xmm5,%xmm1 .byte 196,194,113,64,225 // vpmulld %xmm9,%xmm1,%xmm4 .byte 197,121,254,180,36,192,1,0,0 // vpaddd 0x1c0(%rsp),%xmm0,%xmm14 .byte 197,137,254,84,36,240 // vpaddd -0x10(%rsp),%xmm14,%xmm2 .byte 196,193,105,254,248 // vpaddd %xmm8,%xmm2,%xmm7 .byte 196,194,65,64,249 // vpmulld %xmm9,%xmm7,%xmm7 .byte 196,193,121,126,249 // vmovd %xmm7,%r9d .byte 196,195,121,22,248,1 // vpextrd $0x1,%xmm7,%r8d .byte 196,195,121,22,250,2 // vpextrd $0x2,%xmm7,%r10d .byte 196,195,121,22,251,3 // vpextrd $0x3,%xmm7,%r11d .byte 196,193,121,126,231 // vmovd %xmm4,%r15d .byte 196,195,121,22,230,1 // vpextrd $0x1,%xmm4,%r14d .byte 196,195,121,22,228,2 // vpextrd $0x2,%xmm4,%r12d .byte 196,227,121,22,227,3 // vpextrd $0x3,%xmm4,%ebx .byte 196,161,122,16,28,184 // vmovss (%rax,%r15,4),%xmm3 .byte 196,163,97,33,28,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm3,%xmm3 .byte 196,163,97,33,28,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm3,%xmm3 .byte 196,227,97,33,28,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm3,%xmm3 .byte 196,161,122,16,52,136 // vmovss (%rax,%r9,4),%xmm6 .byte 196,163,73,33,52,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm6,%xmm6 .byte 196,163,73,33,52,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm6,%xmm6 .byte 196,163,73,33,52,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm6,%xmm6 .byte 196,227,77,24,203,1 // vinsertf128 $0x1,%xmm3,%ymm6,%ymm1 .byte 197,249,118,192 // vpcmpeqd %xmm0,%xmm0,%xmm0 .byte 197,193,250,216 // vpsubd %xmm0,%xmm7,%xmm3 .byte 196,195,249,22,216,1 // vpextrq $0x1,%xmm3,%r8 .byte 196,193,249,126,217 // vmovq %xmm3,%r9 .byte 197,217,250,216 // vpsubd %xmm0,%xmm4,%xmm3 .byte 196,195,249,22,218,1 // vpextrq $0x1,%xmm3,%r10 .byte 196,225,249,126,219 // vmovq %xmm3,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,28,152 // vmovss (%rax,%r11,4),%xmm3 .byte 196,227,97,33,28,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm3,%xmm3 .byte 196,161,122,16,52,176 // vmovss (%rax,%r14,4),%xmm6 .byte 196,227,97,33,222,32 // vinsertps $0x20,%xmm6,%xmm3,%xmm3 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,97,33,222,48 // vinsertps $0x30,%xmm6,%xmm3,%xmm3 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,52,152 // vmovss (%rax,%rbx,4),%xmm6 .byte 196,163,73,33,52,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm6,%xmm6 .byte 196,161,122,16,4,144 // vmovss (%rax,%r10,4),%xmm0 .byte 196,227,73,33,192,32 // vinsertps $0x20,%xmm0,%xmm6,%xmm0 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,52,128 // vmovss (%rax,%r8,4),%xmm6 .byte 196,227,121,33,198,48 // vinsertps $0x30,%xmm6,%xmm0,%xmm0 .byte 196,99,125,24,235,1 // vinsertf128 $0x1,%xmm3,%ymm0,%ymm13 .byte 196,193,65,254,194 // vpaddd %xmm10,%xmm7,%xmm0 .byte 196,195,249,22,192,1 // vpextrq $0x1,%xmm0,%r8 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 196,193,89,254,194 // vpaddd %xmm10,%xmm4,%xmm0 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,225,249,126,195 // vmovq %xmm0,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,4,152 // vmovss (%rax,%r11,4),%xmm0 .byte 196,227,121,33,4,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,28,176 // vmovss (%rax,%r14,4),%xmm3 .byte 196,227,121,33,195,32 // vinsertps $0x20,%xmm3,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,121,33,195,48 // vinsertps $0x30,%xmm3,%xmm0,%xmm0 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,28,152 // vmovss (%rax,%rbx,4),%xmm3 .byte 196,163,97,33,28,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm3,%xmm3 .byte 196,161,122,16,36,144 // vmovss (%rax,%r10,4),%xmm4 .byte 196,227,97,33,220,32 // vinsertps $0x20,%xmm4,%xmm3,%xmm3 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,36,128 // vmovss (%rax,%r8,4),%xmm4 .byte 196,227,97,33,220,48 // vinsertps $0x30,%xmm4,%xmm3,%xmm3 .byte 196,99,101,24,216,1 // vinsertf128 $0x1,%xmm0,%ymm3,%ymm11 .byte 197,121,111,100,36,160 // vmovdqa -0x60(%rsp),%xmm12 .byte 197,153,254,194 // vpaddd %xmm2,%xmm12,%xmm0 .byte 197,121,111,68,36,176 // vmovdqa -0x50(%rsp),%xmm8 .byte 197,185,254,213 // vpaddd %xmm5,%xmm8,%xmm2 .byte 196,194,105,64,225 // vpmulld %xmm9,%xmm2,%xmm4 .byte 196,194,121,64,233 // vpmulld %xmm9,%xmm0,%xmm5 .byte 196,193,121,126,233 // vmovd %xmm5,%r9d .byte 196,195,121,22,232,1 // vpextrd $0x1,%xmm5,%r8d .byte 196,195,121,22,234,2 // vpextrd $0x2,%xmm5,%r10d .byte 196,195,121,22,235,3 // vpextrd $0x3,%xmm5,%r11d .byte 196,193,121,126,231 // vmovd %xmm4,%r15d .byte 196,195,121,22,230,1 // vpextrd $0x1,%xmm4,%r14d .byte 196,195,121,22,228,2 // vpextrd $0x2,%xmm4,%r12d .byte 196,227,121,22,227,3 // vpextrd $0x3,%xmm4,%ebx .byte 196,161,122,16,4,184 // vmovss (%rax,%r15,4),%xmm0 .byte 196,163,121,33,4,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm0,%xmm0 .byte 196,163,121,33,4,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm0,%xmm0 .byte 196,227,121,33,4,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,20,136 // vmovss (%rax,%r9,4),%xmm2 .byte 196,163,105,33,20,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm2,%xmm2 .byte 196,163,105,33,20,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm2,%xmm2 .byte 196,163,105,33,20,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm2,%xmm2 .byte 196,227,109,24,208,1 // vinsertf128 $0x1,%xmm0,%ymm2,%ymm2 .byte 197,225,118,219 // vpcmpeqd %xmm3,%xmm3,%xmm3 .byte 197,209,250,195 // vpsubd %xmm3,%xmm5,%xmm0 .byte 196,195,249,22,192,1 // vpextrq $0x1,%xmm0,%r8 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 197,217,250,195 // vpsubd %xmm3,%xmm4,%xmm0 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,225,249,126,195 // vmovq %xmm0,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,4,152 // vmovss (%rax,%r11,4),%xmm0 .byte 196,227,121,33,4,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,28,176 // vmovss (%rax,%r14,4),%xmm3 .byte 196,227,121,33,195,32 // vinsertps $0x20,%xmm3,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,121,33,195,48 // vinsertps $0x30,%xmm3,%xmm0,%xmm0 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,28,152 // vmovss (%rax,%rbx,4),%xmm3 .byte 196,163,97,33,28,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm3,%xmm3 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,97,33,222,32 // vinsertps $0x20,%xmm6,%xmm3,%xmm3 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,52,128 // vmovss (%rax,%r8,4),%xmm6 .byte 196,227,97,33,222,48 // vinsertps $0x30,%xmm6,%xmm3,%xmm3 .byte 196,227,101,24,248,1 // vinsertf128 $0x1,%xmm0,%ymm3,%ymm7 .byte 196,193,81,254,194 // vpaddd %xmm10,%xmm5,%xmm0 .byte 196,195,249,22,192,1 // vpextrq $0x1,%xmm0,%r8 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 196,193,89,254,194 // vpaddd %xmm10,%xmm4,%xmm0 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,225,249,126,195 // vmovq %xmm0,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,4,152 // vmovss (%rax,%r11,4),%xmm0 .byte 196,227,121,33,4,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,28,176 // vmovss (%rax,%r14,4),%xmm3 .byte 196,227,121,33,195,32 // vinsertps $0x20,%xmm3,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,121,33,195,48 // vinsertps $0x30,%xmm3,%xmm0,%xmm0 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,28,152 // vmovss (%rax,%rbx,4),%xmm3 .byte 196,163,97,33,28,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm3,%xmm3 .byte 196,161,122,16,36,144 // vmovss (%rax,%r10,4),%xmm4 .byte 196,227,97,33,220,32 // vinsertps $0x20,%xmm4,%xmm3,%xmm3 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,36,128 // vmovss (%rax,%r8,4),%xmm4 .byte 196,227,97,33,220,48 // vinsertps $0x30,%xmm4,%xmm3,%xmm3 .byte 196,227,101,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm3,%ymm0 .byte 197,236,92,209 // vsubps %ymm1,%ymm2,%ymm2 .byte 197,132,89,210 // vmulps %ymm2,%ymm15,%ymm2 .byte 197,244,88,202 // vaddps %ymm2,%ymm1,%ymm1 .byte 197,252,17,76,36,96 // vmovups %ymm1,0x60(%rsp) .byte 196,193,68,92,213 // vsubps %ymm13,%ymm7,%ymm2 .byte 197,132,89,210 // vmulps %ymm2,%ymm15,%ymm2 .byte 197,148,88,202 // vaddps %ymm2,%ymm13,%ymm1 .byte 197,252,17,140,36,32,2,0,0 // vmovups %ymm1,0x220(%rsp) .byte 196,193,124,92,195 // vsubps %ymm11,%ymm0,%ymm0 .byte 197,132,89,192 // vmulps %ymm0,%ymm15,%ymm0 .byte 197,164,88,192 // vaddps %ymm0,%ymm11,%ymm0 .byte 197,252,17,132,36,0,2,0,0 // vmovups %ymm0,0x200(%rsp) .byte 197,249,111,132,36,176,1,0,0 // vmovdqa 0x1b0(%rsp),%xmm0 .byte 197,249,254,108,36,208 // vpaddd -0x30(%rsp),%xmm0,%xmm5 .byte 197,137,254,100,36,224 // vpaddd -0x20(%rsp),%xmm14,%xmm4 .byte 197,209,254,68,36,128 // vpaddd -0x80(%rsp),%xmm5,%xmm0 .byte 196,66,121,64,217 // vpmulld %xmm9,%xmm0,%xmm11 .byte 197,121,111,108,36,144 // vmovdqa -0x70(%rsp),%xmm13 .byte 196,193,89,254,197 // vpaddd %xmm13,%xmm4,%xmm0 .byte 196,194,121,64,209 // vpmulld %xmm9,%xmm0,%xmm2 .byte 196,193,121,126,209 // vmovd %xmm2,%r9d .byte 196,195,121,22,208,1 // vpextrd $0x1,%xmm2,%r8d .byte 196,195,121,22,210,2 // vpextrd $0x2,%xmm2,%r10d .byte 196,195,121,22,211,3 // vpextrd $0x3,%xmm2,%r11d .byte 196,65,121,126,223 // vmovd %xmm11,%r15d .byte 196,67,121,22,222,1 // vpextrd $0x1,%xmm11,%r14d .byte 196,67,121,22,220,2 // vpextrd $0x2,%xmm11,%r12d .byte 196,99,121,22,219,3 // vpextrd $0x3,%xmm11,%ebx .byte 196,161,122,16,4,184 // vmovss (%rax,%r15,4),%xmm0 .byte 196,163,121,33,4,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm0,%xmm0 .byte 196,163,121,33,4,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm0,%xmm0 .byte 196,227,121,33,4,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,12,136 // vmovss (%rax,%r9,4),%xmm1 .byte 196,163,113,33,12,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm1,%xmm1 .byte 196,163,113,33,12,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm1,%xmm1 .byte 196,163,113,33,12,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm1,%xmm1 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 197,225,118,219 // vpcmpeqd %xmm3,%xmm3,%xmm3 .byte 197,233,250,203 // vpsubd %xmm3,%xmm2,%xmm1 .byte 196,195,249,22,200,1 // vpextrq $0x1,%xmm1,%r8 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 197,161,250,203 // vpsubd %xmm3,%xmm11,%xmm1 .byte 197,193,118,255 // vpcmpeqd %xmm7,%xmm7,%xmm7 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 196,225,249,126,203 // vmovq %xmm1,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,12,152 // vmovss (%rax,%r11,4),%xmm1 .byte 196,227,113,33,12,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,28,176 // vmovss (%rax,%r14,4),%xmm3 .byte 196,227,113,33,203,32 // vinsertps $0x20,%xmm3,%xmm1,%xmm1 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,113,33,203,48 // vinsertps $0x30,%xmm3,%xmm1,%xmm1 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,28,152 // vmovss (%rax,%rbx,4),%xmm3 .byte 196,163,97,33,28,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm3,%xmm3 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,97,33,222,32 // vinsertps $0x20,%xmm6,%xmm3,%xmm3 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,52,128 // vmovss (%rax,%r8,4),%xmm6 .byte 196,227,97,33,222,48 // vinsertps $0x30,%xmm6,%xmm3,%xmm3 .byte 196,227,101,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm3,%ymm1 .byte 196,193,105,254,210 // vpaddd %xmm10,%xmm2,%xmm2 .byte 196,195,249,22,208,1 // vpextrq $0x1,%xmm2,%r8 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 196,193,33,254,210 // vpaddd %xmm10,%xmm11,%xmm2 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 196,225,249,126,211 // vmovq %xmm2,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,20,152 // vmovss (%rax,%r11,4),%xmm2 .byte 196,227,105,33,20,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm2,%xmm2 .byte 196,161,122,16,28,176 // vmovss (%rax,%r14,4),%xmm3 .byte 196,227,105,33,211,32 // vinsertps $0x20,%xmm3,%xmm2,%xmm2 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,105,33,211,48 // vinsertps $0x30,%xmm3,%xmm2,%xmm2 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,28,152 // vmovss (%rax,%rbx,4),%xmm3 .byte 196,163,97,33,28,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm3,%xmm3 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,97,33,222,32 // vinsertps $0x20,%xmm6,%xmm3,%xmm3 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,52,128 // vmovss (%rax,%r8,4),%xmm6 .byte 196,227,97,33,222,48 // vinsertps $0x30,%xmm6,%xmm3,%xmm3 .byte 196,99,101,24,218,1 // vinsertf128 $0x1,%xmm2,%ymm3,%ymm11 .byte 197,153,254,212 // vpaddd %xmm4,%xmm12,%xmm2 .byte 197,185,254,221 // vpaddd %xmm5,%xmm8,%xmm3 .byte 196,194,97,64,225 // vpmulld %xmm9,%xmm3,%xmm4 .byte 196,194,105,64,233 // vpmulld %xmm9,%xmm2,%xmm5 .byte 196,193,121,126,233 // vmovd %xmm5,%r9d .byte 196,195,121,22,232,1 // vpextrd $0x1,%xmm5,%r8d .byte 196,195,121,22,234,2 // vpextrd $0x2,%xmm5,%r10d .byte 196,195,121,22,235,3 // vpextrd $0x3,%xmm5,%r11d .byte 196,193,121,126,231 // vmovd %xmm4,%r15d .byte 196,195,121,22,230,1 // vpextrd $0x1,%xmm4,%r14d .byte 196,195,121,22,228,2 // vpextrd $0x2,%xmm4,%r12d .byte 196,227,121,22,227,3 // vpextrd $0x3,%xmm4,%ebx .byte 196,161,122,16,20,184 // vmovss (%rax,%r15,4),%xmm2 .byte 196,163,105,33,20,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm2,%xmm2 .byte 196,163,105,33,20,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm2,%xmm2 .byte 196,227,105,33,20,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm2,%xmm2 .byte 196,161,122,16,28,136 // vmovss (%rax,%r9,4),%xmm3 .byte 196,163,97,33,28,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm3,%xmm3 .byte 196,163,97,33,28,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm3,%xmm3 .byte 196,163,97,33,28,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm3,%xmm3 .byte 196,227,101,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm3,%ymm2 .byte 197,209,250,223 // vpsubd %xmm7,%xmm5,%xmm3 .byte 196,195,249,22,216,1 // vpextrq $0x1,%xmm3,%r8 .byte 196,193,249,126,217 // vmovq %xmm3,%r9 .byte 197,217,250,223 // vpsubd %xmm7,%xmm4,%xmm3 .byte 196,195,249,22,218,1 // vpextrq $0x1,%xmm3,%r10 .byte 196,225,249,126,219 // vmovq %xmm3,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,28,152 // vmovss (%rax,%r11,4),%xmm3 .byte 196,227,97,33,28,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm3,%xmm3 .byte 196,161,122,16,52,176 // vmovss (%rax,%r14,4),%xmm6 .byte 196,227,97,33,222,32 // vinsertps $0x20,%xmm6,%xmm3,%xmm3 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,97,33,222,48 // vinsertps $0x30,%xmm6,%xmm3,%xmm3 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,52,152 // vmovss (%rax,%rbx,4),%xmm6 .byte 196,163,73,33,52,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm6,%xmm6 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,73,33,247,32 // vinsertps $0x20,%xmm7,%xmm6,%xmm6 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,73,33,247,48 // vinsertps $0x30,%xmm7,%xmm6,%xmm6 .byte 196,99,77,24,243,1 // vinsertf128 $0x1,%xmm3,%ymm6,%ymm14 .byte 196,193,81,254,218 // vpaddd %xmm10,%xmm5,%xmm3 .byte 196,195,249,22,216,1 // vpextrq $0x1,%xmm3,%r8 .byte 196,193,249,126,217 // vmovq %xmm3,%r9 .byte 196,193,89,254,218 // vpaddd %xmm10,%xmm4,%xmm3 .byte 196,195,249,22,218,1 // vpextrq $0x1,%xmm3,%r10 .byte 196,225,249,126,219 // vmovq %xmm3,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,28,152 // vmovss (%rax,%r11,4),%xmm3 .byte 196,227,97,33,28,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm3,%xmm3 .byte 196,161,122,16,36,176 // vmovss (%rax,%r14,4),%xmm4 .byte 196,227,97,33,220,32 // vinsertps $0x20,%xmm4,%xmm3,%xmm3 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,36,144 // vmovss (%rax,%r10,4),%xmm4 .byte 196,227,97,33,220,48 // vinsertps $0x30,%xmm4,%xmm3,%xmm3 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,36,152 // vmovss (%rax,%rbx,4),%xmm4 .byte 196,163,89,33,36,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm4,%xmm4 .byte 196,161,122,16,44,144 // vmovss (%rax,%r10,4),%xmm5 .byte 196,227,89,33,229,32 // vinsertps $0x20,%xmm5,%xmm4,%xmm4 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,44,128 // vmovss (%rax,%r8,4),%xmm5 .byte 196,227,89,33,229,48 // vinsertps $0x30,%xmm5,%xmm4,%xmm4 .byte 196,227,93,24,219,1 // vinsertf128 $0x1,%xmm3,%ymm4,%ymm3 .byte 197,236,92,208 // vsubps %ymm0,%ymm2,%ymm2 .byte 197,124,17,188,36,128,1,0,0 // vmovups %ymm15,0x180(%rsp) .byte 197,132,89,210 // vmulps %ymm2,%ymm15,%ymm2 .byte 197,252,88,194 // vaddps %ymm2,%ymm0,%ymm0 .byte 197,140,92,209 // vsubps %ymm1,%ymm14,%ymm2 .byte 197,132,89,210 // vmulps %ymm2,%ymm15,%ymm2 .byte 197,244,88,202 // vaddps %ymm2,%ymm1,%ymm1 .byte 196,193,100,92,211 // vsubps %ymm11,%ymm3,%ymm2 .byte 197,132,89,210 // vmulps %ymm2,%ymm15,%ymm2 .byte 197,164,88,210 // vaddps %ymm2,%ymm11,%ymm2 .byte 197,252,16,100,36,96 // vmovups 0x60(%rsp),%ymm4 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 197,252,16,156,36,192,0,0,0 // vmovups 0xc0(%rsp),%ymm3 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,220,88,192 // vaddps %ymm0,%ymm4,%ymm0 .byte 197,252,16,164,36,32,2,0,0 // vmovups 0x220(%rsp),%ymm4 .byte 197,244,92,204 // vsubps %ymm4,%ymm1,%ymm1 .byte 197,228,89,201 // vmulps %ymm1,%ymm3,%ymm1 .byte 197,220,88,201 // vaddps %ymm1,%ymm4,%ymm1 .byte 197,252,16,164,36,0,2,0,0 // vmovups 0x200(%rsp),%ymm4 .byte 197,236,92,212 // vsubps %ymm4,%ymm2,%ymm2 .byte 197,228,89,210 // vmulps %ymm2,%ymm3,%ymm2 .byte 197,220,88,210 // vaddps %ymm2,%ymm4,%ymm2 .byte 197,252,91,156,36,64,1,0,0 // vcvtdq2ps 0x140(%rsp),%ymm3 .byte 197,252,16,164,36,0,1,0,0 // vmovups 0x100(%rsp),%ymm4 .byte 197,220,92,219 // vsubps %ymm3,%ymm4,%ymm3 .byte 197,252,17,92,36,96 // vmovups %ymm3,0x60(%rsp) .byte 197,252,16,164,36,128,0,0,0 // vmovups 0x80(%rsp),%ymm4 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,220,88,192 // vaddps %ymm0,%ymm4,%ymm0 .byte 197,252,17,132,36,0,1,0,0 // vmovups %ymm0,0x100(%rsp) .byte 197,252,16,100,36,64 // vmovups 0x40(%rsp),%ymm4 .byte 197,244,92,196 // vsubps %ymm4,%ymm1,%ymm0 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,220,88,192 // vaddps %ymm0,%ymm4,%ymm0 .byte 197,252,17,132,36,64,1,0,0 // vmovups %ymm0,0x140(%rsp) .byte 197,252,16,76,36,32 // vmovups 0x20(%rsp),%ymm1 .byte 197,236,92,193 // vsubps %ymm1,%ymm2,%ymm0 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,244,88,192 // vaddps %ymm0,%ymm1,%ymm0 .byte 197,252,17,132,36,128,0,0,0 // vmovups %ymm0,0x80(%rsp) .byte 197,252,16,4,36 // vmovups (%rsp),%ymm0 .byte 197,252,88,132,36,224,1,0,0 // vaddps 0x1e0(%rsp),%ymm0,%ymm0 .byte 197,254,91,192 // vcvttps2dq %ymm0,%ymm0 .byte 197,254,127,68,36,64 // vmovdqu %ymm0,0x40(%rsp) .byte 197,249,254,148,36,96,1,0,0 // vpaddd 0x160(%rsp),%xmm0,%xmm2 .byte 197,249,127,20,36 // vmovdqa %xmm2,(%rsp) .byte 196,227,125,25,192,1 // vextractf128 $0x1,%ymm0,%xmm0 .byte 197,249,127,68,36,32 // vmovdqa %xmm0,0x20(%rsp) .byte 197,121,254,188,36,160,0,0,0 // vpaddd 0xa0(%rsp),%xmm0,%xmm15 .byte 197,129,254,172,36,224,0,0,0 // vpaddd 0xe0(%rsp),%xmm15,%xmm5 .byte 197,249,111,100,36,128 // vmovdqa -0x80(%rsp),%xmm4 .byte 197,217,254,197 // vpaddd %xmm5,%xmm4,%xmm0 .byte 196,194,121,64,201 // vpmulld %xmm9,%xmm0,%xmm1 .byte 197,233,254,84,36,240 // vpaddd -0x10(%rsp),%xmm2,%xmm2 .byte 197,145,254,194 // vpaddd %xmm2,%xmm13,%xmm0 .byte 196,194,121,64,193 // vpmulld %xmm9,%xmm0,%xmm0 .byte 196,193,121,126,193 // vmovd %xmm0,%r9d .byte 196,195,121,22,192,1 // vpextrd $0x1,%xmm0,%r8d .byte 196,195,121,22,194,2 // vpextrd $0x2,%xmm0,%r10d .byte 196,195,121,22,195,3 // vpextrd $0x3,%xmm0,%r11d .byte 196,193,121,126,207 // vmovd %xmm1,%r15d .byte 196,195,121,22,206,1 // vpextrd $0x1,%xmm1,%r14d .byte 196,195,121,22,204,2 // vpextrd $0x2,%xmm1,%r12d .byte 196,227,121,22,203,3 // vpextrd $0x3,%xmm1,%ebx .byte 196,161,122,16,52,184 // vmovss (%rax,%r15,4),%xmm6 .byte 196,163,73,33,52,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm6,%xmm6 .byte 196,163,73,33,52,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm6,%xmm6 .byte 196,227,73,33,52,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm6,%xmm6 .byte 196,161,122,16,60,136 // vmovss (%rax,%r9,4),%xmm7 .byte 196,163,65,33,60,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm7,%xmm7 .byte 196,163,65,33,60,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm7,%xmm7 .byte 196,163,65,33,60,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm7,%xmm7 .byte 196,99,69,24,246,1 // vinsertf128 $0x1,%xmm6,%ymm7,%ymm14 .byte 197,225,118,219 // vpcmpeqd %xmm3,%xmm3,%xmm3 .byte 197,249,250,243 // vpsubd %xmm3,%xmm0,%xmm6 .byte 196,195,249,22,240,1 // vpextrq $0x1,%xmm6,%r8 .byte 196,193,249,126,241 // vmovq %xmm6,%r9 .byte 197,241,250,243 // vpsubd %xmm3,%xmm1,%xmm6 .byte 196,65,17,118,237 // vpcmpeqd %xmm13,%xmm13,%xmm13 .byte 196,195,249,22,242,1 // vpextrq $0x1,%xmm6,%r10 .byte 196,225,249,126,243 // vmovq %xmm6,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,52,152 // vmovss (%rax,%r11,4),%xmm6 .byte 196,227,73,33,52,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm6,%xmm6 .byte 196,161,122,16,60,176 // vmovss (%rax,%r14,4),%xmm7 .byte 196,227,73,33,247,32 // vinsertps $0x20,%xmm7,%xmm6,%xmm6 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,73,33,247,48 // vinsertps $0x30,%xmm7,%xmm6,%xmm6 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,60,152 // vmovss (%rax,%rbx,4),%xmm7 .byte 196,163,65,33,60,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm7,%xmm7 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,65,33,219,32 // vinsertps $0x20,%xmm3,%xmm7,%xmm3 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,97,33,223,48 // vinsertps $0x30,%xmm7,%xmm3,%xmm3 .byte 196,227,101,24,254,1 // vinsertf128 $0x1,%xmm6,%ymm3,%ymm7 .byte 196,193,121,254,194 // vpaddd %xmm10,%xmm0,%xmm0 .byte 196,195,249,22,192,1 // vpextrq $0x1,%xmm0,%r8 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 196,193,113,254,194 // vpaddd %xmm10,%xmm1,%xmm0 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,225,249,126,195 // vmovq %xmm0,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,4,152 // vmovss (%rax,%r11,4),%xmm0 .byte 196,227,121,33,4,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,12,176 // vmovss (%rax,%r14,4),%xmm1 .byte 196,227,121,33,193,32 // vinsertps $0x20,%xmm1,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,12,144 // vmovss (%rax,%r10,4),%xmm1 .byte 196,227,121,33,193,48 // vinsertps $0x30,%xmm1,%xmm0,%xmm0 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,12,152 // vmovss (%rax,%rbx,4),%xmm1 .byte 196,163,113,33,12,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm1,%xmm1 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,113,33,203,32 // vinsertps $0x20,%xmm3,%xmm1,%xmm1 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,28,128 // vmovss (%rax,%r8,4),%xmm3 .byte 196,227,113,33,203,48 // vinsertps $0x30,%xmm3,%xmm1,%xmm1 .byte 196,99,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm8 .byte 197,121,111,100,36,160 // vmovdqa -0x60(%rsp),%xmm12 .byte 197,153,254,194 // vpaddd %xmm2,%xmm12,%xmm0 .byte 197,121,111,92,36,176 // vmovdqa -0x50(%rsp),%xmm11 .byte 197,161,254,205 // vpaddd %xmm5,%xmm11,%xmm1 .byte 196,194,113,64,201 // vpmulld %xmm9,%xmm1,%xmm1 .byte 196,194,121,64,193 // vpmulld %xmm9,%xmm0,%xmm0 .byte 196,193,121,126,193 // vmovd %xmm0,%r9d .byte 196,195,121,22,192,1 // vpextrd $0x1,%xmm0,%r8d .byte 196,195,121,22,194,2 // vpextrd $0x2,%xmm0,%r10d .byte 196,195,121,22,195,3 // vpextrd $0x3,%xmm0,%r11d .byte 196,193,121,126,207 // vmovd %xmm1,%r15d .byte 196,195,121,22,206,1 // vpextrd $0x1,%xmm1,%r14d .byte 196,195,121,22,204,2 // vpextrd $0x2,%xmm1,%r12d .byte 196,227,121,22,203,3 // vpextrd $0x3,%xmm1,%ebx .byte 196,161,122,16,20,184 // vmovss (%rax,%r15,4),%xmm2 .byte 196,163,105,33,20,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm2,%xmm2 .byte 196,163,105,33,20,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm2,%xmm2 .byte 196,227,105,33,20,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm2,%xmm2 .byte 196,161,122,16,28,136 // vmovss (%rax,%r9,4),%xmm3 .byte 196,163,97,33,28,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm3,%xmm3 .byte 196,163,97,33,28,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm3,%xmm3 .byte 196,163,97,33,28,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm3,%xmm3 .byte 196,227,101,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm3,%ymm2 .byte 196,193,121,250,221 // vpsubd %xmm13,%xmm0,%xmm3 .byte 196,195,249,22,216,1 // vpextrq $0x1,%xmm3,%r8 .byte 196,193,249,126,217 // vmovq %xmm3,%r9 .byte 196,193,113,250,221 // vpsubd %xmm13,%xmm1,%xmm3 .byte 196,195,249,22,218,1 // vpextrq $0x1,%xmm3,%r10 .byte 196,225,249,126,219 // vmovq %xmm3,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,28,152 // vmovss (%rax,%r11,4),%xmm3 .byte 196,227,97,33,28,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm3,%xmm3 .byte 196,161,122,16,44,176 // vmovss (%rax,%r14,4),%xmm5 .byte 196,227,97,33,221,32 // vinsertps $0x20,%xmm5,%xmm3,%xmm3 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,44,144 // vmovss (%rax,%r10,4),%xmm5 .byte 196,227,97,33,221,48 // vinsertps $0x30,%xmm5,%xmm3,%xmm3 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,44,152 // vmovss (%rax,%rbx,4),%xmm5 .byte 196,163,81,33,44,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm5,%xmm5 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,81,33,238,32 // vinsertps $0x20,%xmm6,%xmm5,%xmm5 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,52,128 // vmovss (%rax,%r8,4),%xmm6 .byte 196,227,81,33,238,48 // vinsertps $0x30,%xmm6,%xmm5,%xmm5 .byte 196,227,85,24,235,1 // vinsertf128 $0x1,%xmm3,%ymm5,%ymm5 .byte 196,193,121,254,194 // vpaddd %xmm10,%xmm0,%xmm0 .byte 196,195,249,22,192,1 // vpextrq $0x1,%xmm0,%r8 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 196,193,113,254,194 // vpaddd %xmm10,%xmm1,%xmm0 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,225,249,126,195 // vmovq %xmm0,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,4,152 // vmovss (%rax,%r11,4),%xmm0 .byte 196,227,121,33,4,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,12,176 // vmovss (%rax,%r14,4),%xmm1 .byte 196,227,121,33,193,32 // vinsertps $0x20,%xmm1,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,12,144 // vmovss (%rax,%r10,4),%xmm1 .byte 196,227,121,33,193,48 // vinsertps $0x30,%xmm1,%xmm0,%xmm0 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,12,152 // vmovss (%rax,%rbx,4),%xmm1 .byte 196,163,113,33,12,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm1,%xmm1 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,113,33,203,32 // vinsertps $0x20,%xmm3,%xmm1,%xmm1 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,28,128 // vmovss (%rax,%r8,4),%xmm3 .byte 196,227,113,33,203,48 // vinsertps $0x30,%xmm3,%xmm1,%xmm1 .byte 196,227,117,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm1,%ymm0 .byte 196,193,108,92,206 // vsubps %ymm14,%ymm2,%ymm1 .byte 197,252,16,148,36,128,1,0,0 // vmovups 0x180(%rsp),%ymm2 .byte 197,236,89,201 // vmulps %ymm1,%ymm2,%ymm1 .byte 197,12,88,241 // vaddps %ymm1,%ymm14,%ymm14 .byte 197,212,92,207 // vsubps %ymm7,%ymm5,%ymm1 .byte 197,236,89,201 // vmulps %ymm1,%ymm2,%ymm1 .byte 197,196,88,201 // vaddps %ymm1,%ymm7,%ymm1 .byte 197,252,17,140,36,160,0,0,0 // vmovups %ymm1,0xa0(%rsp) .byte 196,193,124,92,192 // vsubps %ymm8,%ymm0,%ymm0 .byte 197,236,89,192 // vmulps %ymm0,%ymm2,%ymm0 .byte 197,60,88,192 // vaddps %ymm0,%ymm8,%ymm8 .byte 197,129,254,68,36,208 // vpaddd -0x30(%rsp),%xmm15,%xmm0 .byte 197,249,111,12,36 // vmovdqa (%rsp),%xmm1 .byte 197,241,254,124,36,224 // vpaddd -0x20(%rsp),%xmm1,%xmm7 .byte 197,249,254,204 // vpaddd %xmm4,%xmm0,%xmm1 .byte 196,194,113,64,201 // vpmulld %xmm9,%xmm1,%xmm1 .byte 197,121,111,124,36,144 // vmovdqa -0x70(%rsp),%xmm15 .byte 196,193,65,254,215 // vpaddd %xmm15,%xmm7,%xmm2 .byte 196,194,105,64,209 // vpmulld %xmm9,%xmm2,%xmm2 .byte 196,193,121,126,209 // vmovd %xmm2,%r9d .byte 196,195,121,22,208,1 // vpextrd $0x1,%xmm2,%r8d .byte 196,195,121,22,210,2 // vpextrd $0x2,%xmm2,%r10d .byte 196,195,121,22,211,3 // vpextrd $0x3,%xmm2,%r11d .byte 196,193,121,126,207 // vmovd %xmm1,%r15d .byte 196,195,121,22,206,1 // vpextrd $0x1,%xmm1,%r14d .byte 196,195,121,22,204,2 // vpextrd $0x2,%xmm1,%r12d .byte 196,227,121,22,203,3 // vpextrd $0x3,%xmm1,%ebx .byte 196,161,122,16,28,184 // vmovss (%rax,%r15,4),%xmm3 .byte 196,163,97,33,28,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm3,%xmm3 .byte 196,163,97,33,28,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm3,%xmm3 .byte 196,227,97,33,28,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm3,%xmm3 .byte 196,161,122,16,36,136 // vmovss (%rax,%r9,4),%xmm4 .byte 196,163,89,33,36,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm4,%xmm4 .byte 196,163,89,33,36,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm4,%xmm4 .byte 196,163,89,33,36,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm4,%xmm4 .byte 196,227,93,24,227,1 // vinsertf128 $0x1,%xmm3,%ymm4,%ymm4 .byte 197,209,118,237 // vpcmpeqd %xmm5,%xmm5,%xmm5 .byte 197,233,250,221 // vpsubd %xmm5,%xmm2,%xmm3 .byte 196,195,249,22,216,1 // vpextrq $0x1,%xmm3,%r8 .byte 196,193,249,126,217 // vmovq %xmm3,%r9 .byte 197,241,250,221 // vpsubd %xmm5,%xmm1,%xmm3 .byte 196,195,249,22,218,1 // vpextrq $0x1,%xmm3,%r10 .byte 196,225,249,126,219 // vmovq %xmm3,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,28,152 // vmovss (%rax,%r11,4),%xmm3 .byte 196,227,97,33,28,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm3,%xmm3 .byte 196,161,122,16,44,176 // vmovss (%rax,%r14,4),%xmm5 .byte 196,227,97,33,221,32 // vinsertps $0x20,%xmm5,%xmm3,%xmm3 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,44,144 // vmovss (%rax,%r10,4),%xmm5 .byte 196,227,97,33,221,48 // vinsertps $0x30,%xmm5,%xmm3,%xmm3 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,44,152 // vmovss (%rax,%rbx,4),%xmm5 .byte 196,163,81,33,44,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm5,%xmm5 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,81,33,238,32 // vinsertps $0x20,%xmm6,%xmm5,%xmm5 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,52,128 // vmovss (%rax,%r8,4),%xmm6 .byte 196,227,81,33,238,48 // vinsertps $0x30,%xmm6,%xmm5,%xmm5 .byte 196,227,85,24,235,1 // vinsertf128 $0x1,%xmm3,%ymm5,%ymm5 .byte 196,193,105,254,210 // vpaddd %xmm10,%xmm2,%xmm2 .byte 196,195,249,22,208,1 // vpextrq $0x1,%xmm2,%r8 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 196,193,113,254,202 // vpaddd %xmm10,%xmm1,%xmm1 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 196,225,249,126,203 // vmovq %xmm1,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,12,152 // vmovss (%rax,%r11,4),%xmm1 .byte 196,227,113,33,12,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,20,176 // vmovss (%rax,%r14,4),%xmm2 .byte 196,227,113,33,202,32 // vinsertps $0x20,%xmm2,%xmm1,%xmm1 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,20,144 // vmovss (%rax,%r10,4),%xmm2 .byte 196,227,113,33,202,48 // vinsertps $0x30,%xmm2,%xmm1,%xmm1 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,20,152 // vmovss (%rax,%rbx,4),%xmm2 .byte 196,163,105,33,20,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm2,%xmm2 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,105,33,211,32 // vinsertps $0x20,%xmm3,%xmm2,%xmm2 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,28,128 // vmovss (%rax,%r8,4),%xmm3 .byte 196,227,105,33,211,48 // vinsertps $0x30,%xmm3,%xmm2,%xmm2 .byte 196,99,109,24,233,1 // vinsertf128 $0x1,%xmm1,%ymm2,%ymm13 .byte 197,153,254,215 // vpaddd %xmm7,%xmm12,%xmm2 .byte 197,161,254,192 // vpaddd %xmm0,%xmm11,%xmm0 .byte 196,65,121,111,227 // vmovdqa %xmm11,%xmm12 .byte 196,194,121,64,201 // vpmulld %xmm9,%xmm0,%xmm1 .byte 196,194,105,64,209 // vpmulld %xmm9,%xmm2,%xmm2 .byte 196,193,121,126,209 // vmovd %xmm2,%r9d .byte 196,195,121,22,208,1 // vpextrd $0x1,%xmm2,%r8d .byte 196,195,121,22,210,2 // vpextrd $0x2,%xmm2,%r10d .byte 196,195,121,22,211,3 // vpextrd $0x3,%xmm2,%r11d .byte 196,193,121,126,207 // vmovd %xmm1,%r15d .byte 196,195,121,22,206,1 // vpextrd $0x1,%xmm1,%r14d .byte 196,195,121,22,204,2 // vpextrd $0x2,%xmm1,%r12d .byte 196,227,121,22,203,3 // vpextrd $0x3,%xmm1,%ebx .byte 196,161,122,16,4,184 // vmovss (%rax,%r15,4),%xmm0 .byte 196,163,121,33,4,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm0,%xmm0 .byte 196,163,121,33,4,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm0,%xmm0 .byte 196,227,121,33,4,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,28,136 // vmovss (%rax,%r9,4),%xmm3 .byte 196,163,97,33,28,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm3,%xmm3 .byte 196,163,97,33,28,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm3,%xmm3 .byte 196,163,97,33,28,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm3,%xmm3 .byte 196,227,101,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm3,%ymm0 .byte 197,201,118,246 // vpcmpeqd %xmm6,%xmm6,%xmm6 .byte 197,233,250,222 // vpsubd %xmm6,%xmm2,%xmm3 .byte 196,195,249,22,216,1 // vpextrq $0x1,%xmm3,%r8 .byte 196,193,249,126,217 // vmovq %xmm3,%r9 .byte 197,241,250,222 // vpsubd %xmm6,%xmm1,%xmm3 .byte 196,195,249,22,218,1 // vpextrq $0x1,%xmm3,%r10 .byte 196,225,249,126,219 // vmovq %xmm3,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,28,152 // vmovss (%rax,%r11,4),%xmm3 .byte 196,227,97,33,28,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm3,%xmm3 .byte 196,161,122,16,52,176 // vmovss (%rax,%r14,4),%xmm6 .byte 196,227,97,33,222,32 // vinsertps $0x20,%xmm6,%xmm3,%xmm3 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,97,33,222,48 // vinsertps $0x30,%xmm6,%xmm3,%xmm3 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,52,152 // vmovss (%rax,%rbx,4),%xmm6 .byte 196,163,73,33,52,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm6,%xmm6 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,73,33,247,32 // vinsertps $0x20,%xmm7,%xmm6,%xmm6 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,73,33,247,48 // vinsertps $0x30,%xmm7,%xmm6,%xmm6 .byte 196,227,77,24,243,1 // vinsertf128 $0x1,%xmm3,%ymm6,%ymm6 .byte 196,193,105,254,210 // vpaddd %xmm10,%xmm2,%xmm2 .byte 196,195,249,22,208,1 // vpextrq $0x1,%xmm2,%r8 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 196,193,113,254,202 // vpaddd %xmm10,%xmm1,%xmm1 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 196,225,249,126,203 // vmovq %xmm1,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,12,152 // vmovss (%rax,%r11,4),%xmm1 .byte 196,227,113,33,12,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,20,176 // vmovss (%rax,%r14,4),%xmm2 .byte 196,227,113,33,202,32 // vinsertps $0x20,%xmm2,%xmm1,%xmm1 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,20,144 // vmovss (%rax,%r10,4),%xmm2 .byte 196,227,113,33,202,48 // vinsertps $0x30,%xmm2,%xmm1,%xmm1 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,20,152 // vmovss (%rax,%rbx,4),%xmm2 .byte 196,163,105,33,20,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm2,%xmm2 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,105,33,211,32 // vinsertps $0x20,%xmm3,%xmm2,%xmm2 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,28,128 // vmovss (%rax,%r8,4),%xmm3 .byte 196,227,105,33,211,48 // vinsertps $0x30,%xmm3,%xmm2,%xmm2 .byte 196,227,109,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm2,%ymm1 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 197,252,16,156,36,128,1,0,0 // vmovups 0x180(%rsp),%ymm3 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,220,88,192 // vaddps %ymm0,%ymm4,%ymm0 .byte 197,204,92,213 // vsubps %ymm5,%ymm6,%ymm2 .byte 197,228,89,210 // vmulps %ymm2,%ymm3,%ymm2 .byte 197,212,88,210 // vaddps %ymm2,%ymm5,%ymm2 .byte 196,193,116,92,205 // vsubps %ymm13,%ymm1,%ymm1 .byte 197,228,89,201 // vmulps %ymm1,%ymm3,%ymm1 .byte 197,148,88,201 // vaddps %ymm1,%ymm13,%ymm1 .byte 196,193,124,92,198 // vsubps %ymm14,%ymm0,%ymm0 .byte 197,252,16,156,36,192,0,0,0 // vmovups 0xc0(%rsp),%ymm3 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,140,88,192 // vaddps %ymm0,%ymm14,%ymm0 .byte 197,252,17,4,36 // vmovups %ymm0,(%rsp) .byte 197,252,16,164,36,160,0,0,0 // vmovups 0xa0(%rsp),%ymm4 .byte 197,236,92,196 // vsubps %ymm4,%ymm2,%ymm0 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,220,88,192 // vaddps %ymm0,%ymm4,%ymm0 .byte 197,252,17,132,36,160,0,0,0 // vmovups %ymm0,0xa0(%rsp) .byte 196,193,116,92,192 // vsubps %ymm8,%ymm1,%ymm0 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,188,88,192 // vaddps %ymm0,%ymm8,%ymm0 .byte 197,252,17,132,36,96,1,0,0 // vmovups %ymm0,0x160(%rsp) .byte 197,254,111,68,36,64 // vmovdqu 0x40(%rsp),%ymm0 .byte 197,121,254,116,36,192 // vpaddd -0x40(%rsp),%xmm0,%xmm14 .byte 197,249,111,68,36,32 // vmovdqa 0x20(%rsp),%xmm0 .byte 197,121,254,172,36,32,1,0,0 // vpaddd 0x120(%rsp),%xmm0,%xmm13 .byte 197,145,254,188,36,224,0,0,0 // vpaddd 0xe0(%rsp),%xmm13,%xmm7 .byte 197,137,254,108,36,240 // vpaddd -0x10(%rsp),%xmm14,%xmm5 .byte 197,193,254,76,36,128 // vpaddd -0x80(%rsp),%xmm7,%xmm1 .byte 196,194,113,64,209 // vpmulld %xmm9,%xmm1,%xmm2 .byte 196,193,81,254,207 // vpaddd %xmm15,%xmm5,%xmm1 .byte 196,194,113,64,225 // vpmulld %xmm9,%xmm1,%xmm4 .byte 196,193,121,126,225 // vmovd %xmm4,%r9d .byte 196,195,121,22,224,1 // vpextrd $0x1,%xmm4,%r8d .byte 196,195,121,22,226,2 // vpextrd $0x2,%xmm4,%r10d .byte 196,195,121,22,227,3 // vpextrd $0x3,%xmm4,%r11d .byte 196,193,121,126,215 // vmovd %xmm2,%r15d .byte 196,195,121,22,214,1 // vpextrd $0x1,%xmm2,%r14d .byte 196,195,121,22,212,2 // vpextrd $0x2,%xmm2,%r12d .byte 196,227,121,22,211,3 // vpextrd $0x3,%xmm2,%ebx .byte 196,161,122,16,12,184 // vmovss (%rax,%r15,4),%xmm1 .byte 196,163,113,33,12,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm1,%xmm1 .byte 196,163,113,33,12,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm1,%xmm1 .byte 196,227,113,33,12,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,28,136 // vmovss (%rax,%r9,4),%xmm3 .byte 196,163,97,33,28,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm3,%xmm3 .byte 196,163,97,33,28,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm3,%xmm3 .byte 196,163,97,33,28,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm3,%xmm3 .byte 196,227,101,24,217,1 // vinsertf128 $0x1,%xmm1,%ymm3,%ymm3 .byte 197,249,118,192 // vpcmpeqd %xmm0,%xmm0,%xmm0 .byte 197,217,250,200 // vpsubd %xmm0,%xmm4,%xmm1 .byte 196,195,249,22,200,1 // vpextrq $0x1,%xmm1,%r8 .byte 196,193,249,126,201 // vmovq %xmm1,%r9 .byte 197,233,250,200 // vpsubd %xmm0,%xmm2,%xmm1 .byte 196,65,1,118,255 // vpcmpeqd %xmm15,%xmm15,%xmm15 .byte 196,195,249,22,202,1 // vpextrq $0x1,%xmm1,%r10 .byte 196,225,249,126,203 // vmovq %xmm1,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,12,152 // vmovss (%rax,%r11,4),%xmm1 .byte 196,227,113,33,12,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,52,176 // vmovss (%rax,%r14,4),%xmm6 .byte 196,227,113,33,206,32 // vinsertps $0x20,%xmm6,%xmm1,%xmm1 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,113,33,206,48 // vinsertps $0x30,%xmm6,%xmm1,%xmm1 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,52,152 // vmovss (%rax,%rbx,4),%xmm6 .byte 196,163,73,33,52,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm6,%xmm6 .byte 196,161,122,16,4,144 // vmovss (%rax,%r10,4),%xmm0 .byte 196,227,73,33,192,32 // vinsertps $0x20,%xmm0,%xmm6,%xmm0 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,52,128 // vmovss (%rax,%r8,4),%xmm6 .byte 196,227,121,33,198,48 // vinsertps $0x30,%xmm6,%xmm0,%xmm0 .byte 196,227,125,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm0,%ymm1 .byte 196,193,89,254,194 // vpaddd %xmm10,%xmm4,%xmm0 .byte 196,195,249,22,192,1 // vpextrq $0x1,%xmm0,%r8 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 196,193,105,254,194 // vpaddd %xmm10,%xmm2,%xmm0 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,225,249,126,195 // vmovq %xmm0,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,4,152 // vmovss (%rax,%r11,4),%xmm0 .byte 196,227,121,33,4,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,20,176 // vmovss (%rax,%r14,4),%xmm2 .byte 196,227,121,33,194,32 // vinsertps $0x20,%xmm2,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,20,144 // vmovss (%rax,%r10,4),%xmm2 .byte 196,227,121,33,194,48 // vinsertps $0x30,%xmm2,%xmm0,%xmm0 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,20,152 // vmovss (%rax,%rbx,4),%xmm2 .byte 196,163,105,33,20,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm2,%xmm2 .byte 196,161,122,16,36,144 // vmovss (%rax,%r10,4),%xmm4 .byte 196,227,105,33,212,32 // vinsertps $0x20,%xmm4,%xmm2,%xmm2 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,36,128 // vmovss (%rax,%r8,4),%xmm4 .byte 196,227,105,33,212,48 // vinsertps $0x30,%xmm4,%xmm2,%xmm2 .byte 196,99,109,24,216,1 // vinsertf128 $0x1,%xmm0,%ymm2,%ymm11 .byte 197,121,111,68,36,160 // vmovdqa -0x60(%rsp),%xmm8 .byte 197,185,254,197 // vpaddd %xmm5,%xmm8,%xmm0 .byte 197,153,254,215 // vpaddd %xmm7,%xmm12,%xmm2 .byte 196,194,105,64,233 // vpmulld %xmm9,%xmm2,%xmm5 .byte 196,194,121,64,225 // vpmulld %xmm9,%xmm0,%xmm4 .byte 196,193,121,126,225 // vmovd %xmm4,%r9d .byte 196,195,121,22,224,1 // vpextrd $0x1,%xmm4,%r8d .byte 196,195,121,22,226,2 // vpextrd $0x2,%xmm4,%r10d .byte 196,195,121,22,227,3 // vpextrd $0x3,%xmm4,%r11d .byte 196,193,121,126,239 // vmovd %xmm5,%r15d .byte 196,195,121,22,238,1 // vpextrd $0x1,%xmm5,%r14d .byte 196,195,121,22,236,2 // vpextrd $0x2,%xmm5,%r12d .byte 196,227,121,22,235,3 // vpextrd $0x3,%xmm5,%ebx .byte 196,161,122,16,4,184 // vmovss (%rax,%r15,4),%xmm0 .byte 196,163,121,33,4,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm0,%xmm0 .byte 196,163,121,33,4,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm0,%xmm0 .byte 196,227,121,33,4,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,20,136 // vmovss (%rax,%r9,4),%xmm2 .byte 196,163,105,33,20,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm2,%xmm2 .byte 196,163,105,33,20,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm2,%xmm2 .byte 196,163,105,33,20,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm2,%xmm2 .byte 196,227,109,24,208,1 // vinsertf128 $0x1,%xmm0,%ymm2,%ymm2 .byte 196,193,89,250,199 // vpsubd %xmm15,%xmm4,%xmm0 .byte 196,195,249,22,192,1 // vpextrq $0x1,%xmm0,%r8 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 196,193,81,250,199 // vpsubd %xmm15,%xmm5,%xmm0 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,225,249,126,195 // vmovq %xmm0,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,4,152 // vmovss (%rax,%r11,4),%xmm0 .byte 196,227,121,33,4,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,52,176 // vmovss (%rax,%r14,4),%xmm6 .byte 196,227,121,33,198,32 // vinsertps $0x20,%xmm6,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,121,33,198,48 // vinsertps $0x30,%xmm6,%xmm0,%xmm0 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,52,152 // vmovss (%rax,%rbx,4),%xmm6 .byte 196,163,73,33,52,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm6,%xmm6 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,73,33,247,32 // vinsertps $0x20,%xmm7,%xmm6,%xmm6 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,73,33,247,48 // vinsertps $0x30,%xmm7,%xmm6,%xmm6 .byte 196,227,77,24,240,1 // vinsertf128 $0x1,%xmm0,%ymm6,%ymm6 .byte 196,193,89,254,194 // vpaddd %xmm10,%xmm4,%xmm0 .byte 196,195,249,22,192,1 // vpextrq $0x1,%xmm0,%r8 .byte 196,193,249,126,193 // vmovq %xmm0,%r9 .byte 196,193,81,254,194 // vpaddd %xmm10,%xmm5,%xmm0 .byte 196,195,249,22,194,1 // vpextrq $0x1,%xmm0,%r10 .byte 196,225,249,126,195 // vmovq %xmm0,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,4,152 // vmovss (%rax,%r11,4),%xmm0 .byte 196,227,121,33,4,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,36,176 // vmovss (%rax,%r14,4),%xmm4 .byte 196,227,121,33,196,32 // vinsertps $0x20,%xmm4,%xmm0,%xmm0 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,36,144 // vmovss (%rax,%r10,4),%xmm4 .byte 196,227,121,33,196,48 // vinsertps $0x30,%xmm4,%xmm0,%xmm0 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,36,152 // vmovss (%rax,%rbx,4),%xmm4 .byte 196,163,89,33,36,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm4,%xmm4 .byte 196,161,122,16,44,144 // vmovss (%rax,%r10,4),%xmm5 .byte 196,227,89,33,229,32 // vinsertps $0x20,%xmm5,%xmm4,%xmm4 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,44,128 // vmovss (%rax,%r8,4),%xmm5 .byte 196,227,89,33,229,48 // vinsertps $0x30,%xmm5,%xmm4,%xmm4 .byte 196,227,93,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm4,%ymm0 .byte 197,236,92,211 // vsubps %ymm3,%ymm2,%ymm2 .byte 197,252,16,164,36,128,1,0,0 // vmovups 0x180(%rsp),%ymm4 .byte 197,220,89,210 // vmulps %ymm2,%ymm4,%ymm2 .byte 197,228,88,210 // vaddps %ymm2,%ymm3,%ymm2 .byte 197,252,17,148,36,224,0,0,0 // vmovups %ymm2,0xe0(%rsp) .byte 197,204,92,209 // vsubps %ymm1,%ymm6,%ymm2 .byte 197,220,89,210 // vmulps %ymm2,%ymm4,%ymm2 .byte 197,116,88,250 // vaddps %ymm2,%ymm1,%ymm15 .byte 196,193,124,92,195 // vsubps %ymm11,%ymm0,%ymm0 .byte 197,220,89,192 // vmulps %ymm0,%ymm4,%ymm0 .byte 197,124,40,228 // vmovaps %ymm4,%ymm12 .byte 197,36,88,216 // vaddps %ymm0,%ymm11,%ymm11 .byte 197,145,254,124,36,208 // vpaddd -0x30(%rsp),%xmm13,%xmm7 .byte 197,137,254,68,36,224 // vpaddd -0x20(%rsp),%xmm14,%xmm0 .byte 197,249,254,76,36,144 // vpaddd -0x70(%rsp),%xmm0,%xmm1 .byte 197,193,254,84,36,128 // vpaddd -0x80(%rsp),%xmm7,%xmm2 .byte 196,66,105,64,241 // vpmulld %xmm9,%xmm2,%xmm14 .byte 196,194,113,64,209 // vpmulld %xmm9,%xmm1,%xmm2 .byte 196,193,121,126,209 // vmovd %xmm2,%r9d .byte 196,195,121,22,208,1 // vpextrd $0x1,%xmm2,%r8d .byte 196,195,121,22,210,2 // vpextrd $0x2,%xmm2,%r10d .byte 196,195,121,22,211,3 // vpextrd $0x3,%xmm2,%r11d .byte 196,65,121,126,247 // vmovd %xmm14,%r15d .byte 196,67,121,22,246,1 // vpextrd $0x1,%xmm14,%r14d .byte 196,67,121,22,244,2 // vpextrd $0x2,%xmm14,%r12d .byte 196,99,121,22,243,3 // vpextrd $0x3,%xmm14,%ebx .byte 196,161,122,16,12,184 // vmovss (%rax,%r15,4),%xmm1 .byte 196,163,113,33,12,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm1,%xmm1 .byte 196,163,113,33,12,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm1,%xmm1 .byte 196,227,113,33,12,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm1,%xmm1 .byte 196,161,122,16,28,136 // vmovss (%rax,%r9,4),%xmm3 .byte 196,163,97,33,28,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm3,%xmm3 .byte 196,163,97,33,28,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm3,%xmm3 .byte 196,163,97,33,28,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm3,%xmm3 .byte 196,227,101,24,201,1 // vinsertf128 $0x1,%xmm1,%ymm3,%ymm1 .byte 197,217,118,228 // vpcmpeqd %xmm4,%xmm4,%xmm4 .byte 197,233,250,220 // vpsubd %xmm4,%xmm2,%xmm3 .byte 196,195,249,22,216,1 // vpextrq $0x1,%xmm3,%r8 .byte 196,193,249,126,217 // vmovq %xmm3,%r9 .byte 197,137,250,220 // vpsubd %xmm4,%xmm14,%xmm3 .byte 197,201,118,246 // vpcmpeqd %xmm6,%xmm6,%xmm6 .byte 196,195,249,22,218,1 // vpextrq $0x1,%xmm3,%r10 .byte 196,225,249,126,219 // vmovq %xmm3,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,28,152 // vmovss (%rax,%r11,4),%xmm3 .byte 196,227,97,33,28,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm3,%xmm3 .byte 196,161,122,16,44,176 // vmovss (%rax,%r14,4),%xmm5 .byte 196,227,97,33,221,32 // vinsertps $0x20,%xmm5,%xmm3,%xmm3 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,44,144 // vmovss (%rax,%r10,4),%xmm5 .byte 196,227,97,33,221,48 // vinsertps $0x30,%xmm5,%xmm3,%xmm3 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,44,152 // vmovss (%rax,%rbx,4),%xmm5 .byte 196,163,81,33,44,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm5,%xmm5 .byte 196,161,122,16,36,144 // vmovss (%rax,%r10,4),%xmm4 .byte 196,227,81,33,228,32 // vinsertps $0x20,%xmm4,%xmm5,%xmm4 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,44,128 // vmovss (%rax,%r8,4),%xmm5 .byte 196,227,89,33,229,48 // vinsertps $0x30,%xmm5,%xmm4,%xmm4 .byte 196,227,93,24,235,1 // vinsertf128 $0x1,%xmm3,%ymm4,%ymm5 .byte 196,193,105,254,210 // vpaddd %xmm10,%xmm2,%xmm2 .byte 196,195,249,22,208,1 // vpextrq $0x1,%xmm2,%r8 .byte 196,193,249,126,209 // vmovq %xmm2,%r9 .byte 196,193,9,254,210 // vpaddd %xmm10,%xmm14,%xmm2 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 196,225,249,126,211 // vmovq %xmm2,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,20,152 // vmovss (%rax,%r11,4),%xmm2 .byte 196,227,105,33,20,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm2,%xmm2 .byte 196,161,122,16,28,176 // vmovss (%rax,%r14,4),%xmm3 .byte 196,227,105,33,211,32 // vinsertps $0x20,%xmm3,%xmm2,%xmm2 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,105,33,211,48 // vinsertps $0x30,%xmm3,%xmm2,%xmm2 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,28,152 // vmovss (%rax,%rbx,4),%xmm3 .byte 196,163,97,33,28,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm3,%xmm3 .byte 196,161,122,16,36,144 // vmovss (%rax,%r10,4),%xmm4 .byte 196,227,97,33,220,32 // vinsertps $0x20,%xmm4,%xmm3,%xmm3 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,36,128 // vmovss (%rax,%r8,4),%xmm4 .byte 196,227,97,33,220,48 // vinsertps $0x30,%xmm4,%xmm3,%xmm3 .byte 196,99,101,24,242,1 // vinsertf128 $0x1,%xmm2,%ymm3,%ymm14 .byte 197,185,254,192 // vpaddd %xmm0,%xmm8,%xmm0 .byte 197,193,254,84,36,176 // vpaddd -0x50(%rsp),%xmm7,%xmm2 .byte 196,194,105,64,209 // vpmulld %xmm9,%xmm2,%xmm2 .byte 196,194,121,64,217 // vpmulld %xmm9,%xmm0,%xmm3 .byte 196,193,121,126,217 // vmovd %xmm3,%r9d .byte 196,195,121,22,216,1 // vpextrd $0x1,%xmm3,%r8d .byte 196,195,121,22,218,2 // vpextrd $0x2,%xmm3,%r10d .byte 196,195,121,22,219,3 // vpextrd $0x3,%xmm3,%r11d .byte 196,193,121,126,215 // vmovd %xmm2,%r15d .byte 196,195,121,22,214,1 // vpextrd $0x1,%xmm2,%r14d .byte 196,195,121,22,212,2 // vpextrd $0x2,%xmm2,%r12d .byte 196,227,121,22,211,3 // vpextrd $0x3,%xmm2,%ebx .byte 196,161,122,16,4,184 // vmovss (%rax,%r15,4),%xmm0 .byte 196,163,121,33,4,176,16 // vinsertps $0x10,(%rax,%r14,4),%xmm0,%xmm0 .byte 196,163,121,33,4,160,32 // vinsertps $0x20,(%rax,%r12,4),%xmm0,%xmm0 .byte 196,227,121,33,4,152,48 // vinsertps $0x30,(%rax,%rbx,4),%xmm0,%xmm0 .byte 196,161,122,16,36,136 // vmovss (%rax,%r9,4),%xmm4 .byte 196,163,89,33,36,128,16 // vinsertps $0x10,(%rax,%r8,4),%xmm4,%xmm4 .byte 196,163,89,33,36,144,32 // vinsertps $0x20,(%rax,%r10,4),%xmm4,%xmm4 .byte 196,163,89,33,36,152,48 // vinsertps $0x30,(%rax,%r11,4),%xmm4,%xmm4 .byte 196,227,93,24,192,1 // vinsertf128 $0x1,%xmm0,%ymm4,%ymm0 .byte 197,225,250,230 // vpsubd %xmm6,%xmm3,%xmm4 .byte 196,195,249,22,224,1 // vpextrq $0x1,%xmm4,%r8 .byte 196,193,249,126,225 // vmovq %xmm4,%r9 .byte 197,233,250,230 // vpsubd %xmm6,%xmm2,%xmm4 .byte 196,195,249,22,226,1 // vpextrq $0x1,%xmm4,%r10 .byte 196,225,249,126,227 // vmovq %xmm4,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,36,152 // vmovss (%rax,%r11,4),%xmm4 .byte 196,227,89,33,36,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm4,%xmm4 .byte 196,161,122,16,60,176 // vmovss (%rax,%r14,4),%xmm7 .byte 196,227,89,33,231,32 // vinsertps $0x20,%xmm7,%xmm4,%xmm4 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,60,144 // vmovss (%rax,%r10,4),%xmm7 .byte 196,227,89,33,231,48 // vinsertps $0x30,%xmm7,%xmm4,%xmm4 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,60,152 // vmovss (%rax,%rbx,4),%xmm7 .byte 196,163,65,33,60,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm7,%xmm7 .byte 196,161,122,16,52,144 // vmovss (%rax,%r10,4),%xmm6 .byte 196,227,65,33,246,32 // vinsertps $0x20,%xmm6,%xmm7,%xmm6 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,60,128 // vmovss (%rax,%r8,4),%xmm7 .byte 196,227,73,33,247,48 // vinsertps $0x30,%xmm7,%xmm6,%xmm6 .byte 196,227,77,24,252,1 // vinsertf128 $0x1,%xmm4,%ymm6,%ymm7 .byte 196,193,97,254,218 // vpaddd %xmm10,%xmm3,%xmm3 .byte 196,195,249,22,216,1 // vpextrq $0x1,%xmm3,%r8 .byte 196,193,249,126,217 // vmovq %xmm3,%r9 .byte 196,193,105,254,210 // vpaddd %xmm10,%xmm2,%xmm2 .byte 196,195,249,22,210,1 // vpextrq $0x1,%xmm2,%r10 .byte 196,225,249,126,211 // vmovq %xmm2,%rbx .byte 65,137,219 // mov %ebx,%r11d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,214 // mov %r10d,%r14d .byte 196,161,122,16,20,152 // vmovss (%rax,%r11,4),%xmm2 .byte 196,227,105,33,20,152,16 // vinsertps $0x10,(%rax,%rbx,4),%xmm2,%xmm2 .byte 196,161,122,16,28,176 // vmovss (%rax,%r14,4),%xmm3 .byte 196,227,105,33,211,32 // vinsertps $0x20,%xmm3,%xmm2,%xmm2 .byte 73,193,234,32 // shr $0x20,%r10 .byte 196,161,122,16,28,144 // vmovss (%rax,%r10,4),%xmm3 .byte 196,227,105,33,211,48 // vinsertps $0x30,%xmm3,%xmm2,%xmm2 .byte 68,137,203 // mov %r9d,%ebx .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,194 // mov %r8d,%r10d .byte 197,250,16,28,152 // vmovss (%rax,%rbx,4),%xmm3 .byte 196,163,97,33,28,136,16 // vinsertps $0x10,(%rax,%r9,4),%xmm3,%xmm3 .byte 196,161,122,16,36,144 // vmovss (%rax,%r10,4),%xmm4 .byte 196,227,97,33,220,32 // vinsertps $0x20,%xmm4,%xmm3,%xmm3 .byte 73,193,232,32 // shr $0x20,%r8 .byte 196,161,122,16,36,128 // vmovss (%rax,%r8,4),%xmm4 .byte 196,227,97,33,220,48 // vinsertps $0x30,%xmm4,%xmm3,%xmm3 .byte 196,227,101,24,210,1 // vinsertf128 $0x1,%xmm2,%ymm3,%ymm2 .byte 197,252,92,193 // vsubps %ymm1,%ymm0,%ymm0 .byte 197,156,89,192 // vmulps %ymm0,%ymm12,%ymm0 .byte 197,244,88,192 // vaddps %ymm0,%ymm1,%ymm0 .byte 197,196,92,205 // vsubps %ymm5,%ymm7,%ymm1 .byte 197,156,89,201 // vmulps %ymm1,%ymm12,%ymm1 .byte 197,212,88,201 // vaddps %ymm1,%ymm5,%ymm1 .byte 196,193,108,92,214 // vsubps %ymm14,%ymm2,%ymm2 .byte 197,156,89,210 // vmulps %ymm2,%ymm12,%ymm2 .byte 197,140,88,210 // vaddps %ymm2,%ymm14,%ymm2 .byte 197,252,16,164,36,224,0,0,0 // vmovups 0xe0(%rsp),%ymm4 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 197,252,16,156,36,192,0,0,0 // vmovups 0xc0(%rsp),%ymm3 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,220,88,192 // vaddps %ymm0,%ymm4,%ymm0 .byte 196,193,116,92,207 // vsubps %ymm15,%ymm1,%ymm1 .byte 197,228,89,201 // vmulps %ymm1,%ymm3,%ymm1 .byte 197,132,88,201 // vaddps %ymm1,%ymm15,%ymm1 .byte 196,193,108,92,211 // vsubps %ymm11,%ymm2,%ymm2 .byte 197,228,89,210 // vmulps %ymm2,%ymm3,%ymm2 .byte 197,164,88,210 // vaddps %ymm2,%ymm11,%ymm2 .byte 197,252,16,36,36 // vmovups (%rsp),%ymm4 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 197,252,16,92,36,96 // vmovups 0x60(%rsp),%ymm3 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,220,88,192 // vaddps %ymm0,%ymm4,%ymm0 .byte 197,252,16,164,36,160,0,0,0 // vmovups 0xa0(%rsp),%ymm4 .byte 197,244,92,204 // vsubps %ymm4,%ymm1,%ymm1 .byte 197,228,89,201 // vmulps %ymm1,%ymm3,%ymm1 .byte 197,220,88,201 // vaddps %ymm1,%ymm4,%ymm1 .byte 197,252,16,164,36,96,1,0,0 // vmovups 0x160(%rsp),%ymm4 .byte 197,236,92,212 // vsubps %ymm4,%ymm2,%ymm2 .byte 197,228,89,210 // vmulps %ymm2,%ymm3,%ymm2 .byte 197,220,88,210 // vaddps %ymm2,%ymm4,%ymm2 .byte 197,252,91,156,36,192,1,0,0 // vcvtdq2ps 0x1c0(%rsp),%ymm3 .byte 197,252,16,164,36,224,1,0,0 // vmovups 0x1e0(%rsp),%ymm4 .byte 197,220,92,219 // vsubps %ymm3,%ymm4,%ymm3 .byte 197,252,16,164,36,0,1,0,0 // vmovups 0x100(%rsp),%ymm4 .byte 197,252,92,196 // vsubps %ymm4,%ymm0,%ymm0 .byte 197,228,89,192 // vmulps %ymm0,%ymm3,%ymm0 .byte 197,220,88,192 // vaddps %ymm0,%ymm4,%ymm0 .byte 197,252,16,164,36,64,1,0,0 // vmovups 0x140(%rsp),%ymm4 .byte 197,244,92,204 // vsubps %ymm4,%ymm1,%ymm1 .byte 197,228,89,201 // vmulps %ymm1,%ymm3,%ymm1 .byte 197,220,88,201 // vaddps %ymm1,%ymm4,%ymm1 .byte 197,252,16,164,36,128,0,0,0 // vmovups 0x80(%rsp),%ymm4 .byte 197,236,92,212 // vsubps %ymm4,%ymm2,%ymm2 .byte 197,228,89,210 // vmulps %ymm2,%ymm3,%ymm2 .byte 197,220,88,210 // vaddps %ymm2,%ymm4,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,24,29,72,132,1,0 // vbroadcastss 0x18448(%rip),%ymm3 # 2ae08 <_sk_srcover_rgba_8888_sse2_lowp+0x834> .byte 197,252,16,164,36,64,2,0,0 // vmovups 0x240(%rsp),%ymm4 .byte 197,252,16,172,36,96,2,0,0 // vmovups 0x260(%rsp),%ymm5 .byte 197,252,16,180,36,128,2,0,0 // vmovups 0x280(%rsp),%ymm6 .byte 197,252,16,188,36,160,2,0,0 // vmovups 0x2a0(%rsp),%ymm7 .byte 72,129,196,216,2,0,0 // add $0x2d8,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 255,224 // jmpq *%rax HIDDEN _sk_start_pipeline_sse41 .globl _sk_start_pipeline_sse41 FUNCTION(_sk_start_pipeline_sse41) _sk_start_pipeline_sse41: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,131,236,24 // sub $0x18,%rsp .byte 73,137,215 // mov %rdx,%r15 .byte 72,137,243 // mov %rsi,%rbx .byte 72,137,125,208 // mov %rdi,-0x30(%rbp) .byte 76,137,198 // mov %r8,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,197 // mov %rax,%r13 .byte 73,137,246 // mov %rsi,%r14 .byte 72,137,77,192 // mov %rcx,-0x40(%rbp) .byte 72,57,203 // cmp %rcx,%rbx .byte 115,83 // jae 12a76 <_sk_start_pipeline_sse41+0x82> .byte 72,139,69,208 // mov -0x30(%rbp),%rax .byte 72,141,64,4 // lea 0x4(%rax),%rax .byte 72,137,69,200 // mov %rax,-0x38(%rbp) .byte 76,57,125,200 // cmp %r15,-0x38(%rbp) .byte 72,139,85,208 // mov -0x30(%rbp),%rdx .byte 119,35 // ja 12a5c <_sk_start_pipeline_sse41+0x68> .byte 76,139,101,208 // mov -0x30(%rbp),%r12 .byte 49,255 // xor %edi,%edi .byte 76,137,246 // mov %r14,%rsi .byte 76,137,226 // mov %r12,%rdx .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 73,141,84,36,4 // lea 0x4(%r12),%rdx .byte 73,131,196,8 // add $0x8,%r12 .byte 77,57,252 // cmp %r15,%r12 .byte 73,137,212 // mov %rdx,%r12 .byte 118,225 // jbe 12a3d <_sk_start_pipeline_sse41+0x49> .byte 76,137,255 // mov %r15,%rdi .byte 72,41,215 // sub %rdx,%rdi .byte 116,9 // je 12a6d <_sk_start_pipeline_sse41+0x79> .byte 76,137,246 // mov %r14,%rsi .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 72,255,195 // inc %rbx .byte 72,59,93,192 // cmp -0x40(%rbp),%rbx .byte 117,185 // jne 12a2f <_sk_start_pipeline_sse41+0x3b> .byte 72,131,196,24 // add $0x18,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 195 // retq HIDDEN _sk_just_return_sse41 .globl _sk_just_return_sse41 FUNCTION(_sk_just_return_sse41) _sk_just_return_sse41: .byte 195 // retq HIDDEN _sk_seed_shader_sse41 .globl _sk_seed_shader_sse41 FUNCTION(_sk_seed_shader_sse41) _sk_seed_shader_sse41: .byte 102,15,110,194 // movd %edx,%xmm0 .byte 102,15,112,192,0 // pshufd $0x0,%xmm0,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,88,5,87,133,1,0 // addps 0x18557(%rip),%xmm0 # 2aff0 <_sk_srcover_rgba_8888_sse2_lowp+0xa1c> .byte 102,15,110,201 // movd %ecx,%xmm1 .byte 102,15,112,201,0 // pshufd $0x0,%xmm1,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,88,13,84,133,1,0 // addps 0x18554(%rip),%xmm1 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,21,91,133,1,0 // movaps 0x1855b(%rip),%xmm2 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_dither_sse41 .globl _sk_dither_sse41 FUNCTION(_sk_dither_sse41) _sk_dither_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,68,15,110,194 // movd %edx,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 102,68,15,254,5,244,132,1,0 // paddd 0x184f4(%rip),%xmm8 # 2afd0 <_sk_srcover_rgba_8888_sse2_lowp+0x9fc> .byte 102,68,15,110,201 // movd %ecx,%xmm9 .byte 102,69,15,112,201,0 // pshufd $0x0,%xmm9,%xmm9 .byte 102,69,15,239,200 // pxor %xmm8,%xmm9 .byte 102,68,15,111,21,43,133,1,0 // movdqa 0x1852b(%rip),%xmm10 # 2b020 <_sk_srcover_rgba_8888_sse2_lowp+0xa4c> .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .byte 102,69,15,219,218 // pand %xmm10,%xmm11 .byte 102,65,15,114,243,5 // pslld $0x5,%xmm11 .byte 102,69,15,219,208 // pand %xmm8,%xmm10 .byte 102,65,15,114,242,4 // pslld $0x4,%xmm10 .byte 102,68,15,111,37,23,133,1,0 // movdqa 0x18517(%rip),%xmm12 # 2b030 <_sk_srcover_rgba_8888_sse2_lowp+0xa5c> .byte 102,68,15,111,45,30,133,1,0 // movdqa 0x1851e(%rip),%xmm13 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,69,15,111,241 // movdqa %xmm9,%xmm14 .byte 102,69,15,219,245 // pand %xmm13,%xmm14 .byte 102,65,15,114,246,2 // pslld $0x2,%xmm14 .byte 102,69,15,235,243 // por %xmm11,%xmm14 .byte 102,69,15,219,232 // pand %xmm8,%xmm13 .byte 102,69,15,254,237 // paddd %xmm13,%xmm13 .byte 102,69,15,235,234 // por %xmm10,%xmm13 .byte 102,69,15,219,204 // pand %xmm12,%xmm9 .byte 102,65,15,114,209,1 // psrld $0x1,%xmm9 .byte 102,69,15,219,196 // pand %xmm12,%xmm8 .byte 102,65,15,114,208,2 // psrld $0x2,%xmm8 .byte 102,69,15,235,197 // por %xmm13,%xmm8 .byte 102,69,15,235,198 // por %xmm14,%xmm8 .byte 102,69,15,235,193 // por %xmm9,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,5,217,132,1,0 // mulps 0x184d9(%rip),%xmm8 # 2b050 <_sk_srcover_rgba_8888_sse2_lowp+0xa7c> .byte 68,15,88,5,225,132,1,0 // addps 0x184e1(%rip),%xmm8 # 2b060 <_sk_srcover_rgba_8888_sse2_lowp+0xa8c> .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,23,132,1,0 // movaps 0x18417(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,3,132,1,0 // movaps 0x18403(%rip),%xmm0 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,179,131,1,0 // movaps 0x183b3(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,102,131,1,0 // movaps 0x18366(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,250,130,1,0 // movaps 0x182fa(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,218,130,1,0 // movaps 0x182da(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,173,130,1,0 // movaps 0x182ad(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,113,130,1,0 // movaps 0x18271(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,53,130,1,0 // movaps 0x18235(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,92,207 // subps %xmm7,%xmm9 .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 68,15,89,208 // mulps %xmm0,%xmm10 .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,89,220 // mulps %xmm4,%xmm11 .byte 69,15,88,218 // addps %xmm10,%xmm11 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 65,15,88,195 // addps %xmm11,%xmm0 .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 68,15,89,209 // mulps %xmm1,%xmm10 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,89,221 // mulps %xmm5,%xmm11 .byte 69,15,88,218 // addps %xmm10,%xmm11 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 65,15,88,203 // addps %xmm11,%xmm1 .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 68,15,89,210 // mulps %xmm2,%xmm10 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,89,222 // mulps %xmm6,%xmm11 .byte 69,15,88,218 // addps %xmm10,%xmm11 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 65,15,88,211 // addps %xmm11,%xmm2 .byte 68,15,89,203 // mulps %xmm3,%xmm9 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 65,15,88,216 // addps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_plus__sse41 .globl _sk_plus__sse41 FUNCTION(_sk_plus__sse41) _sk_plus__sse41: .byte 15,88,196 // addps %xmm4,%xmm0 .byte 68,15,40,5,182,129,1,0 // movaps 0x181b6(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 65,15,93,192 // minps %xmm8,%xmm0 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 65,15,93,200 // minps %xmm8,%xmm1 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 65,15,93,208 // minps %xmm8,%xmm2 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 65,15,93,216 // minps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_screen_sse41 .globl _sk_screen_sse41 FUNCTION(_sk_screen_sse41) _sk_screen_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 68,15,89,196 // mulps %xmm4,%xmm8 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 68,15,88,197 // addps %xmm5,%xmm8 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 68,15,92,193 // subps %xmm1,%xmm8 .byte 68,15,40,202 // movaps %xmm2,%xmm9 .byte 68,15,88,206 // addps %xmm6,%xmm9 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 68,15,92,202 // subps %xmm2,%xmm9 .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 68,15,88,215 // addps %xmm7,%xmm10 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 65,15,40,218 // movaps %xmm10,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_xor__sse41 .globl _sk_xor__sse41 FUNCTION(_sk_xor__sse41) _sk_xor__sse41: .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 15,40,29,66,129,1,0 // movaps 0x18142(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,157,128,1,0 // movaps 0x1809d(%rip),%xmm2 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,50,128,1,0 // movaps 0x18032(%rip),%xmm2 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,188,127,1,0 // movaps 0x17fbc(%rip),%xmm2 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,108,127,1,0 // movaps 0x17f6c(%rip),%xmm2 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_colorburn_sse41 .globl _sk_colorburn_sse41 FUNCTION(_sk_colorburn_sse41) _sk_colorburn_sse41: .byte 68,15,40,29,83,127,1,0 // movaps 0x17f53(%rip),%xmm11 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 68,15,92,231 // subps %xmm7,%xmm12 .byte 69,15,40,204 // movaps %xmm12,%xmm9 .byte 68,15,89,200 // mulps %xmm0,%xmm9 .byte 68,15,40,199 // movaps %xmm7,%xmm8 .byte 68,15,92,196 // subps %xmm4,%xmm8 .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 68,15,83,208 // rcpps %xmm0,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 69,15,93,234 // minps %xmm10,%xmm13 .byte 68,15,40,199 // movaps %xmm7,%xmm8 .byte 69,15,92,197 // subps %xmm13,%xmm8 .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 68,15,88,204 // addps %xmm4,%xmm9 .byte 69,15,87,210 // xorps %xmm10,%xmm10 .byte 68,15,92,219 // subps %xmm3,%xmm11 .byte 69,15,40,235 // movaps %xmm11,%xmm13 .byte 68,15,89,236 // mulps %xmm4,%xmm13 .byte 65,15,194,194,0 // cmpeqps %xmm10,%xmm0 .byte 69,15,88,197 // addps %xmm13,%xmm8 .byte 102,69,15,56,20,197 // blendvps %xmm0,%xmm13,%xmm8 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,194,199,0 // cmpeqps %xmm7,%xmm0 .byte 102,69,15,56,20,193 // blendvps %xmm0,%xmm9,%xmm8 .byte 69,15,40,236 // movaps %xmm12,%xmm13 .byte 68,15,89,233 // mulps %xmm1,%xmm13 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 68,15,83,201 // rcpps %xmm1,%xmm9 .byte 68,15,89,200 // mulps %xmm0,%xmm9 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 65,15,93,193 // minps %xmm9,%xmm0 .byte 68,15,40,207 // movaps %xmm7,%xmm9 .byte 68,15,92,200 // subps %xmm0,%xmm9 .byte 69,15,40,243 // movaps %xmm11,%xmm14 .byte 68,15,89,245 // mulps %xmm5,%xmm14 .byte 65,15,194,202,0 // cmpeqps %xmm10,%xmm1 .byte 68,15,89,203 // mulps %xmm3,%xmm9 .byte 69,15,88,205 // addps %xmm13,%xmm9 .byte 69,15,88,206 // addps %xmm14,%xmm9 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 102,69,15,56,20,206 // blendvps %xmm0,%xmm14,%xmm9 .byte 68,15,88,237 // addps %xmm5,%xmm13 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,194,199,0 // cmpeqps %xmm7,%xmm0 .byte 102,69,15,56,20,205 // blendvps %xmm0,%xmm13,%xmm9 .byte 68,15,89,226 // mulps %xmm2,%xmm12 .byte 68,15,194,210,0 // cmpeqps %xmm2,%xmm10 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,92,198 // subps %xmm6,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,83,202 // rcpps %xmm2,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,93,193 // minps %xmm1,%xmm0 .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 15,92,208 // subps %xmm0,%xmm2 .byte 65,15,40,203 // movaps %xmm11,%xmm1 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 65,15,88,212 // addps %xmm12,%xmm2 .byte 15,88,209 // addps %xmm1,%xmm2 .byte 65,15,40,194 // movaps %xmm10,%xmm0 .byte 102,15,56,20,209 // blendvps %xmm0,%xmm1,%xmm2 .byte 68,15,88,230 // addps %xmm6,%xmm12 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,194,199,0 // cmpeqps %xmm7,%xmm0 .byte 102,65,15,56,20,212 // blendvps %xmm0,%xmm12,%xmm2 .byte 68,15,89,223 // mulps %xmm7,%xmm11 .byte 65,15,88,219 // addps %xmm11,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 255,224 // jmpq *%rax HIDDEN _sk_colordodge_sse41 .globl _sk_colordodge_sse41 FUNCTION(_sk_colordodge_sse41) _sk_colordodge_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 68,15,40,21,29,126,1,0 // movaps 0x17e1d(%rip),%xmm10 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,40,218 // movaps %xmm10,%xmm11 .byte 68,15,92,223 // subps %xmm7,%xmm11 .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 69,15,89,224 // mulps %xmm8,%xmm12 .byte 68,15,40,235 // movaps %xmm3,%xmm13 .byte 68,15,89,236 // mulps %xmm4,%xmm13 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 68,15,83,200 // rcpps %xmm0,%xmm9 .byte 69,15,89,205 // mulps %xmm13,%xmm9 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 68,15,40,247 // movaps %xmm7,%xmm14 .byte 69,15,93,241 // minps %xmm9,%xmm14 .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,194,195,0 // cmpeqps %xmm3,%xmm0 .byte 68,15,89,243 // mulps %xmm3,%xmm14 .byte 69,15,88,244 // addps %xmm12,%xmm14 .byte 102,69,15,56,20,240 // blendvps %xmm0,%xmm8,%xmm14 .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 69,15,40,194 // movaps %xmm10,%xmm8 .byte 68,15,89,196 // mulps %xmm4,%xmm8 .byte 69,15,88,198 // addps %xmm14,%xmm8 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 65,15,194,193,0 // cmpeqps %xmm9,%xmm0 .byte 102,69,15,56,20,196 // blendvps %xmm0,%xmm12,%xmm8 .byte 68,15,40,227 // movaps %xmm3,%xmm12 .byte 68,15,89,229 // mulps %xmm5,%xmm12 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,83,192 // rcpps %xmm0,%xmm0 .byte 65,15,89,196 // mulps %xmm12,%xmm0 .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 68,15,89,225 // mulps %xmm1,%xmm12 .byte 68,15,93,232 // minps %xmm0,%xmm13 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,194,195,0 // cmpeqps %xmm3,%xmm0 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 69,15,88,236 // addps %xmm12,%xmm13 .byte 102,68,15,56,20,233 // blendvps %xmm0,%xmm1,%xmm13 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 65,15,88,205 // addps %xmm13,%xmm1 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 65,15,194,193,0 // cmpeqps %xmm9,%xmm0 .byte 102,65,15,56,20,204 // blendvps %xmm0,%xmm12,%xmm1 .byte 68,15,40,227 // movaps %xmm3,%xmm12 .byte 68,15,89,230 // mulps %xmm6,%xmm12 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,92,194 // subps %xmm2,%xmm0 .byte 15,83,192 // rcpps %xmm0,%xmm0 .byte 65,15,89,196 // mulps %xmm12,%xmm0 .byte 68,15,40,231 // movaps %xmm7,%xmm12 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 68,15,93,224 // minps %xmm0,%xmm12 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,194,195,0 // cmpeqps %xmm3,%xmm0 .byte 68,15,89,227 // mulps %xmm3,%xmm12 .byte 69,15,88,227 // addps %xmm11,%xmm12 .byte 102,68,15,56,20,226 // blendvps %xmm0,%xmm2,%xmm12 .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 65,15,88,212 // addps %xmm12,%xmm2 .byte 68,15,194,206,0 // cmpeqps %xmm6,%xmm9 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,65,15,56,20,211 // blendvps %xmm0,%xmm11,%xmm2 .byte 68,15,89,215 // mulps %xmm7,%xmm10 .byte 65,15,88,218 // addps %xmm10,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_hardlight_sse41 .globl _sk_hardlight_sse41 FUNCTION(_sk_hardlight_sse41) _sk_hardlight_sse41: .byte 15,41,116,36,232 // movaps %xmm6,-0x18(%rsp) .byte 68,15,40,229 // movaps %xmm5,%xmm12 .byte 15,40,244 // movaps %xmm4,%xmm6 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 68,15,40,21,232,124,1,0 // movaps 0x17ce8(%rip),%xmm10 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,189,123,1,0 // movaps 0x17bbd(%rip),%xmm10 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,132,122,1,0 // movaps 0x17a84(%rip),%xmm1 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,178,122,1,0 // movaps 0x17ab2(%rip),%xmm13 # 2b070 <_sk_srcover_rgba_8888_sse2_lowp+0xa9c> .byte 69,15,88,245 // addps %xmm13,%xmm14 .byte 68,15,89,242 // mulps %xmm2,%xmm14 .byte 68,15,40,37,178,122,1,0 // movaps 0x17ab2(%rip),%xmm12 # 2b080 <_sk_srcover_rgba_8888_sse2_lowp+0xaac> .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,29,120,1,0 // movaps 0x1781d(%rip),%xmm0 # 2b090 <_sk_srcover_rgba_8888_sse2_lowp+0xabc> .byte 68,15,89,224 // mulps %xmm0,%xmm12 .byte 15,40,21,34,120,1,0 // movaps 0x17822(%rip),%xmm2 # 2b0a0 <_sk_srcover_rgba_8888_sse2_lowp+0xacc> .byte 15,89,250 // mulps %xmm2,%xmm7 .byte 65,15,88,252 // addps %xmm12,%xmm7 .byte 68,15,40,53,35,120,1,0 // movaps 0x17823(%rip),%xmm14 # 2b0b0 <_sk_srcover_rgba_8888_sse2_lowp+0xadc> .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,55,118,1,0 // movaps 0x17637(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,97,117,1,0 // movaps 0x17561(%rip),%xmm2 # 2b090 <_sk_srcover_rgba_8888_sse2_lowp+0xabc> .byte 15,40,221 // movaps %xmm5,%xmm3 .byte 15,89,218 // mulps %xmm2,%xmm3 .byte 15,40,13,100,117,1,0 // movaps 0x17564(%rip),%xmm1 # 2b0a0 <_sk_srcover_rgba_8888_sse2_lowp+0xacc> .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,99,117,1,0 // movaps 0x17563(%rip),%xmm13 # 2b0b0 <_sk_srcover_rgba_8888_sse2_lowp+0xadc> .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,121,115,1,0 // movaps 0x17379(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,52,115,1,0 // movaps 0x17334(%rip),%xmm9 # 2b090 <_sk_srcover_rgba_8888_sse2_lowp+0xabc> .byte 65,15,40,250 // movaps %xmm10,%xmm7 .byte 65,15,89,249 // mulps %xmm9,%xmm7 .byte 68,15,40,21,52,115,1,0 // movaps 0x17334(%rip),%xmm10 # 2b0a0 <_sk_srcover_rgba_8888_sse2_lowp+0xacc> .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,49,115,1,0 // movaps 0x17331(%rip),%xmm11 # 2b0b0 <_sk_srcover_rgba_8888_sse2_lowp+0xadc> .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,61,113,1,0 // movaps 0x1713d(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,5,113,1,0 // movaps 0x17105(%rip),%xmm8 # 2b090 <_sk_srcover_rgba_8888_sse2_lowp+0xabc> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 68,15,40,21,9,113,1,0 // movaps 0x17109(%rip),%xmm10 # 2b0a0 <_sk_srcover_rgba_8888_sse2_lowp+0xacc> .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,7,113,1,0 // movaps 0x17107(%rip),%xmm12 # 2b0b0 <_sk_srcover_rgba_8888_sse2_lowp+0xadc> .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,13,111,1,0 // movaps 0x16f0d(%rip),%xmm0 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 15,133,219,0,0,0 // jne 1426b <_sk_srcover_rgba_8888_sse41+0xfb> .byte 243,65,15,111,60,128 // movdqu (%r8,%rax,4),%xmm7 .byte 72,133,255 // test %rdi,%rdi .byte 102,15,111,37,31,111,1,0 // movdqa 0x16f1f(%rip),%xmm4 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .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,27,111,1,0 // pshufb 0x16f1b(%rip),%xmm5 # 2b0d0 <_sk_srcover_rgba_8888_sse2_lowp+0xafc> .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 102,15,111,247 // movdqa %xmm7,%xmm6 .byte 102,15,56,0,53,27,111,1,0 // pshufb 0x16f1b(%rip),%xmm6 # 2b0e0 <_sk_srcover_rgba_8888_sse2_lowp+0xb0c> .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,56,110,1,0 // movaps 0x16e38(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 68,15,40,37,12,111,1,0 // movaps 0x16f0c(%rip),%xmm12 # 2b0f0 <_sk_srcover_rgba_8888_sse2_lowp+0xb1c> .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,88 // jne 142a9 <_sk_srcover_rgba_8888_sse41+0x139> .byte 243,65,15,127,4,128 // movdqu %xmm0,(%r8,%rax,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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,91 // je 142d3 <_sk_srcover_rgba_8888_sse41+0x163> .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,22 // je 14298 <_sk_srcover_rgba_8888_sse41+0x128> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 15,133,10,255,255,255 // jne 14196 <_sk_srcover_rgba_8888_sse41+0x26> .byte 102,65,15,110,100,128,8 // movd 0x8(%r8,%rax,4),%xmm4 .byte 102,15,112,252,69 // pshufd $0x45,%xmm4,%xmm7 .byte 243,65,15,126,36,128 // movq (%r8,%rax,4),%xmm4 .byte 102,15,58,14,252,15 // pblendw $0xf,%xmm4,%xmm7 .byte 233,237,254,255,255 // jmpq 14196 <_sk_srcover_rgba_8888_sse41+0x26> .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,40 // je 142de <_sk_srcover_rgba_8888_sse41+0x16e> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,15 // je 142cb <_sk_srcover_rgba_8888_sse41+0x15b> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,149 // jne 14257 <_sk_srcover_rgba_8888_sse41+0xe7> .byte 102,65,15,58,22,68,128,8,2 // pextrd $0x2,%xmm0,0x8(%r8,%rax,4) .byte 102,65,15,214,4,128 // movq %xmm0,(%r8,%rax,4) .byte 235,132 // jmp 14257 <_sk_srcover_rgba_8888_sse41+0xe7> .byte 102,65,15,110,60,128 // movd (%r8,%rax,4),%xmm7 .byte 233,184,254,255,255 // jmpq 14196 <_sk_srcover_rgba_8888_sse41+0x26> .byte 102,65,15,126,4,128 // movd %xmm0,(%r8,%rax,4) .byte 233,110,255,255,255 // jmpq 14257 <_sk_srcover_rgba_8888_sse41+0xe7> 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,7,109,1,0 // movaps 0x16d07(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,236,108,1,0 // minps 0x16cec(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,216,108,1,0 // minps 0x16cd8(%rip),%xmm7 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 15,93,231 // minps %xmm7,%xmm4 .byte 15,93,239 // minps %xmm7,%xmm5 .byte 15,93,247 // minps %xmm7,%xmm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_set_rgb_sse41 .globl _sk_set_rgb_sse41 FUNCTION(_sk_set_rgb_sse41) _sk_set_rgb_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,80,8 // movss 0x8(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_swap_rb_sse41 .globl _sk_swap_rb_sse41 FUNCTION(_sk_swap_rb_sse41) _sk_swap_rb_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_invert_sse41 .globl _sk_invert_sse41 FUNCTION(_sk_invert_sse41) _sk_invert_sse41: .byte 68,15,40,5,148,108,1,0 // movaps 0x16c94(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,92,200 // subps %xmm0,%xmm9 .byte 69,15,40,208 // movaps %xmm8,%xmm10 .byte 68,15,92,209 // subps %xmm1,%xmm10 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,92,218 // subps %xmm2,%xmm11 .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 65,15,40,211 // movaps %xmm11,%xmm2 .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_src_dst_sse41 .globl _sk_move_src_dst_sse41 FUNCTION(_sk_move_src_dst_sse41) _sk_move_src_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_dst_src_sse41 .globl _sk_move_dst_src_sse41 FUNCTION(_sk_move_dst_src_sse41) _sk_move_dst_src_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_sse41 .globl _sk_premul_sse41 FUNCTION(_sk_premul_sse41) _sk_premul_sse41: .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_dst_sse41 .globl _sk_premul_dst_sse41 FUNCTION(_sk_premul_dst_sse41) _sk_premul_dst_sse41: .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,89,247 // mulps %xmm7,%xmm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_unpremul_sse41 .globl _sk_unpremul_sse41 FUNCTION(_sk_unpremul_sse41) _sk_unpremul_sse41: .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,40,13,30,108,1,0 // movaps 0x16c1e(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,233,108,1,0 // movaps 0x16ce9(%rip),%xmm11 # 2b100 <_sk_srcover_rgba_8888_sse2_lowp+0xb2c> .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,97,108,1,0 // movaps 0x16c61(%rip),%xmm12 # 2b090 <_sk_srcover_rgba_8888_sse2_lowp+0xabc> .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 69,15,89,196 // mulps %xmm12,%xmm8 .byte 68,15,40,45,209,108,1,0 // movaps 0x16cd1(%rip),%xmm13 # 2b110 <_sk_srcover_rgba_8888_sse2_lowp+0xb3c> .byte 69,15,88,197 // addps %xmm13,%xmm8 .byte 69,15,89,194 // mulps %xmm10,%xmm8 .byte 68,15,40,53,209,108,1,0 // movaps 0x16cd1(%rip),%xmm14 # 2b120 <_sk_srcover_rgba_8888_sse2_lowp+0xb4c> .byte 69,15,88,198 // addps %xmm14,%xmm8 .byte 68,15,40,61,213,108,1,0 // movaps 0x16cd5(%rip),%xmm15 # 2b130 <_sk_srcover_rgba_8888_sse2_lowp+0xb5c> .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,32,108,1,0 // movaps 0x16c20(%rip),%xmm11 # 2b100 <_sk_srcover_rgba_8888_sse2_lowp+0xb2c> .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,153,107,1,0 // movaps 0x16b99(%rip),%xmm12 # 2b090 <_sk_srcover_rgba_8888_sse2_lowp+0xabc> .byte 65,15,89,228 // mulps %xmm12,%xmm4 .byte 68,15,40,45,13,108,1,0 // movaps 0x16c0d(%rip),%xmm13 # 2b110 <_sk_srcover_rgba_8888_sse2_lowp+0xb3c> .byte 65,15,88,229 // addps %xmm13,%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 68,15,40,53,14,108,1,0 // movaps 0x16c0e(%rip),%xmm14 # 2b120 <_sk_srcover_rgba_8888_sse2_lowp+0xb4c> .byte 65,15,88,230 // addps %xmm14,%xmm4 .byte 68,15,40,61,18,108,1,0 // movaps 0x16c12(%rip),%xmm15 # 2b130 <_sk_srcover_rgba_8888_sse2_lowp+0xb5c> .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,134,107,1,0 // movaps 0x16b86(%rip),%xmm11 # 2b140 <_sk_srcover_rgba_8888_sse2_lowp+0xb6c> .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 69,15,89,203 // mulps %xmm11,%xmm9 .byte 68,15,40,37,134,107,1,0 // movaps 0x16b86(%rip),%xmm12 # 2b150 <_sk_srcover_rgba_8888_sse2_lowp+0xb7c> .byte 69,15,40,248 // movaps %xmm8,%xmm15 .byte 69,15,89,252 // mulps %xmm12,%xmm15 .byte 68,15,40,21,134,107,1,0 // movaps 0x16b86(%rip),%xmm10 # 2b160 <_sk_srcover_rgba_8888_sse2_lowp+0xb8c> .byte 69,15,88,250 // addps %xmm10,%xmm15 .byte 69,15,89,248 // mulps %xmm8,%xmm15 .byte 68,15,40,45,134,107,1,0 // movaps 0x16b86(%rip),%xmm13 # 2b170 <_sk_srcover_rgba_8888_sse2_lowp+0xb9c> .byte 69,15,88,253 // addps %xmm13,%xmm15 .byte 68,15,40,53,138,107,1,0 // movaps 0x16b8a(%rip),%xmm14 # 2b180 <_sk_srcover_rgba_8888_sse2_lowp+0xbac> .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,134,107,1,0 // movaps 0x16b86(%rip),%xmm15 # 2b190 <_sk_srcover_rgba_8888_sse2_lowp+0xbbc> .byte 65,15,194,199,1 // cmpltps %xmm15,%xmm0 .byte 102,69,15,56,20,193 // blendvps %xmm0,%xmm9,%xmm8 .byte 68,15,82,202 // rsqrtps %xmm2,%xmm9 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,89,196 // mulps %xmm12,%xmm0 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 65,15,89,193 // mulps %xmm9,%xmm0 .byte 65,15,88,197 // addps %xmm13,%xmm0 .byte 69,15,88,206 // addps %xmm14,%xmm9 .byte 69,15,83,201 // rcpps %xmm9,%xmm9 .byte 68,15,89,200 // mulps %xmm0,%xmm9 .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 65,15,194,215,1 // cmpltps %xmm15,%xmm2 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 102,68,15,56,20,201 // blendvps %xmm0,%xmm1,%xmm9 .byte 15,82,195 // rsqrtps %xmm3,%xmm0 .byte 68,15,89,224 // mulps %xmm0,%xmm12 .byte 69,15,88,226 // addps %xmm10,%xmm12 .byte 68,15,89,224 // mulps %xmm0,%xmm12 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 65,15,88,198 // addps %xmm14,%xmm0 .byte 68,15,83,208 // rcpps %xmm0,%xmm10 .byte 69,15,89,212 // mulps %xmm12,%xmm10 .byte 68,15,89,219 // mulps %xmm3,%xmm11 .byte 65,15,194,223,1 // cmpltps %xmm15,%xmm3 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 102,69,15,56,20,211 // blendvps %xmm0,%xmm11,%xmm10 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 15,40,247 // movaps %xmm7,%xmm6 .byte 15,40,124,36,232 // movaps -0x18(%rsp),%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_rgb_to_hsl_sse41 .globl _sk_rgb_to_hsl_sse41 FUNCTION(_sk_rgb_to_hsl_sse41) _sk_rgb_to_hsl_sse41: .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,95,194 // maxps %xmm2,%xmm0 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,95,216 // maxps %xmm0,%xmm11 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,93,194 // minps %xmm2,%xmm0 .byte 69,15,40,224 // movaps %xmm8,%xmm12 .byte 68,15,93,224 // minps %xmm0,%xmm12 .byte 65,15,40,203 // movaps %xmm11,%xmm1 .byte 65,15,92,204 // subps %xmm12,%xmm1 .byte 68,15,40,53,61,105,1,0 // movaps 0x1693d(%rip),%xmm14 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,164,106,1,0 // andps 0x16aa4(%rip),%xmm15 # 2b1a0 <_sk_srcover_rgba_8888_sse2_lowp+0xbcc> .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,151,106,1,0 // movaps 0x16a97(%rip),%xmm13 # 2b1b0 <_sk_srcover_rgba_8888_sse2_lowp+0xbdc> .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,147,106,1,0 // addps 0x16a93(%rip),%xmm8 # 2b1c0 <_sk_srcover_rgba_8888_sse2_lowp+0xbec> .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,139,106,1,0 // mulps 0x16a8b(%rip),%xmm8 # 2b1d0 <_sk_srcover_rgba_8888_sse2_lowp+0xbfc> .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,159,104,1,0 // movaps 0x1689f(%rip),%xmm0 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,85,104,1,0 // movaps 0x16855(%rip),%xmm9 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,0,106,1,0 // movaps 0x16a00(%rip),%xmm14 # 2b1e0 <_sk_srcover_rgba_8888_sse2_lowp+0xc0c> .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,249,105,1,0 // movaps 0x169f9(%rip),%xmm11 # 2b1f0 <_sk_srcover_rgba_8888_sse2_lowp+0xc1c> .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,146,105,1,0 // movaps 0x16992(%rip),%xmm7 # 2b1a0 <_sk_srcover_rgba_8888_sse2_lowp+0xbcc> .byte 69,15,40,238 // movaps %xmm14,%xmm13 .byte 68,15,89,239 // mulps %xmm7,%xmm13 .byte 15,40,29,163,105,1,0 // movaps 0x169a3(%rip),%xmm3 # 2b1c0 <_sk_srcover_rgba_8888_sse2_lowp+0xbec> .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,130,105,1,0 // movaps 0x16982(%rip),%xmm12 # 2b1d0 <_sk_srcover_rgba_8888_sse2_lowp+0xbfc> .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,26,105,1,0 // addps 0x1691a(%rip),%xmm10 # 2b200 <_sk_srcover_rgba_8888_sse2_lowp+0xc2c> .byte 102,65,15,58,8,194,1 // roundps $0x1,%xmm10,%xmm0 .byte 68,15,92,208 // subps %xmm0,%xmm10 .byte 69,15,194,218,2 // cmpleps %xmm10,%xmm11 .byte 65,15,89,250 // mulps %xmm10,%xmm7 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 15,89,222 // mulps %xmm6,%xmm3 .byte 65,15,88,216 // addps %xmm8,%xmm3 .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 102,65,15,56,20,216 // blendvps %xmm0,%xmm8,%xmm3 .byte 69,15,194,202,2 // cmpleps %xmm10,%xmm9 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 102,15,56,20,235 // blendvps %xmm0,%xmm3,%xmm5 .byte 69,15,194,226,2 // cmpleps %xmm10,%xmm12 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 68,15,88,199 // addps %xmm7,%xmm8 .byte 65,15,40,196 // movaps %xmm12,%xmm0 .byte 102,68,15,56,20,197 // blendvps %xmm0,%xmm5,%xmm8 .byte 65,15,40,198 // movaps %xmm14,%xmm0 .byte 102,68,15,56,20,194 // blendvps %xmm0,%xmm2,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,197 // movaps %xmm13,%xmm0 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 15,40,92,36,168 // movaps -0x58(%rsp),%xmm3 .byte 15,40,100,36,184 // movaps -0x48(%rsp),%xmm4 .byte 15,40,108,36,200 // movaps -0x38(%rsp),%xmm5 .byte 15,40,116,36,216 // movaps -0x28(%rsp),%xmm6 .byte 15,40,124,36,232 // movaps -0x18(%rsp),%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_1_float_sse41 .globl _sk_scale_1_float_sse41 FUNCTION(_sk_scale_1_float_sse41) _sk_scale_1_float_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_u8_sse41 .globl _sk_scale_u8_sse41 FUNCTION(_sk_scale_u8_sse41) _sk_scale_u8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,52 // jne 149cd <_sk_scale_u8_sse41+0x4c> .byte 102,71,15,56,49,4,16 // pmovzxbd (%r8,%r10,1),%xmm8 .byte 102,68,15,219,5,23,103,1,0 // pand 0x16717(%rip),%xmm8 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,5,91,104,1,0 // mulps 0x1685b(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,59 // je 14a15 <_sk_scale_u8_sse41+0x94> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,23 // je 149fc <_sk_scale_u8_sse41+0x7b> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,181 // jne 149a0 <_sk_scale_u8_sse41+0x1f> .byte 67,15,182,68,16,2 // movzbl 0x2(%r8,%r10,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,69 // pshufd $0x45,%xmm8,%xmm8 .byte 67,15,183,4,16 // movzwl (%r8,%r10,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 149a0 <_sk_scale_u8_sse41+0x1f> .byte 67,15,182,4,16 // movzbl (%r8,%r10,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 233,124,255,255,255 // jmpq 149a0 <_sk_scale_u8_sse41+0x1f> HIDDEN _sk_scale_565_sse41 .globl _sk_scale_565_sse41 FUNCTION(_sk_scale_565_sse41) _sk_scale_565_sse41: .byte 102,68,15,111,192 // movdqa %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,159,0,0,0 // jne 14ae7 <_sk_scale_565_sse41+0xc3> .byte 102,71,15,56,51,28,80 // pmovzxwd (%r8,%r10,2),%xmm11 .byte 102,15,111,5,201,103,1,0 // movdqa 0x167c9(%rip),%xmm0 # 2b220 <_sk_srcover_rgba_8888_sse2_lowp+0xc4c> .byte 102,65,15,219,195 // pand %xmm11,%xmm0 .byte 68,15,91,200 // cvtdq2ps %xmm0,%xmm9 .byte 68,15,89,13,200,103,1,0 // mulps 0x167c8(%rip),%xmm9 # 2b230 <_sk_srcover_rgba_8888_sse2_lowp+0xc5c> .byte 102,15,111,5,208,103,1,0 // movdqa 0x167d0(%rip),%xmm0 # 2b240 <_sk_srcover_rgba_8888_sse2_lowp+0xc6c> .byte 102,65,15,219,195 // pand %xmm11,%xmm0 .byte 68,15,91,208 // cvtdq2ps %xmm0,%xmm10 .byte 68,15,89,21,207,103,1,0 // mulps 0x167cf(%rip),%xmm10 # 2b250 <_sk_srcover_rgba_8888_sse2_lowp+0xc7c> .byte 102,68,15,219,29,214,103,1,0 // pand 0x167d6(%rip),%xmm11 # 2b260 <_sk_srcover_rgba_8888_sse2_lowp+0xc8c> .byte 69,15,91,219 // cvtdq2ps %xmm11,%xmm11 .byte 68,15,89,29,218,103,1,0 // mulps 0x167da(%rip),%xmm11 # 2b270 <_sk_srcover_rgba_8888_sse2_lowp+0xc9c> .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,194,199,1 // cmpltps %xmm7,%xmm0 .byte 69,15,40,226 // movaps %xmm10,%xmm12 .byte 69,15,93,227 // minps %xmm11,%xmm12 .byte 69,15,40,233 // movaps %xmm9,%xmm13 .byte 69,15,93,236 // minps %xmm12,%xmm13 .byte 69,15,40,242 // movaps %xmm10,%xmm14 .byte 69,15,95,243 // maxps %xmm11,%xmm14 .byte 69,15,40,225 // movaps %xmm9,%xmm12 .byte 69,15,95,230 // maxps %xmm14,%xmm12 .byte 102,69,15,56,20,229 // blendvps %xmm0,%xmm13,%xmm12 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 68,15,89,209 // mulps %xmm1,%xmm10 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 68,15,89,227 // mulps %xmm3,%xmm12 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 65,15,40,211 // movaps %xmm11,%xmm2 .byte 65,15,40,220 // movaps %xmm12,%xmm3 .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,60 // je 14b30 <_sk_scale_565_sse41+0x10c> .byte 102,69,15,239,219 // pxor %xmm11,%xmm11 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,26 // je 14b19 <_sk_scale_565_sse41+0xf5> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 15,133,70,255,255,255 // jne 14a4f <_sk_scale_565_sse41+0x2b> .byte 67,15,183,68,80,4 // movzwl 0x4(%r8,%r10,2),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,68,15,112,216,69 // pshufd $0x45,%xmm0,%xmm11 .byte 102,67,15,110,4,80 // movd (%r8,%r10,2),%xmm0 .byte 102,15,56,51,192 // pmovzxwd %xmm0,%xmm0 .byte 102,68,15,58,14,216,15 // pblendw $0xf,%xmm0,%xmm11 .byte 233,31,255,255,255 // jmpq 14a4f <_sk_scale_565_sse41+0x2b> .byte 67,15,183,4,80 // movzwl (%r8,%r10,2),%eax .byte 102,68,15,110,216 // movd %eax,%xmm11 .byte 233,16,255,255,255 // jmpq 14a4f <_sk_scale_565_sse41+0x2b> HIDDEN _sk_lerp_1_float_sse41 .globl _sk_lerp_1_float_sse41 FUNCTION(_sk_lerp_1_float_sse41) _sk_lerp_1_float_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,92,205 // subps %xmm5,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lerp_u8_sse41 .globl _sk_lerp_u8_sse41 FUNCTION(_sk_lerp_u8_sse41) _sk_lerp_u8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,72 // jne 14bd7 <_sk_lerp_u8_sse41+0x60> .byte 102,71,15,56,49,4,16 // pmovzxbd (%r8,%r10,1),%xmm8 .byte 102,68,15,219,5,33,101,1,0 // pand 0x16521(%rip),%xmm8 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,5,101,102,1,0 // mulps 0x16665(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,62 // je 14c22 <_sk_lerp_u8_sse41+0xab> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,23 // je 14c06 <_sk_lerp_u8_sse41+0x8f> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,161 // jne 14b96 <_sk_lerp_u8_sse41+0x1f> .byte 67,15,182,68,16,2 // movzbl 0x2(%r8,%r10,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,69 // pshufd $0x45,%xmm8,%xmm8 .byte 67,15,183,4,16 // movzwl (%r8,%r10,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 14b96 <_sk_lerp_u8_sse41+0x1f> .byte 67,15,182,4,16 // movzbl (%r8,%r10,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 233,101,255,255,255 // jmpq 14b96 <_sk_lerp_u8_sse41+0x1f> HIDDEN _sk_lerp_565_sse41 .globl _sk_lerp_565_sse41 FUNCTION(_sk_lerp_565_sse41) _sk_lerp_565_sse41: .byte 102,68,15,111,192 // movdqa %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,165,0,0,0 // jne 14cfa <_sk_lerp_565_sse41+0xc9> .byte 102,71,15,56,51,20,80 // pmovzxwd (%r8,%r10,2),%xmm10 .byte 102,15,111,5,188,101,1,0 // movdqa 0x165bc(%rip),%xmm0 # 2b220 <_sk_srcover_rgba_8888_sse2_lowp+0xc4c> .byte 102,65,15,219,194 // pand %xmm10,%xmm0 .byte 68,15,91,200 // cvtdq2ps %xmm0,%xmm9 .byte 68,15,89,13,187,101,1,0 // mulps 0x165bb(%rip),%xmm9 # 2b230 <_sk_srcover_rgba_8888_sse2_lowp+0xc5c> .byte 102,15,111,5,195,101,1,0 // movdqa 0x165c3(%rip),%xmm0 # 2b240 <_sk_srcover_rgba_8888_sse2_lowp+0xc6c> .byte 102,65,15,219,194 // pand %xmm10,%xmm0 .byte 68,15,91,216 // cvtdq2ps %xmm0,%xmm11 .byte 68,15,89,29,194,101,1,0 // mulps 0x165c2(%rip),%xmm11 # 2b250 <_sk_srcover_rgba_8888_sse2_lowp+0xc7c> .byte 102,68,15,219,21,201,101,1,0 // pand 0x165c9(%rip),%xmm10 # 2b260 <_sk_srcover_rgba_8888_sse2_lowp+0xc8c> .byte 69,15,91,210 // cvtdq2ps %xmm10,%xmm10 .byte 68,15,89,21,205,101,1,0 // mulps 0x165cd(%rip),%xmm10 # 2b270 <_sk_srcover_rgba_8888_sse2_lowp+0xc9c> .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,194,199,1 // cmpltps %xmm7,%xmm0 .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 15,92,205 // subps %xmm5,%xmm1 .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 69,15,93,218 // minps %xmm10,%xmm11 .byte 69,15,40,233 // movaps %xmm9,%xmm13 .byte 68,15,92,196 // subps %xmm4,%xmm8 .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 69,15,93,203 // minps %xmm11,%xmm9 .byte 69,15,95,226 // maxps %xmm10,%xmm12 .byte 69,15,95,236 // maxps %xmm12,%xmm13 .byte 102,69,15,56,20,233 // blendvps %xmm0,%xmm9,%xmm13 .byte 68,15,88,196 // addps %xmm4,%xmm8 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 65,15,89,210 // mulps %xmm10,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 65,15,89,221 // mulps %xmm13,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,60 // je 14d43 <_sk_lerp_565_sse41+0x112> .byte 102,69,15,239,210 // pxor %xmm10,%xmm10 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,26 // je 14d2c <_sk_lerp_565_sse41+0xfb> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 15,133,64,255,255,255 // jne 14c5c <_sk_lerp_565_sse41+0x2b> .byte 67,15,183,68,80,4 // movzwl 0x4(%r8,%r10,2),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,68,15,112,208,69 // pshufd $0x45,%xmm0,%xmm10 .byte 102,67,15,110,4,80 // movd (%r8,%r10,2),%xmm0 .byte 102,15,56,51,192 // pmovzxwd %xmm0,%xmm0 .byte 102,68,15,58,14,208,15 // pblendw $0xf,%xmm0,%xmm10 .byte 233,25,255,255,255 // jmpq 14c5c <_sk_lerp_565_sse41+0x2b> .byte 67,15,183,4,80 // movzwl (%r8,%r10,2),%eax .byte 102,68,15,110,208 // movd %eax,%xmm10 .byte 233,10,255,255,255 // jmpq 14c5c <_sk_lerp_565_sse41+0x2b> HIDDEN _sk_load_tables_sse41 .globl _sk_load_tables_sse41 FUNCTION(_sk_load_tables_sse41) _sk_load_tables_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,20,1,0,0 // jne 14e74 <_sk_load_tables_sse41+0x122> .byte 243,69,15,111,4,144 // movdqu (%r8,%rdx,4),%xmm8 .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 102,15,111,5,79,99,1,0 // movdqa 0x1634f(%rip),%xmm0 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 102,65,15,219,192 // pand %xmm8,%xmm0 .byte 102,73,15,58,22,192,1 // pextrq $0x1,%xmm0,%r8 .byte 102,73,15,126,193 // movq %xmm0,%r9 .byte 69,15,182,209 // movzbl %r9b,%r10d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 69,15,182,216 // movzbl %r8b,%r11d .byte 73,193,232,30 // shr $0x1e,%r8 .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,112,16 // mov 0x10(%rax),%r14 .byte 243,66,15,16,4,147 // movss (%rbx,%r10,4),%xmm0 .byte 102,66,15,58,33,4,11,16 // insertps $0x10,(%rbx,%r9,1),%xmm0 .byte 102,66,15,58,33,4,155,32 // insertps $0x20,(%rbx,%r11,4),%xmm0 .byte 102,66,15,58,33,4,3,48 // insertps $0x30,(%rbx,%r8,1),%xmm0 .byte 102,65,15,111,200 // movdqa %xmm8,%xmm1 .byte 102,15,56,0,13,10,99,1,0 // pshufb 0x1630a(%rip),%xmm1 # 2b0d0 <_sk_srcover_rgba_8888_sse2_lowp+0xafc> .byte 102,73,15,58,22,200,1 // pextrq $0x1,%xmm1,%r8 .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 68,15,182,203 // movzbl %bl,%r9d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 69,15,182,208 // movzbl %r8b,%r10d .byte 73,193,232,30 // shr $0x1e,%r8 .byte 243,67,15,16,12,142 // movss (%r14,%r9,4),%xmm1 .byte 102,65,15,58,33,12,30,16 // insertps $0x10,(%r14,%rbx,1),%xmm1 .byte 243,67,15,16,20,150 // movss (%r14,%r10,4),%xmm2 .byte 102,15,58,33,202,32 // insertps $0x20,%xmm2,%xmm1 .byte 243,67,15,16,20,6 // movss (%r14,%r8,1),%xmm2 .byte 102,15,58,33,202,48 // insertps $0x30,%xmm2,%xmm1 .byte 76,139,64,24 // mov 0x18(%rax),%r8 .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 102,15,56,0,21,198,98,1,0 // pshufb 0x162c6(%rip),%xmm2 # 2b0e0 <_sk_srcover_rgba_8888_sse2_lowp+0xb0c> .byte 102,72,15,58,22,211,1 // pextrq $0x1,%xmm2,%rbx .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 68,15,182,200 // movzbl %al,%r9d .byte 72,193,232,30 // shr $0x1e,%rax .byte 68,15,182,211 // movzbl %bl,%r10d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 243,67,15,16,20,136 // movss (%r8,%r9,4),%xmm2 .byte 102,65,15,58,33,20,0,16 // insertps $0x10,(%r8,%rax,1),%xmm2 .byte 243,67,15,16,28,144 // movss (%r8,%r10,4),%xmm3 .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 .byte 243,65,15,16,28,24 // movss (%r8,%rbx,1),%xmm3 .byte 102,15,58,33,211,48 // insertps $0x30,%xmm3,%xmm2 .byte 102,65,15,114,208,24 // psrld $0x18,%xmm8 .byte 65,15,91,216 // cvtdq2ps %xmm8,%xmm3 .byte 15,89,29,163,99,1,0 // mulps 0x163a3(%rip),%xmm3 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,52 // je 14eb5 <_sk_load_tables_sse41+0x163> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,23 // je 14ea3 <_sk_load_tables_sse41+0x151> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 15,133,208,254,255,255 // jne 14d66 <_sk_load_tables_sse41+0x14> .byte 102,65,15,110,68,144,8 // movd 0x8(%r8,%rdx,4),%xmm0 .byte 102,68,15,112,192,69 // pshufd $0x45,%xmm0,%xmm8 .byte 243,65,15,126,4,144 // movq (%r8,%rdx,4),%xmm0 .byte 102,68,15,58,14,192,15 // pblendw $0xf,%xmm0,%xmm8 .byte 233,177,254,255,255 // jmpq 14d66 <_sk_load_tables_sse41+0x14> .byte 102,69,15,110,4,144 // movd (%r8,%rdx,4),%xmm8 .byte 233,166,254,255,255 // jmpq 14d66 <_sk_load_tables_sse41+0x14> HIDDEN _sk_load_tables_u16_be_sse41 .globl _sk_load_tables_u16_be_sse41 FUNCTION(_sk_load_tables_u16_be_sse41) _sk_load_tables_u16_be_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 76,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,95,1,0,0 // jne 15035 <_sk_load_tables_u16_be_sse41+0x175> .byte 102,67,15,16,4,72 // movupd (%r8,%r9,2),%xmm0 .byte 243,67,15,111,76,72,16 // movdqu 0x10(%r8,%r9,2),%xmm1 .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 102,68,15,40,200 // movapd %xmm0,%xmm9 .byte 102,68,15,97,201 // punpcklwd %xmm1,%xmm9 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,68,15,105,200 // punpckhwd %xmm0,%xmm9 .byte 102,68,15,111,5,117,99,1,0 // movdqa 0x16375(%rip),%xmm8 # 2b280 <_sk_srcover_rgba_8888_sse2_lowp+0xcac> .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,65,15,219,192 // pand %xmm8,%xmm0 .byte 102,15,56,51,192 // pmovzxwd %xmm0,%xmm0 .byte 102,73,15,58,22,192,1 // pextrq $0x1,%xmm0,%r8 .byte 102,73,15,126,193 // movq %xmm0,%r9 .byte 69,15,182,209 // movzbl %r9b,%r10d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 69,15,182,216 // movzbl %r8b,%r11d .byte 73,193,232,30 // shr $0x1e,%r8 .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,112,16 // mov 0x10(%rax),%r14 .byte 243,66,15,16,4,147 // movss (%rbx,%r10,4),%xmm0 .byte 102,66,15,58,33,4,11,16 // insertps $0x10,(%rbx,%r9,1),%xmm0 .byte 243,66,15,16,20,155 // movss (%rbx,%r11,4),%xmm2 .byte 102,15,58,33,194,32 // insertps $0x20,%xmm2,%xmm0 .byte 243,66,15,16,20,3 // movss (%rbx,%r8,1),%xmm2 .byte 102,15,58,33,194,48 // insertps $0x30,%xmm2,%xmm0 .byte 102,15,56,0,13,36,99,1,0 // pshufb 0x16324(%rip),%xmm1 # 2b290 <_sk_srcover_rgba_8888_sse2_lowp+0xcbc> .byte 102,15,56,51,201 // pmovzxwd %xmm1,%xmm1 .byte 102,73,15,58,22,200,1 // pextrq $0x1,%xmm1,%r8 .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 68,15,182,203 // movzbl %bl,%r9d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 69,15,182,208 // movzbl %r8b,%r10d .byte 73,193,232,30 // shr $0x1e,%r8 .byte 243,67,15,16,12,142 // movss (%r14,%r9,4),%xmm1 .byte 102,65,15,58,33,12,30,16 // insertps $0x10,(%r14,%rbx,1),%xmm1 .byte 243,67,15,16,20,150 // movss (%r14,%r10,4),%xmm2 .byte 102,15,58,33,202,32 // insertps $0x20,%xmm2,%xmm1 .byte 243,67,15,16,20,6 // movss (%r14,%r8,1),%xmm2 .byte 102,15,58,33,202,48 // insertps $0x30,%xmm2,%xmm1 .byte 76,139,64,24 // mov 0x18(%rax),%r8 .byte 102,69,15,219,193 // pand %xmm9,%xmm8 .byte 102,65,15,56,51,208 // pmovzxwd %xmm8,%xmm2 .byte 102,72,15,58,22,211,1 // pextrq $0x1,%xmm2,%rbx .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 68,15,182,200 // movzbl %al,%r9d .byte 72,193,232,30 // shr $0x1e,%rax .byte 68,15,182,211 // movzbl %bl,%r10d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 243,67,15,16,20,136 // movss (%r8,%r9,4),%xmm2 .byte 102,65,15,58,33,20,0,16 // insertps $0x10,(%r8,%rax,1),%xmm2 .byte 243,67,15,16,28,144 // movss (%r8,%r10,4),%xmm3 .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 .byte 243,65,15,16,28,24 // movss (%r8,%rbx,1),%xmm3 .byte 102,15,58,33,211,48 // insertps $0x30,%xmm3,%xmm2 .byte 102,65,15,112,217,78 // pshufd $0x4e,%xmm9,%xmm3 .byte 102,68,15,111,195 // movdqa %xmm3,%xmm8 .byte 102,65,15,113,240,8 // psllw $0x8,%xmm8 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,65,15,235,216 // por %xmm8,%xmm3 .byte 102,15,56,51,219 // pmovzxwd %xmm3,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,29,114,98,1,0 // mulps 0x16272(%rip),%xmm3 # 2b2a0 <_sk_srcover_rgba_8888_sse2_lowp+0xccc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax .byte 242,67,15,16,4,72 // movsd (%r8,%r9,2),%xmm0 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,13 // jne 1504e <_sk_load_tables_u16_be_sse41+0x18e> .byte 243,15,126,192 // movq %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 233,149,254,255,255 // jmpq 14ee3 <_sk_load_tables_u16_be_sse41+0x23> .byte 102,67,15,22,68,72,8 // movhpd 0x8(%r8,%r9,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 15,130,128,254,255,255 // jb 14ee3 <_sk_load_tables_u16_be_sse41+0x23> .byte 243,67,15,126,76,72,16 // movq 0x10(%r8,%r9,2),%xmm1 .byte 233,116,254,255,255 // jmpq 14ee3 <_sk_load_tables_u16_be_sse41+0x23> HIDDEN _sk_load_tables_rgb_u16_be_sse41 .globl _sk_load_tables_rgb_u16_be_sse41 FUNCTION(_sk_load_tables_rgb_u16_be_sse41) _sk_load_tables_rgb_u16_be_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 76,141,12,82 // lea (%rdx,%rdx,2),%r9 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,79,1,0,0 // jne 151d0 <_sk_load_tables_rgb_u16_be_sse41+0x161> .byte 243,67,15,111,20,72 // movdqu (%r8,%r9,2),%xmm2 .byte 243,67,15,111,76,72,8 // movdqu 0x8(%r8,%r9,2),%xmm1 .byte 102,15,115,217,4 // psrldq $0x4,%xmm1 .byte 102,68,15,111,202 // movdqa %xmm2,%xmm9 .byte 102,65,15,115,217,6 // psrldq $0x6,%xmm9 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,115,216,6 // psrldq $0x6,%xmm0 .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 102,68,15,97,200 // punpcklwd %xmm0,%xmm9 .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,65,15,97,201 // punpcklwd %xmm9,%xmm1 .byte 102,68,15,111,5,187,97,1,0 // movdqa 0x161bb(%rip),%xmm8 # 2b280 <_sk_srcover_rgba_8888_sse2_lowp+0xcac> .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,65,15,219,192 // pand %xmm8,%xmm0 .byte 102,15,56,51,192 // pmovzxwd %xmm0,%xmm0 .byte 102,73,15,58,22,192,1 // pextrq $0x1,%xmm0,%r8 .byte 102,73,15,126,193 // movq %xmm0,%r9 .byte 69,15,182,209 // movzbl %r9b,%r10d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 69,15,182,216 // movzbl %r8b,%r11d .byte 73,193,232,30 // shr $0x1e,%r8 .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,112,16 // mov 0x10(%rax),%r14 .byte 243,66,15,16,4,147 // movss (%rbx,%r10,4),%xmm0 .byte 102,66,15,58,33,4,11,16 // insertps $0x10,(%rbx,%r9,1),%xmm0 .byte 243,66,15,16,28,155 // movss (%rbx,%r11,4),%xmm3 .byte 102,15,58,33,195,32 // insertps $0x20,%xmm3,%xmm0 .byte 243,66,15,16,28,3 // movss (%rbx,%r8,1),%xmm3 .byte 102,15,58,33,195,48 // insertps $0x30,%xmm3,%xmm0 .byte 102,15,56,0,13,106,97,1,0 // pshufb 0x1616a(%rip),%xmm1 # 2b290 <_sk_srcover_rgba_8888_sse2_lowp+0xcbc> .byte 102,15,56,51,201 // pmovzxwd %xmm1,%xmm1 .byte 102,73,15,58,22,200,1 // pextrq $0x1,%xmm1,%r8 .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 68,15,182,203 // movzbl %bl,%r9d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 69,15,182,208 // movzbl %r8b,%r10d .byte 73,193,232,30 // shr $0x1e,%r8 .byte 243,67,15,16,12,142 // movss (%r14,%r9,4),%xmm1 .byte 102,65,15,58,33,12,30,16 // insertps $0x10,(%r14,%rbx,1),%xmm1 .byte 243,67,15,16,28,150 // movss (%r14,%r10,4),%xmm3 .byte 102,15,58,33,203,32 // insertps $0x20,%xmm3,%xmm1 .byte 243,67,15,16,28,6 // movss (%r14,%r8,1),%xmm3 .byte 102,15,58,33,203,48 // insertps $0x30,%xmm3,%xmm1 .byte 76,139,64,24 // mov 0x18(%rax),%r8 .byte 102,65,15,105,209 // punpckhwd %xmm9,%xmm2 .byte 102,65,15,219,208 // pand %xmm8,%xmm2 .byte 102,15,56,51,210 // pmovzxwd %xmm2,%xmm2 .byte 102,72,15,58,22,211,1 // pextrq $0x1,%xmm2,%rbx .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 68,15,182,200 // movzbl %al,%r9d .byte 72,193,232,30 // shr $0x1e,%rax .byte 68,15,182,211 // movzbl %bl,%r10d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 243,67,15,16,20,136 // movss (%r8,%r9,4),%xmm2 .byte 102,65,15,58,33,20,0,16 // insertps $0x10,(%r8,%rax,1),%xmm2 .byte 243,67,15,16,28,144 // movss (%r8,%r10,4),%xmm3 .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 .byte 243,65,15,16,28,24 // movss (%r8,%rbx,1),%xmm3 .byte 102,15,58,33,211,48 // insertps $0x30,%xmm3,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,69,94,1,0 // movaps 0x15e45(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax .byte 102,67,15,110,20,72 // movd (%r8,%r9,2),%xmm2 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,67,15,196,84,72,4,2 // pinsrw $0x2,0x4(%r8,%r9,2),%xmm2 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,14 // jne 151f6 <_sk_load_tables_rgb_u16_be_sse41+0x187> .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 233,177,254,255,255 // jmpq 150a7 <_sk_load_tables_rgb_u16_be_sse41+0x38> .byte 102,71,15,110,76,72,6 // movd 0x6(%r8,%r9,2),%xmm9 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,71,15,196,76,72,10,2 // pinsrw $0x2,0xa(%r8,%r9,2),%xmm9 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,24 // jb 15227 <_sk_load_tables_rgb_u16_be_sse41+0x1b8> .byte 102,67,15,110,76,72,12 // movd 0xc(%r8,%r9,2),%xmm1 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,67,15,196,76,72,16,2 // pinsrw $0x2,0x10(%r8,%r9,2),%xmm1 .byte 233,128,254,255,255 // jmpq 150a7 <_sk_load_tables_rgb_u16_be_sse41+0x38> .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 233,119,254,255,255 // jmpq 150a7 <_sk_load_tables_rgb_u16_be_sse41+0x38> HIDDEN _sk_byte_tables_sse41 .globl _sk_byte_tables_sse41 FUNCTION(_sk_byte_tables_sse41) _sk_byte_tables_sse41: .byte 85 // push %rbp .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,40,5,178,94,1,0 // movaps 0x15eb2(%rip),%xmm8 # 2b0f0 <_sk_srcover_rgba_8888_sse2_lowp+0xb1c> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,91,192 // cvtps2dq %xmm0,%xmm0 .byte 102,73,15,58,22,192,1 // pextrq $0x1,%xmm0,%r8 .byte 69,137,193 // mov %r8d,%r9d .byte 77,137,194 // mov %r8,%r10 .byte 73,193,234,32 // shr $0x20,%r10 .byte 102,73,15,126,192 // movq %xmm0,%r8 .byte 69,137,195 // mov %r8d,%r11d .byte 77,137,198 // mov %r8,%r14 .byte 73,193,238,32 // shr $0x20,%r14 .byte 72,139,24 // mov (%rax),%rbx .byte 76,139,64,8 // mov 0x8(%rax),%r8 .byte 70,15,182,52,51 // movzbl (%rbx,%r14,1),%r14d .byte 66,15,182,44,27 // movzbl (%rbx,%r11,1),%ebp .byte 102,15,110,197 // movd %ebp,%xmm0 .byte 102,65,15,58,32,198,1 // pinsrb $0x1,%r14d,%xmm0 .byte 66,15,182,44,11 // movzbl (%rbx,%r9,1),%ebp .byte 102,15,58,32,197,2 // pinsrb $0x2,%ebp,%xmm0 .byte 66,15,182,44,19 // movzbl (%rbx,%r10,1),%ebp .byte 102,15,58,32,197,3 // pinsrb $0x3,%ebp,%xmm0 .byte 102,15,56,49,192 // pmovzxbd %xmm0,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 68,15,40,13,104,95,1,0 // movaps 0x15f68(%rip),%xmm9 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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,205,1 // pextrq $0x1,%xmm1,%rbp .byte 65,137,233 // mov %ebp,%r9d .byte 72,193,237,32 // shr $0x20,%rbp .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 65,137,218 // mov %ebx,%r10d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,15,182,28,24 // movzbl (%r8,%rbx,1),%r11d .byte 67,15,182,28,16 // movzbl (%r8,%r10,1),%ebx .byte 102,15,110,203 // movd %ebx,%xmm1 .byte 102,65,15,58,32,203,1 // pinsrb $0x1,%r11d,%xmm1 .byte 67,15,182,28,8 // movzbl (%r8,%r9,1),%ebx .byte 102,15,58,32,203,2 // pinsrb $0x2,%ebx,%xmm1 .byte 65,15,182,44,40 // movzbl (%r8,%rbp,1),%ebp .byte 102,15,58,32,205,3 // pinsrb $0x3,%ebp,%xmm1 .byte 102,15,56,49,201 // pmovzxbd %xmm1,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,201 // mulps %xmm9,%xmm1 .byte 76,139,72,16 // mov 0x10(%rax),%r9 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,15,91,210 // cvtps2dq %xmm2,%xmm2 .byte 102,72,15,58,22,211,1 // pextrq $0x1,%xmm2,%rbx .byte 65,137,216 // mov %ebx,%r8d .byte 72,193,235,32 // shr $0x20,%rbx .byte 102,72,15,126,213 // movq %xmm2,%rbp .byte 65,137,234 // mov %ebp,%r10d .byte 72,193,237,32 // shr $0x20,%rbp .byte 69,15,182,28,41 // movzbl (%r9,%rbp,1),%r11d .byte 67,15,182,44,17 // movzbl (%r9,%r10,1),%ebp .byte 102,15,110,213 // movd %ebp,%xmm2 .byte 102,65,15,58,32,211,1 // pinsrb $0x1,%r11d,%xmm2 .byte 67,15,182,44,1 // movzbl (%r9,%r8,1),%ebp .byte 102,15,58,32,213,2 // pinsrb $0x2,%ebp,%xmm2 .byte 65,15,182,44,25 // movzbl (%r9,%rbx,1),%ebp .byte 102,15,58,32,213,3 // pinsrb $0x3,%ebp,%xmm2 .byte 102,15,56,49,210 // pmovzxbd %xmm2,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 65,15,89,209 // mulps %xmm9,%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,58,22,221,1 // pextrq $0x1,%xmm3,%rbp .byte 65,137,232 // mov %ebp,%r8d .byte 72,193,237,32 // shr $0x20,%rbp .byte 102,72,15,126,219 // movq %xmm3,%rbx .byte 65,137,217 // mov %ebx,%r9d .byte 72,193,235,32 // shr $0x20,%rbx .byte 68,15,182,20,24 // movzbl (%rax,%rbx,1),%r10d .byte 66,15,182,28,8 // movzbl (%rax,%r9,1),%ebx .byte 102,15,110,219 // movd %ebx,%xmm3 .byte 102,65,15,58,32,218,1 // pinsrb $0x1,%r10d,%xmm3 .byte 66,15,182,28,0 // movzbl (%rax,%r8,1),%ebx .byte 102,15,58,32,219,2 // pinsrb $0x2,%ebx,%xmm3 .byte 15,182,4,40 // movzbl (%rax,%rbp,1),%eax .byte 102,15,58,32,216,3 // pinsrb $0x3,%eax,%xmm3 .byte 102,15,56,49,219 // pmovzxbd %xmm3,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 65,15,89,217 // mulps %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_byte_tables_rgb_sse41 .globl _sk_byte_tables_rgb_sse41 FUNCTION(_sk_byte_tables_rgb_sse41) _sk_byte_tables_rgb_sse41: .byte 85 // push %rbp .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,139,64,24 // mov 0x18(%rax),%r8d .byte 65,255,200 // dec %r8d .byte 102,69,15,110,192 // movd %r8d,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,91,192 // cvtps2dq %xmm0,%xmm0 .byte 102,73,15,58,22,192,1 // pextrq $0x1,%xmm0,%r8 .byte 69,137,193 // mov %r8d,%r9d .byte 77,137,194 // mov %r8,%r10 .byte 73,193,234,32 // shr $0x20,%r10 .byte 102,73,15,126,192 // movq %xmm0,%r8 .byte 69,137,195 // mov %r8d,%r11d .byte 77,137,198 // mov %r8,%r14 .byte 73,193,238,32 // shr $0x20,%r14 .byte 72,139,24 // mov (%rax),%rbx .byte 76,139,64,8 // mov 0x8(%rax),%r8 .byte 70,15,182,52,51 // movzbl (%rbx,%r14,1),%r14d .byte 66,15,182,44,27 // movzbl (%rbx,%r11,1),%ebp .byte 102,15,110,197 // movd %ebp,%xmm0 .byte 102,65,15,58,32,198,1 // pinsrb $0x1,%r14d,%xmm0 .byte 66,15,182,44,11 // movzbl (%rbx,%r9,1),%ebp .byte 102,15,58,32,197,2 // pinsrb $0x2,%ebp,%xmm0 .byte 66,15,182,44,19 // movzbl (%rbx,%r10,1),%ebp .byte 102,15,58,32,197,3 // pinsrb $0x3,%ebp,%xmm0 .byte 102,15,56,49,192 // pmovzxbd %xmm0,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 68,15,40,13,196,93,1,0 // movaps 0x15dc4(%rip),%xmm9 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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,205,1 // pextrq $0x1,%xmm1,%rbp .byte 65,137,233 // mov %ebp,%r9d .byte 72,193,237,32 // shr $0x20,%rbp .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 65,137,218 // mov %ebx,%r10d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,15,182,28,24 // movzbl (%r8,%rbx,1),%r11d .byte 67,15,182,28,16 // movzbl (%r8,%r10,1),%ebx .byte 102,15,110,203 // movd %ebx,%xmm1 .byte 102,65,15,58,32,203,1 // pinsrb $0x1,%r11d,%xmm1 .byte 67,15,182,28,8 // movzbl (%r8,%r9,1),%ebx .byte 102,15,58,32,203,2 // pinsrb $0x2,%ebx,%xmm1 .byte 65,15,182,44,40 // movzbl (%r8,%rbp,1),%ebp .byte 102,15,58,32,205,3 // pinsrb $0x3,%ebp,%xmm1 .byte 102,15,56,49,201 // pmovzxbd %xmm1,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,201 // mulps %xmm9,%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,58,22,213,1 // pextrq $0x1,%xmm2,%rbp .byte 65,137,232 // mov %ebp,%r8d .byte 72,193,237,32 // shr $0x20,%rbp .byte 102,72,15,126,211 // movq %xmm2,%rbx .byte 65,137,217 // mov %ebx,%r9d .byte 72,193,235,32 // shr $0x20,%rbx .byte 68,15,182,20,24 // movzbl (%rax,%rbx,1),%r10d .byte 66,15,182,28,8 // movzbl (%rax,%r9,1),%ebx .byte 102,15,110,211 // movd %ebx,%xmm2 .byte 102,65,15,58,32,210,1 // pinsrb $0x1,%r10d,%xmm2 .byte 66,15,182,28,0 // movzbl (%rax,%r8,1),%ebx .byte 102,15,58,32,211,2 // pinsrb $0x2,%ebx,%xmm2 .byte 15,182,4,40 // movzbl (%rax,%rbp,1),%eax .byte 102,15,58,32,208,3 // pinsrb $0x3,%eax,%xmm2 .byte 102,15,56,49,210 // pmovzxbd %xmm2,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 65,15,89,209 // mulps %xmm9,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_table_r_sse41 .globl _sk_table_r_sse41 FUNCTION(_sk_table_r_sse41) _sk_table_r_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,194 // movq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 243,67,15,16,4,152 // movss (%r8,%r11,4),%xmm0 .byte 102,67,15,58,33,4,144,16 // insertps $0x10,(%r8,%r10,4),%xmm0 .byte 243,71,15,16,4,136 // movss (%r8,%r9,4),%xmm8 .byte 102,65,15,58,33,192,32 // insertps $0x20,%xmm8,%xmm0 .byte 243,69,15,16,4,128 // movss (%r8,%rax,4),%xmm8 .byte 102,65,15,58,33,192,48 // insertps $0x30,%xmm8,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_table_g_sse41 .globl _sk_table_g_sse41 FUNCTION(_sk_table_g_sse41) _sk_table_g_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,202 // movq %xmm1,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 243,67,15,16,12,152 // movss (%r8,%r11,4),%xmm1 .byte 102,67,15,58,33,12,144,16 // insertps $0x10,(%r8,%r10,4),%xmm1 .byte 243,71,15,16,4,136 // movss (%r8,%r9,4),%xmm8 .byte 102,65,15,58,33,200,32 // insertps $0x20,%xmm8,%xmm1 .byte 243,69,15,16,4,128 // movss (%r8,%rax,4),%xmm8 .byte 102,65,15,58,33,200,48 // insertps $0x30,%xmm8,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_table_b_sse41 .globl _sk_table_b_sse41 FUNCTION(_sk_table_b_sse41) _sk_table_b_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,210 // movq %xmm2,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 243,67,15,16,20,152 // movss (%r8,%r11,4),%xmm2 .byte 102,67,15,58,33,20,144,16 // insertps $0x10,(%r8,%r10,4),%xmm2 .byte 243,71,15,16,4,136 // movss (%r8,%r9,4),%xmm8 .byte 102,65,15,58,33,208,32 // insertps $0x20,%xmm8,%xmm2 .byte 243,69,15,16,4,128 // movss (%r8,%rax,4),%xmm8 .byte 102,65,15,58,33,208,48 // insertps $0x30,%xmm8,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_table_a_sse41 .globl _sk_table_a_sse41 FUNCTION(_sk_table_a_sse41) _sk_table_a_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,218 // movq %xmm3,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 243,67,15,16,28,152 // movss (%r8,%r11,4),%xmm3 .byte 102,67,15,58,33,28,144,16 // insertps $0x10,(%r8,%r10,4),%xmm3 .byte 243,71,15,16,4,136 // movss (%r8,%r9,4),%xmm8 .byte 102,65,15,58,33,216,32 // insertps $0x20,%xmm8,%xmm3 .byte 243,69,15,16,4,128 // movss (%r8,%rax,4),%xmm8 .byte 102,65,15,58,33,216,48 // insertps $0x30,%xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_r_sse41 .globl _sk_parametric_r_sse41 FUNCTION(_sk_parametric_r_sse41) _sk_parametric_r_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,64,16 // movss 0x10(%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 243,68,15,16,72,12 // movss 0xc(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 68,15,89,200 // mulps %xmm0,%xmm9 .byte 243,68,15,16,80,4 // movss 0x4(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 68,15,89,208 // mulps %xmm0,%xmm10 .byte 65,15,194,192,2 // cmpleps %xmm8,%xmm0 .byte 243,68,15,16,64,24 // movss 0x18(%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 69,15,88,200 // addps %xmm8,%xmm9 .byte 243,68,15,16,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,159,91,1,0 // mulps 0x15b9f(%rip),%xmm8 # 2b2b0 <_sk_srcover_rgba_8888_sse2_lowp+0xcdc> .byte 68,15,84,21,167,91,1,0 // andps 0x15ba7(%rip),%xmm10 # 2b2c0 <_sk_srcover_rgba_8888_sse2_lowp+0xcec> .byte 68,15,86,21,223,88,1,0 // orps 0x158df(%rip),%xmm10 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 68,15,88,5,167,91,1,0 // addps 0x15ba7(%rip),%xmm8 # 2b2d0 <_sk_srcover_rgba_8888_sse2_lowp+0xcfc> .byte 68,15,40,37,175,91,1,0 // movaps 0x15baf(%rip),%xmm12 # 2b2e0 <_sk_srcover_rgba_8888_sse2_lowp+0xd0c> .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,92,196 // subps %xmm12,%xmm8 .byte 68,15,88,21,175,91,1,0 // addps 0x15baf(%rip),%xmm10 # 2b2f0 <_sk_srcover_rgba_8888_sse2_lowp+0xd1c> .byte 68,15,40,37,183,91,1,0 // movaps 0x15bb7(%rip),%xmm12 # 2b300 <_sk_srcover_rgba_8888_sse2_lowp+0xd2c> .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,164,91,1,0 // addps 0x15ba4(%rip),%xmm8 # 2b310 <_sk_srcover_rgba_8888_sse2_lowp+0xd3c> .byte 68,15,40,21,172,91,1,0 // movaps 0x15bac(%rip),%xmm10 # 2b320 <_sk_srcover_rgba_8888_sse2_lowp+0xd4c> .byte 69,15,89,211 // mulps %xmm11,%xmm10 .byte 69,15,92,194 // subps %xmm10,%xmm8 .byte 68,15,40,21,172,91,1,0 // movaps 0x15bac(%rip),%xmm10 # 2b330 <_sk_srcover_rgba_8888_sse2_lowp+0xd5c> .byte 69,15,92,211 // subps %xmm11,%xmm10 .byte 68,15,40,29,176,91,1,0 // movaps 0x15bb0(%rip),%xmm11 # 2b340 <_sk_srcover_rgba_8888_sse2_lowp+0xd6c> .byte 69,15,94,218 // divps %xmm10,%xmm11 .byte 69,15,88,216 // addps %xmm8,%xmm11 .byte 68,15,89,29,176,91,1,0 // mulps 0x15bb0(%rip),%xmm11 # 2b350 <_sk_srcover_rgba_8888_sse2_lowp+0xd7c> .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,71,88,1,0 // minps 0x15847(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,120,90,1,0 // mulps 0x15a78(%rip),%xmm12 # 2b2b0 <_sk_srcover_rgba_8888_sse2_lowp+0xcdc> .byte 68,15,84,29,128,90,1,0 // andps 0x15a80(%rip),%xmm11 # 2b2c0 <_sk_srcover_rgba_8888_sse2_lowp+0xcec> .byte 68,15,86,29,184,87,1,0 // orps 0x157b8(%rip),%xmm11 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 68,15,88,37,128,90,1,0 // addps 0x15a80(%rip),%xmm12 # 2b2d0 <_sk_srcover_rgba_8888_sse2_lowp+0xcfc> .byte 15,40,13,137,90,1,0 // movaps 0x15a89(%rip),%xmm1 # 2b2e0 <_sk_srcover_rgba_8888_sse2_lowp+0xd0c> .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 68,15,92,225 // subps %xmm1,%xmm12 .byte 68,15,88,29,137,90,1,0 // addps 0x15a89(%rip),%xmm11 # 2b2f0 <_sk_srcover_rgba_8888_sse2_lowp+0xd1c> .byte 15,40,13,146,90,1,0 // movaps 0x15a92(%rip),%xmm1 # 2b300 <_sk_srcover_rgba_8888_sse2_lowp+0xd2c> .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,127,90,1,0 // addps 0x15a7f(%rip),%xmm12 # 2b310 <_sk_srcover_rgba_8888_sse2_lowp+0xd3c> .byte 15,40,13,136,90,1,0 // movaps 0x15a88(%rip),%xmm1 # 2b320 <_sk_srcover_rgba_8888_sse2_lowp+0xd4c> .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 68,15,92,225 // subps %xmm1,%xmm12 .byte 68,15,40,21,136,90,1,0 // movaps 0x15a88(%rip),%xmm10 # 2b330 <_sk_srcover_rgba_8888_sse2_lowp+0xd5c> .byte 69,15,92,211 // subps %xmm11,%xmm10 .byte 15,40,13,141,90,1,0 // movaps 0x15a8d(%rip),%xmm1 # 2b340 <_sk_srcover_rgba_8888_sse2_lowp+0xd6c> .byte 65,15,94,202 // divps %xmm10,%xmm1 .byte 65,15,88,204 // addps %xmm12,%xmm1 .byte 15,89,13,142,90,1,0 // mulps 0x15a8e(%rip),%xmm1 # 2b350 <_sk_srcover_rgba_8888_sse2_lowp+0xd7c> .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,41,87,1,0 // minps 0x15729(%rip),%xmm1 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,90,89,1,0 // mulps 0x1595a(%rip),%xmm12 # 2b2b0 <_sk_srcover_rgba_8888_sse2_lowp+0xcdc> .byte 68,15,84,29,98,89,1,0 // andps 0x15962(%rip),%xmm11 # 2b2c0 <_sk_srcover_rgba_8888_sse2_lowp+0xcec> .byte 68,15,86,29,154,86,1,0 // orps 0x1569a(%rip),%xmm11 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 68,15,88,37,98,89,1,0 // addps 0x15962(%rip),%xmm12 # 2b2d0 <_sk_srcover_rgba_8888_sse2_lowp+0xcfc> .byte 15,40,21,107,89,1,0 // movaps 0x1596b(%rip),%xmm2 # 2b2e0 <_sk_srcover_rgba_8888_sse2_lowp+0xd0c> .byte 65,15,89,211 // mulps %xmm11,%xmm2 .byte 68,15,92,226 // subps %xmm2,%xmm12 .byte 68,15,88,29,107,89,1,0 // addps 0x1596b(%rip),%xmm11 # 2b2f0 <_sk_srcover_rgba_8888_sse2_lowp+0xd1c> .byte 15,40,21,116,89,1,0 // movaps 0x15974(%rip),%xmm2 # 2b300 <_sk_srcover_rgba_8888_sse2_lowp+0xd2c> .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,97,89,1,0 // addps 0x15961(%rip),%xmm12 # 2b310 <_sk_srcover_rgba_8888_sse2_lowp+0xd3c> .byte 15,40,21,106,89,1,0 // movaps 0x1596a(%rip),%xmm2 # 2b320 <_sk_srcover_rgba_8888_sse2_lowp+0xd4c> .byte 65,15,89,211 // mulps %xmm11,%xmm2 .byte 68,15,92,226 // subps %xmm2,%xmm12 .byte 68,15,40,21,106,89,1,0 // movaps 0x1596a(%rip),%xmm10 # 2b330 <_sk_srcover_rgba_8888_sse2_lowp+0xd5c> .byte 69,15,92,211 // subps %xmm11,%xmm10 .byte 15,40,21,111,89,1,0 // movaps 0x1596f(%rip),%xmm2 # 2b340 <_sk_srcover_rgba_8888_sse2_lowp+0xd6c> .byte 65,15,94,210 // divps %xmm10,%xmm2 .byte 65,15,88,212 // addps %xmm12,%xmm2 .byte 15,89,21,112,89,1,0 // mulps 0x15970(%rip),%xmm2 # 2b350 <_sk_srcover_rgba_8888_sse2_lowp+0xd7c> .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,11,86,1,0 // minps 0x1560b(%rip),%xmm2 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,60,88,1,0 // mulps 0x1583c(%rip),%xmm12 # 2b2b0 <_sk_srcover_rgba_8888_sse2_lowp+0xcdc> .byte 68,15,84,29,68,88,1,0 // andps 0x15844(%rip),%xmm11 # 2b2c0 <_sk_srcover_rgba_8888_sse2_lowp+0xcec> .byte 68,15,86,29,124,85,1,0 // orps 0x1557c(%rip),%xmm11 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 68,15,88,37,68,88,1,0 // addps 0x15844(%rip),%xmm12 # 2b2d0 <_sk_srcover_rgba_8888_sse2_lowp+0xcfc> .byte 15,40,29,77,88,1,0 // movaps 0x1584d(%rip),%xmm3 # 2b2e0 <_sk_srcover_rgba_8888_sse2_lowp+0xd0c> .byte 65,15,89,219 // mulps %xmm11,%xmm3 .byte 68,15,92,227 // subps %xmm3,%xmm12 .byte 68,15,88,29,77,88,1,0 // addps 0x1584d(%rip),%xmm11 # 2b2f0 <_sk_srcover_rgba_8888_sse2_lowp+0xd1c> .byte 15,40,29,86,88,1,0 // movaps 0x15856(%rip),%xmm3 # 2b300 <_sk_srcover_rgba_8888_sse2_lowp+0xd2c> .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,67,88,1,0 // addps 0x15843(%rip),%xmm12 # 2b310 <_sk_srcover_rgba_8888_sse2_lowp+0xd3c> .byte 15,40,29,76,88,1,0 // movaps 0x1584c(%rip),%xmm3 # 2b320 <_sk_srcover_rgba_8888_sse2_lowp+0xd4c> .byte 65,15,89,219 // mulps %xmm11,%xmm3 .byte 68,15,92,227 // subps %xmm3,%xmm12 .byte 68,15,40,21,76,88,1,0 // movaps 0x1584c(%rip),%xmm10 # 2b330 <_sk_srcover_rgba_8888_sse2_lowp+0xd5c> .byte 69,15,92,211 // subps %xmm11,%xmm10 .byte 15,40,29,81,88,1,0 // movaps 0x15851(%rip),%xmm3 # 2b340 <_sk_srcover_rgba_8888_sse2_lowp+0xd6c> .byte 65,15,94,218 // divps %xmm10,%xmm3 .byte 65,15,88,220 // addps %xmm12,%xmm3 .byte 15,89,29,82,88,1,0 // mulps 0x15852(%rip),%xmm3 # 2b350 <_sk_srcover_rgba_8888_sse2_lowp+0xd7c> .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,237,84,1,0 // minps 0x154ed(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_gamma_sse41 .globl _sk_gamma_sse41 FUNCTION(_sk_gamma_sse41) _sk_gamma_sse41: .byte 15,41,124,36,232 // movaps %xmm7,-0x18(%rsp) .byte 15,41,116,36,216 // movaps %xmm6,-0x28(%rsp) .byte 15,41,108,36,200 // movaps %xmm5,-0x38(%rsp) .byte 15,41,100,36,184 // movaps %xmm4,-0x48(%rsp) .byte 15,41,92,36,168 // movaps %xmm3,-0x58(%rsp) .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,91,194 // cvtdq2ps %xmm2,%xmm0 .byte 15,89,5,92,87,1,0 // mulps 0x1575c(%rip),%xmm0 # 2b2b0 <_sk_srcover_rgba_8888_sse2_lowp+0xcdc> .byte 68,15,40,53,100,87,1,0 // movaps 0x15764(%rip),%xmm14 # 2b2c0 <_sk_srcover_rgba_8888_sse2_lowp+0xcec> .byte 65,15,84,214 // andps %xmm14,%xmm2 .byte 68,15,40,37,152,84,1,0 // movaps 0x15498(%rip),%xmm12 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 65,15,86,212 // orps %xmm12,%xmm2 .byte 68,15,40,21,92,87,1,0 // movaps 0x1575c(%rip),%xmm10 # 2b2d0 <_sk_srcover_rgba_8888_sse2_lowp+0xcfc> .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 68,15,40,29,96,87,1,0 // movaps 0x15760(%rip),%xmm11 # 2b2e0 <_sk_srcover_rgba_8888_sse2_lowp+0xd0c> .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 65,15,89,227 // mulps %xmm11,%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 68,15,40,13,94,87,1,0 // movaps 0x1575e(%rip),%xmm9 # 2b2f0 <_sk_srcover_rgba_8888_sse2_lowp+0xd1c> .byte 65,15,88,209 // addps %xmm9,%xmm2 .byte 68,15,40,45,98,87,1,0 // movaps 0x15762(%rip),%xmm13 # 2b300 <_sk_srcover_rgba_8888_sse2_lowp+0xd2c> .byte 65,15,40,229 // movaps %xmm13,%xmm4 .byte 15,94,226 // divps %xmm2,%xmm4 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,92,196 // subps %xmm4,%xmm0 .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 102,15,58,8,208,1 // roundps $0x1,%xmm0,%xmm2 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 15,40,53,69,87,1,0 // movaps 0x15745(%rip),%xmm6 # 2b310 <_sk_srcover_rgba_8888_sse2_lowp+0xd3c> .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,40,61,91,87,1,0 // movaps 0x1575b(%rip),%xmm7 # 2b330 <_sk_srcover_rgba_8888_sse2_lowp+0xd5c> .byte 15,40,239 // movaps %xmm7,%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 15,40,37,59,87,1,0 // movaps 0x1573b(%rip),%xmm4 # 2b320 <_sk_srcover_rgba_8888_sse2_lowp+0xd4c> .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,92,194 // subps %xmm2,%xmm0 .byte 68,15,40,61,77,87,1,0 // movaps 0x1574d(%rip),%xmm15 # 2b340 <_sk_srcover_rgba_8888_sse2_lowp+0xd6c> .byte 65,15,40,215 // movaps %xmm15,%xmm2 .byte 15,94,213 // divps %xmm5,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 15,91,193 // cvtdq2ps %xmm1,%xmm0 .byte 15,89,5,169,86,1,0 // mulps 0x156a9(%rip),%xmm0 # 2b2b0 <_sk_srcover_rgba_8888_sse2_lowp+0xcdc> .byte 65,15,84,206 // andps %xmm14,%xmm1 .byte 65,15,86,204 // orps %xmm12,%xmm1 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 65,15,89,235 // mulps %xmm11,%xmm5 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 65,15,88,201 // addps %xmm9,%xmm1 .byte 69,15,40,241 // movaps %xmm9,%xmm14 .byte 65,15,40,237 // movaps %xmm13,%xmm5 .byte 15,94,233 // divps %xmm1,%xmm5 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,58,8,200,1 // roundps $0x1,%xmm0,%xmm1 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 68,15,40,206 // movaps %xmm6,%xmm9 .byte 15,40,247 // movaps %xmm7,%xmm6 .byte 15,92,245 // subps %xmm5,%xmm6 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 65,15,40,207 // movaps %xmm15,%xmm1 .byte 15,94,206 // divps %xmm6,%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,91,195 // cvtdq2ps %xmm3,%xmm0 .byte 15,89,5,74,86,1,0 // mulps 0x1564a(%rip),%xmm0 # 2b2b0 <_sk_srcover_rgba_8888_sse2_lowp+0xcdc> .byte 15,84,29,83,86,1,0 // andps 0x15653(%rip),%xmm3 # 2b2c0 <_sk_srcover_rgba_8888_sse2_lowp+0xcec> .byte 65,15,86,220 // orps %xmm12,%xmm3 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 68,15,89,219 // mulps %xmm3,%xmm11 .byte 65,15,92,195 // subps %xmm11,%xmm0 .byte 65,15,88,222 // addps %xmm14,%xmm3 .byte 68,15,94,235 // divps %xmm3,%xmm13 .byte 65,15,92,197 // subps %xmm13,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,58,8,216,1 // roundps $0x1,%xmm0,%xmm3 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,92,235 // subps %xmm3,%xmm5 .byte 65,15,88,193 // addps %xmm9,%xmm0 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,92,253 // subps %xmm5,%xmm7 .byte 68,15,94,255 // divps %xmm7,%xmm15 .byte 68,15,88,248 // addps %xmm0,%xmm15 .byte 15,40,5,155,86,1,0 // movaps 0x1569b(%rip),%xmm0 # 2b350 <_sk_srcover_rgba_8888_sse2_lowp+0xd7c> .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 68,15,89,248 // mulps %xmm0,%xmm15 .byte 102,15,91,194 // cvtps2dq %xmm2,%xmm0 .byte 102,15,91,201 // cvtps2dq %xmm1,%xmm1 .byte 102,65,15,91,215 // cvtps2dq %xmm15,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .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_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,107,86,1,0 // mulps 0x1566b(%rip),%xmm8 # 2b360 <_sk_srcover_rgba_8888_sse2_lowp+0xd8c> .byte 68,15,40,13,243,83,1,0 // movaps 0x153f3(%rip),%xmm9 # 2b0f0 <_sk_srcover_rgba_8888_sse2_lowp+0xb1c> .byte 65,15,89,201 // mulps %xmm9,%xmm1 .byte 15,40,5,104,86,1,0 // movaps 0x15668(%rip),%xmm0 # 2b370 <_sk_srcover_rgba_8888_sse2_lowp+0xd9c> .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,102,86,1,0 // addps 0x15666(%rip),%xmm8 # 2b380 <_sk_srcover_rgba_8888_sse2_lowp+0xdac> .byte 68,15,89,5,110,86,1,0 // mulps 0x1566e(%rip),%xmm8 # 2b390 <_sk_srcover_rgba_8888_sse2_lowp+0xdbc> .byte 15,89,13,119,86,1,0 // mulps 0x15677(%rip),%xmm1 # 2b3a0 <_sk_srcover_rgba_8888_sse2_lowp+0xdcc> .byte 65,15,88,200 // addps %xmm8,%xmm1 .byte 15,89,21,124,86,1,0 // mulps 0x1567c(%rip),%xmm2 # 2b3b0 <_sk_srcover_rgba_8888_sse2_lowp+0xddc> .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,112,86,1,0 // movaps 0x15670(%rip),%xmm9 # 2b3c0 <_sk_srcover_rgba_8888_sse2_lowp+0xdec> .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,194,195,1 // cmpltps %xmm11,%xmm0 .byte 15,40,21,112,86,1,0 // movaps 0x15670(%rip),%xmm2 # 2b3d0 <_sk_srcover_rgba_8888_sse2_lowp+0xdfc> .byte 15,88,202 // addps %xmm2,%xmm1 .byte 68,15,40,37,117,86,1,0 // movaps 0x15675(%rip),%xmm12 # 2b3e0 <_sk_srcover_rgba_8888_sse2_lowp+0xe0c> .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,46,86,1,0 // mulps 0x1562e(%rip),%xmm1 # 2b3f0 <_sk_srcover_rgba_8888_sse2_lowp+0xe1c> .byte 15,89,21,55,86,1,0 // mulps 0x15637(%rip),%xmm2 # 2b400 <_sk_srcover_rgba_8888_sse2_lowp+0xe2c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 255,224 // jmpq *%rax HIDDEN _sk_load_a8_sse41 .globl _sk_load_a8_sse41 FUNCTION(_sk_load_a8_sse41) _sk_load_a8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,39 // jne 15e13 <_sk_load_a8_sse41+0x3f> .byte 102,67,15,56,49,4,16 // pmovzxbd (%r8,%r10,1),%xmm0 .byte 102,15,219,5,197,82,1,0 // pand 0x152c5(%rip),%xmm0 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 15,91,216 // cvtdq2ps %xmm0,%xmm3 .byte 15,89,29,11,84,1,0 // mulps 0x1540b(%rip),%xmm3 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 15e55 <_sk_load_a8_sse41+0x81> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 15e3f <_sk_load_a8_sse41+0x6b> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,195 // jne 15df3 <_sk_load_a8_sse41+0x1f> .byte 67,15,182,68,16,2 // movzbl 0x2(%r8,%r10,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,192,69 // pshufd $0x45,%xmm0,%xmm0 .byte 67,15,183,4,16 // movzwl (%r8,%r10,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 15df3 <_sk_load_a8_sse41+0x1f> .byte 67,15,182,4,16 // movzbl (%r8,%r10,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 235,147 // jmp 15df3 <_sk_load_a8_sse41+0x1f> HIDDEN _sk_load_a8_dst_sse41 .globl _sk_load_a8_dst_sse41 FUNCTION(_sk_load_a8_dst_sse41) _sk_load_a8_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,39 // jne 15e9f <_sk_load_a8_dst_sse41+0x3f> .byte 102,67,15,56,49,36,16 // pmovzxbd (%r8,%r10,1),%xmm4 .byte 102,15,219,37,57,82,1,0 // pand 0x15239(%rip),%xmm4 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 15,91,252 // cvtdq2ps %xmm4,%xmm7 .byte 15,89,61,127,83,1,0 // mulps 0x1537f(%rip),%xmm7 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 15ee1 <_sk_load_a8_dst_sse41+0x81> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 15ecb <_sk_load_a8_dst_sse41+0x6b> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,195 // jne 15e7f <_sk_load_a8_dst_sse41+0x1f> .byte 67,15,182,68,16,2 // movzbl 0x2(%r8,%r10,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 67,15,183,4,16 // movzwl (%r8,%r10,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 15e7f <_sk_load_a8_dst_sse41+0x1f> .byte 67,15,182,4,16 // movzbl (%r8,%r10,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 235,147 // jmp 15e7f <_sk_load_a8_dst_sse41+0x1f> HIDDEN _sk_gather_a8_sse41 .globl _sk_gather_a8_sse41 FUNCTION(_sk_gather_a8_sse41) _sk_gather_a8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,8 // movd 0x8(%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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,194 // movq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 71,15,182,28,24 // movzbl (%r8,%r11,1),%r11d .byte 102,65,15,110,195 // movd %r11d,%xmm0 .byte 102,65,15,58,32,194,1 // pinsrb $0x1,%r10d,%xmm0 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 102,65,15,58,32,193,2 // pinsrb $0x2,%r9d,%xmm0 .byte 65,15,182,4,0 // movzbl (%r8,%rax,1),%eax .byte 102,15,58,32,192,3 // pinsrb $0x3,%eax,%xmm0 .byte 102,15,56,49,192 // pmovzxbd %xmm0,%xmm0 .byte 15,91,216 // cvtdq2ps %xmm0,%xmm3 .byte 15,89,29,174,82,1,0 // mulps 0x152ae(%rip),%xmm3 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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 255,224 // jmpq *%rax HIDDEN _sk_store_a8_sse41 .globl _sk_store_a8_sse41 FUNCTION(_sk_store_a8_sse41) _sk_store_a8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 68,15,40,5,100,81,1,0 // movaps 0x15164(%rip),%xmm8 # 2b0f0 <_sk_srcover_rgba_8888_sse2_lowp+0xb1c> .byte 68,15,89,195 // mulps %xmm3,%xmm8 .byte 102,69,15,91,192 // cvtps2dq %xmm8,%xmm8 .byte 102,68,15,56,43,192 // packusdw %xmm0,%xmm8 .byte 102,68,15,103,192 // packuswb %xmm0,%xmm8 .byte 72,133,255 // test %rdi,%rdi .byte 117,13 // jne 15fb2 <_sk_store_a8_sse41+0x41> .byte 102,68,15,126,192 // movd %xmm8,%eax .byte 67,137,4,16 // mov %eax,(%r8,%r10,1) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,56,49,192 // pmovzxbd %xmm8,%xmm8 .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,41 // je 15fee <_sk_store_a8_sse41+0x7d> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,15 // je 15fda <_sk_store_a8_sse41+0x69> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,221 // jne 15fae <_sk_store_a8_sse41+0x3d> .byte 102,71,15,58,20,68,16,2,8 // pextrb $0x8,%xmm8,0x2(%r8,%r10,1) .byte 102,68,15,56,0,5,44,84,1,0 // pshufb 0x1542c(%rip),%xmm8 # 2b410 <_sk_srcover_rgba_8888_sse2_lowp+0xe3c> .byte 102,71,15,58,21,4,16,0 // pextrw $0x0,%xmm8,(%r8,%r10,1) .byte 235,192 // jmp 15fae <_sk_store_a8_sse41+0x3d> .byte 102,71,15,58,20,4,16,0 // pextrb $0x0,%xmm8,(%r8,%r10,1) .byte 235,182 // jmp 15fae <_sk_store_a8_sse41+0x3d> HIDDEN _sk_load_g8_sse41 .globl _sk_load_g8_sse41 FUNCTION(_sk_load_g8_sse41) _sk_load_g8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,42 // jne 1603a <_sk_load_g8_sse41+0x42> .byte 102,67,15,56,49,4,16 // pmovzxbd (%r8,%r10,1),%xmm0 .byte 102,15,219,5,161,80,1,0 // pand 0x150a1(%rip),%xmm0 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,231,81,1,0 // mulps 0x151e7(%rip),%xmm0 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,222,79,1,0 // movaps 0x14fde(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 1607c <_sk_load_g8_sse41+0x84> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 16066 <_sk_load_g8_sse41+0x6e> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,192 // jne 16017 <_sk_load_g8_sse41+0x1f> .byte 67,15,182,68,16,2 // movzbl 0x2(%r8,%r10,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,192,69 // pshufd $0x45,%xmm0,%xmm0 .byte 67,15,183,4,16 // movzwl (%r8,%r10,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 16017 <_sk_load_g8_sse41+0x1f> .byte 67,15,182,4,16 // movzbl (%r8,%r10,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 235,144 // jmp 16017 <_sk_load_g8_sse41+0x1f> HIDDEN _sk_load_g8_dst_sse41 .globl _sk_load_g8_dst_sse41 FUNCTION(_sk_load_g8_dst_sse41) _sk_load_g8_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,42 // jne 160c9 <_sk_load_g8_dst_sse41+0x42> .byte 102,67,15,56,49,36,16 // pmovzxbd (%r8,%r10,1),%xmm4 .byte 102,15,219,37,18,80,1,0 // pand 0x15012(%rip),%xmm4 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,37,88,81,1,0 // mulps 0x15158(%rip),%xmm4 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,61,79,79,1,0 // movaps 0x14f4f(%rip),%xmm7 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,40,244 // movaps %xmm4,%xmm6 .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 1610b <_sk_load_g8_dst_sse41+0x84> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 160f5 <_sk_load_g8_dst_sse41+0x6e> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,192 // jne 160a6 <_sk_load_g8_dst_sse41+0x1f> .byte 67,15,182,68,16,2 // movzbl 0x2(%r8,%r10,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 67,15,183,4,16 // movzwl (%r8,%r10,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 160a6 <_sk_load_g8_dst_sse41+0x1f> .byte 67,15,182,4,16 // movzbl (%r8,%r10,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 235,144 // jmp 160a6 <_sk_load_g8_dst_sse41+0x1f> HIDDEN _sk_gather_g8_sse41 .globl _sk_gather_g8_sse41 FUNCTION(_sk_gather_g8_sse41) _sk_gather_g8_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,8 // movd 0x8(%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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,194 // movq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 71,15,182,28,24 // movzbl (%r8,%r11,1),%r11d .byte 102,65,15,110,195 // movd %r11d,%xmm0 .byte 102,65,15,58,32,194,1 // pinsrb $0x1,%r10d,%xmm0 .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 102,65,15,58,32,193,2 // pinsrb $0x2,%r9d,%xmm0 .byte 65,15,182,4,0 // movzbl (%r8,%rax,1),%eax .byte 102,15,58,32,192,3 // pinsrb $0x3,%eax,%xmm0 .byte 102,15,56,49,192 // pmovzxbd %xmm0,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,132,80,1,0 // mulps 0x15084(%rip),%xmm0 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,123,78,1,0 // movaps 0x14e7b(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_load_565_sse41 .globl _sk_load_565_sse41 FUNCTION(_sk_load_565_sse41) _sk_load_565_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,80 // jne 16208 <_sk_load_565_sse41+0x6b> .byte 102,67,15,56,51,20,80 // pmovzxwd (%r8,%r10,2),%xmm2 .byte 102,15,111,5,89,80,1,0 // movdqa 0x15059(%rip),%xmm0 # 2b220 <_sk_srcover_rgba_8888_sse2_lowp+0xc4c> .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,91,80,1,0 // mulps 0x1505b(%rip),%xmm0 # 2b230 <_sk_srcover_rgba_8888_sse2_lowp+0xc5c> .byte 102,15,111,13,99,80,1,0 // movdqa 0x15063(%rip),%xmm1 # 2b240 <_sk_srcover_rgba_8888_sse2_lowp+0xc6c> .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,101,80,1,0 // mulps 0x15065(%rip),%xmm1 # 2b250 <_sk_srcover_rgba_8888_sse2_lowp+0xc7c> .byte 102,15,219,21,109,80,1,0 // pand 0x1506d(%rip),%xmm2 # 2b260 <_sk_srcover_rgba_8888_sse2_lowp+0xc8c> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,115,80,1,0 // mulps 0x15073(%rip),%xmm2 # 2b270 <_sk_srcover_rgba_8888_sse2_lowp+0xc9c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,10,78,1,0 // movaps 0x14e0a(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 1624a <_sk_load_565_sse41+0xad> .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 16234 <_sk_load_565_sse41+0x97> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,154 // jne 161bf <_sk_load_565_sse41+0x22> .byte 67,15,183,68,80,4 // movzwl 0x4(%r8,%r10,2),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,208,69 // pshufd $0x45,%xmm0,%xmm2 .byte 102,67,15,110,4,80 // movd (%r8,%r10,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 161bf <_sk_load_565_sse41+0x22> .byte 67,15,183,4,80 // movzwl (%r8,%r10,2),%eax .byte 102,15,110,208 // movd %eax,%xmm2 .byte 233,103,255,255,255 // jmpq 161bf <_sk_load_565_sse41+0x22> HIDDEN _sk_load_565_dst_sse41 .globl _sk_load_565_dst_sse41 FUNCTION(_sk_load_565_dst_sse41) _sk_load_565_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,80 // jne 162c3 <_sk_load_565_dst_sse41+0x6b> .byte 102,67,15,56,51,52,80 // pmovzxwd (%r8,%r10,2),%xmm6 .byte 102,15,111,37,158,79,1,0 // movdqa 0x14f9e(%rip),%xmm4 # 2b220 <_sk_srcover_rgba_8888_sse2_lowp+0xc4c> .byte 102,15,219,230 // pand %xmm6,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,37,160,79,1,0 // mulps 0x14fa0(%rip),%xmm4 # 2b230 <_sk_srcover_rgba_8888_sse2_lowp+0xc5c> .byte 102,15,111,45,168,79,1,0 // movdqa 0x14fa8(%rip),%xmm5 # 2b240 <_sk_srcover_rgba_8888_sse2_lowp+0xc6c> .byte 102,15,219,238 // pand %xmm6,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,45,170,79,1,0 // mulps 0x14faa(%rip),%xmm5 # 2b250 <_sk_srcover_rgba_8888_sse2_lowp+0xc7c> .byte 102,15,219,53,178,79,1,0 // pand 0x14fb2(%rip),%xmm6 # 2b260 <_sk_srcover_rgba_8888_sse2_lowp+0xc8c> .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,89,53,184,79,1,0 // mulps 0x14fb8(%rip),%xmm6 # 2b270 <_sk_srcover_rgba_8888_sse2_lowp+0xc9c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,61,79,77,1,0 // movaps 0x14d4f(%rip),%xmm7 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 16305 <_sk_load_565_dst_sse41+0xad> .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 162ef <_sk_load_565_dst_sse41+0x97> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,154 // jne 1627a <_sk_load_565_dst_sse41+0x22> .byte 67,15,183,68,80,4 // movzwl 0x4(%r8,%r10,2),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,244,69 // pshufd $0x45,%xmm4,%xmm6 .byte 102,67,15,110,36,80 // movd (%r8,%r10,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 1627a <_sk_load_565_dst_sse41+0x22> .byte 67,15,183,4,80 // movzwl (%r8,%r10,2),%eax .byte 102,15,110,240 // movd %eax,%xmm6 .byte 233,103,255,255,255 // jmpq 1627a <_sk_load_565_dst_sse41+0x22> HIDDEN _sk_gather_565_sse41 .globl _sk_gather_565_sse41 FUNCTION(_sk_gather_565_sse41) _sk_gather_565_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,8 // movd 0x8(%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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,194 // movq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,183,20,80 // movzwl (%r8,%r10,2),%r10d .byte 71,15,183,28,88 // movzwl (%r8,%r11,2),%r11d .byte 102,65,15,110,195 // movd %r11d,%xmm0 .byte 102,65,15,196,194,1 // pinsrw $0x1,%r10d,%xmm0 .byte 71,15,183,12,72 // movzwl (%r8,%r9,2),%r9d .byte 102,65,15,196,193,2 // pinsrw $0x2,%r9d,%xmm0 .byte 65,15,183,4,64 // movzwl (%r8,%rax,2),%eax .byte 102,15,196,192,3 // pinsrw $0x3,%eax,%xmm0 .byte 102,15,56,51,208 // pmovzxwd %xmm0,%xmm2 .byte 102,15,111,5,156,78,1,0 // movdqa 0x14e9c(%rip),%xmm0 # 2b220 <_sk_srcover_rgba_8888_sse2_lowp+0xc4c> .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,158,78,1,0 // mulps 0x14e9e(%rip),%xmm0 # 2b230 <_sk_srcover_rgba_8888_sse2_lowp+0xc5c> .byte 102,15,111,13,166,78,1,0 // movdqa 0x14ea6(%rip),%xmm1 # 2b240 <_sk_srcover_rgba_8888_sse2_lowp+0xc6c> .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,168,78,1,0 // mulps 0x14ea8(%rip),%xmm1 # 2b250 <_sk_srcover_rgba_8888_sse2_lowp+0xc7c> .byte 102,15,219,21,176,78,1,0 // pand 0x14eb0(%rip),%xmm2 # 2b260 <_sk_srcover_rgba_8888_sse2_lowp+0xc8c> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,182,78,1,0 // mulps 0x14eb6(%rip),%xmm2 # 2b270 <_sk_srcover_rgba_8888_sse2_lowp+0xc9c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,77,76,1,0 // movaps 0x14c4d(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 255,224 // jmpq *%rax HIDDEN _sk_store_565_sse41 .globl _sk_store_565_sse41 FUNCTION(_sk_store_565_sse41) _sk_store_565_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 68,15,40,5,61,80,1,0 // movaps 0x1503d(%rip),%xmm8 # 2b420 <_sk_srcover_rgba_8888_sse2_lowp+0xe4c> .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,50,80,1,0 // movaps 0x15032(%rip),%xmm10 # 2b430 <_sk_srcover_rgba_8888_sse2_lowp+0xe5c> .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,68,15,56,43,192 // packusdw %xmm0,%xmm8 .byte 72,133,255 // test %rdi,%rdi .byte 117,10 // jne 16435 <_sk_store_565_sse41+0x70> .byte 102,69,15,214,4,64 // movq %xmm8,(%r8,%rax,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,56,51,192 // pmovzxwd %xmm8,%xmm8 .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,35 // je 1646b <_sk_store_565_sse41+0xa6> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,15 // je 1645d <_sk_store_565_sse41+0x98> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,221 // jne 16431 <_sk_store_565_sse41+0x6c> .byte 102,69,15,58,21,68,64,4,4 // pextrw $0x4,%xmm8,0x4(%r8,%rax,2) .byte 242,69,15,112,192,232 // pshuflw $0xe8,%xmm8,%xmm8 .byte 102,69,15,126,4,64 // movd %xmm8,(%r8,%rax,2) .byte 235,198 // jmp 16431 <_sk_store_565_sse41+0x6c> .byte 102,69,15,58,21,4,64,0 // pextrw $0x0,%xmm8,(%r8,%rax,2) .byte 235,188 // jmp 16431 <_sk_store_565_sse41+0x6c> HIDDEN _sk_load_4444_sse41 .globl _sk_load_4444_sse41 FUNCTION(_sk_load_4444_sse41) _sk_load_4444_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,95 // jne 164ef <_sk_load_4444_sse41+0x7a> .byte 102,67,15,56,51,28,80 // pmovzxwd (%r8,%r10,2),%xmm3 .byte 102,15,111,5,161,79,1,0 // movdqa 0x14fa1(%rip),%xmm0 # 2b440 <_sk_srcover_rgba_8888_sse2_lowp+0xe6c> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,163,79,1,0 // mulps 0x14fa3(%rip),%xmm0 # 2b450 <_sk_srcover_rgba_8888_sse2_lowp+0xe7c> .byte 102,15,111,13,171,79,1,0 // movdqa 0x14fab(%rip),%xmm1 # 2b460 <_sk_srcover_rgba_8888_sse2_lowp+0xe8c> .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,173,79,1,0 // mulps 0x14fad(%rip),%xmm1 # 2b470 <_sk_srcover_rgba_8888_sse2_lowp+0xe9c> .byte 102,15,111,21,181,79,1,0 // movdqa 0x14fb5(%rip),%xmm2 # 2b480 <_sk_srcover_rgba_8888_sse2_lowp+0xeac> .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,183,79,1,0 // mulps 0x14fb7(%rip),%xmm2 # 2b490 <_sk_srcover_rgba_8888_sse2_lowp+0xebc> .byte 102,15,219,29,191,79,1,0 // pand 0x14fbf(%rip),%xmm3 # 2b4a0 <_sk_srcover_rgba_8888_sse2_lowp+0xecc> .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,29,197,79,1,0 // mulps 0x14fc5(%rip),%xmm3 # 2b4b0 <_sk_srcover_rgba_8888_sse2_lowp+0xedc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 16531 <_sk_load_4444_sse41+0xbc> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 1651b <_sk_load_4444_sse41+0xa6> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,139 // jne 16497 <_sk_load_4444_sse41+0x22> .byte 67,15,183,68,80,4 // movzwl 0x4(%r8,%r10,2),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 102,67,15,110,4,80 // movd (%r8,%r10,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 16497 <_sk_load_4444_sse41+0x22> .byte 67,15,183,4,80 // movzwl (%r8,%r10,2),%eax .byte 102,15,110,216 // movd %eax,%xmm3 .byte 233,88,255,255,255 // jmpq 16497 <_sk_load_4444_sse41+0x22> HIDDEN _sk_load_4444_dst_sse41 .globl _sk_load_4444_dst_sse41 FUNCTION(_sk_load_4444_dst_sse41) _sk_load_4444_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,95 // jne 165b9 <_sk_load_4444_dst_sse41+0x7a> .byte 102,67,15,56,51,60,80 // pmovzxwd (%r8,%r10,2),%xmm7 .byte 102,15,111,37,215,78,1,0 // movdqa 0x14ed7(%rip),%xmm4 # 2b440 <_sk_srcover_rgba_8888_sse2_lowp+0xe6c> .byte 102,15,219,231 // pand %xmm7,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,37,217,78,1,0 // mulps 0x14ed9(%rip),%xmm4 # 2b450 <_sk_srcover_rgba_8888_sse2_lowp+0xe7c> .byte 102,15,111,45,225,78,1,0 // movdqa 0x14ee1(%rip),%xmm5 # 2b460 <_sk_srcover_rgba_8888_sse2_lowp+0xe8c> .byte 102,15,219,239 // pand %xmm7,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,45,227,78,1,0 // mulps 0x14ee3(%rip),%xmm5 # 2b470 <_sk_srcover_rgba_8888_sse2_lowp+0xe9c> .byte 102,15,111,53,235,78,1,0 // movdqa 0x14eeb(%rip),%xmm6 # 2b480 <_sk_srcover_rgba_8888_sse2_lowp+0xeac> .byte 102,15,219,247 // pand %xmm7,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,89,53,237,78,1,0 // mulps 0x14eed(%rip),%xmm6 # 2b490 <_sk_srcover_rgba_8888_sse2_lowp+0xebc> .byte 102,15,219,61,245,78,1,0 // pand 0x14ef5(%rip),%xmm7 # 2b4a0 <_sk_srcover_rgba_8888_sse2_lowp+0xecc> .byte 15,91,255 // cvtdq2ps %xmm7,%xmm7 .byte 15,89,61,251,78,1,0 // mulps 0x14efb(%rip),%xmm7 # 2b4b0 <_sk_srcover_rgba_8888_sse2_lowp+0xedc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,53 // je 165fb <_sk_load_4444_dst_sse41+0xbc> .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 165e5 <_sk_load_4444_dst_sse41+0xa6> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,139 // jne 16561 <_sk_load_4444_dst_sse41+0x22> .byte 67,15,183,68,80,4 // movzwl 0x4(%r8,%r10,2),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,252,69 // pshufd $0x45,%xmm4,%xmm7 .byte 102,67,15,110,36,80 // movd (%r8,%r10,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 16561 <_sk_load_4444_dst_sse41+0x22> .byte 67,15,183,4,80 // movzwl (%r8,%r10,2),%eax .byte 102,15,110,248 // movd %eax,%xmm7 .byte 233,88,255,255,255 // jmpq 16561 <_sk_load_4444_dst_sse41+0x22> HIDDEN _sk_gather_4444_sse41 .globl _sk_gather_4444_sse41 FUNCTION(_sk_gather_4444_sse41) _sk_gather_4444_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,8 // movd 0x8(%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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,194 // movq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,183,20,80 // movzwl (%r8,%r10,2),%r10d .byte 71,15,183,28,88 // movzwl (%r8,%r11,2),%r11d .byte 102,65,15,110,195 // movd %r11d,%xmm0 .byte 102,65,15,196,194,1 // pinsrw $0x1,%r10d,%xmm0 .byte 71,15,183,12,72 // movzwl (%r8,%r9,2),%r9d .byte 102,65,15,196,193,2 // pinsrw $0x2,%r9d,%xmm0 .byte 65,15,183,4,64 // movzwl (%r8,%rax,2),%eax .byte 102,15,196,192,3 // pinsrw $0x3,%eax,%xmm0 .byte 102,15,56,51,216 // pmovzxwd %xmm0,%xmm3 .byte 102,15,111,5,198,77,1,0 // movdqa 0x14dc6(%rip),%xmm0 # 2b440 <_sk_srcover_rgba_8888_sse2_lowp+0xe6c> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,200,77,1,0 // mulps 0x14dc8(%rip),%xmm0 # 2b450 <_sk_srcover_rgba_8888_sse2_lowp+0xe7c> .byte 102,15,111,13,208,77,1,0 // movdqa 0x14dd0(%rip),%xmm1 # 2b460 <_sk_srcover_rgba_8888_sse2_lowp+0xe8c> .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,210,77,1,0 // mulps 0x14dd2(%rip),%xmm1 # 2b470 <_sk_srcover_rgba_8888_sse2_lowp+0xe9c> .byte 102,15,111,21,218,77,1,0 // movdqa 0x14dda(%rip),%xmm2 # 2b480 <_sk_srcover_rgba_8888_sse2_lowp+0xeac> .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,220,77,1,0 // mulps 0x14ddc(%rip),%xmm2 # 2b490 <_sk_srcover_rgba_8888_sse2_lowp+0xebc> .byte 102,15,219,29,228,77,1,0 // pand 0x14de4(%rip),%xmm3 # 2b4a0 <_sk_srcover_rgba_8888_sse2_lowp+0xecc> .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,29,234,77,1,0 // mulps 0x14dea(%rip),%xmm3 # 2b4b0 <_sk_srcover_rgba_8888_sse2_lowp+0xedc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_4444_sse41 .globl _sk_store_4444_sse41 FUNCTION(_sk_store_4444_sse41) _sk_store_4444_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 68,15,40,5,216,77,1,0 // movaps 0x14dd8(%rip),%xmm8 # 2b4c0 <_sk_srcover_rgba_8888_sse2_lowp+0xeec> .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,68,15,56,43,192 // packusdw %xmm0,%xmm8 .byte 72,133,255 // test %rdi,%rdi .byte 117,10 // jne 1674e <_sk_store_4444_sse41+0x84> .byte 102,69,15,214,4,64 // movq %xmm8,(%r8,%rax,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,56,51,192 // pmovzxwd %xmm8,%xmm8 .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,35 // je 16784 <_sk_store_4444_sse41+0xba> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,15 // je 16776 <_sk_store_4444_sse41+0xac> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,221 // jne 1674a <_sk_store_4444_sse41+0x80> .byte 102,69,15,58,21,68,64,4,4 // pextrw $0x4,%xmm8,0x4(%r8,%rax,2) .byte 242,69,15,112,192,232 // pshuflw $0xe8,%xmm8,%xmm8 .byte 102,69,15,126,4,64 // movd %xmm8,(%r8,%rax,2) .byte 235,198 // jmp 1674a <_sk_store_4444_sse41+0x80> .byte 102,69,15,58,21,4,64,0 // pextrw $0x0,%xmm8,(%r8,%rax,2) .byte 235,188 // jmp 1674a <_sk_store_4444_sse41+0x80> HIDDEN _sk_load_8888_sse41 .globl _sk_load_8888_sse41 FUNCTION(_sk_load_8888_sse41) _sk_load_8888_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 117,89 // jne 16803 <_sk_load_8888_sse41+0x75> .byte 243,65,15,111,28,128 // movdqu (%r8,%rax,4),%xmm3 .byte 102,15,111,5,8,73,1,0 // movdqa 0x14908(%rip),%xmm0 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 68,15,40,5,73,74,1,0 // movaps 0x14a49(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,56,0,13,248,72,1,0 // pshufb 0x148f8(%rip),%xmm1 # 2b0d0 <_sk_srcover_rgba_8888_sse2_lowp+0xafc> .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,244,72,1,0 // pshufb 0x148f4(%rip),%xmm2 # 2b0e0 <_sk_srcover_rgba_8888_sse2_lowp+0xb0c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,45 // je 1683d <_sk_load_8888_sse41+0xaf> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,18 // je 1682c <_sk_load_8888_sse41+0x9e> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,144 // jne 167b0 <_sk_load_8888_sse41+0x22> .byte 102,65,15,110,68,128,8 // movd 0x8(%r8,%rax,4),%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 243,65,15,126,4,128 // movq (%r8,%rax,4),%xmm0 .byte 102,15,58,14,216,15 // pblendw $0xf,%xmm0,%xmm3 .byte 233,115,255,255,255 // jmpq 167b0 <_sk_load_8888_sse41+0x22> .byte 102,65,15,110,28,128 // movd (%r8,%rax,4),%xmm3 .byte 233,104,255,255,255 // jmpq 167b0 <_sk_load_8888_sse41+0x22> HIDDEN _sk_load_8888_dst_sse41 .globl _sk_load_8888_dst_sse41 FUNCTION(_sk_load_8888_dst_sse41) _sk_load_8888_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 117,89 // jne 168bd <_sk_load_8888_dst_sse41+0x75> .byte 243,65,15,111,60,128 // movdqu (%r8,%rax,4),%xmm7 .byte 102,15,111,37,78,72,1,0 // movdqa 0x1484e(%rip),%xmm4 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 102,15,219,231 // pand %xmm7,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 68,15,40,5,143,73,1,0 // movaps 0x1498f(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 65,15,89,224 // mulps %xmm8,%xmm4 .byte 102,15,111,239 // movdqa %xmm7,%xmm5 .byte 102,15,56,0,45,62,72,1,0 // pshufb 0x1483e(%rip),%xmm5 # 2b0d0 <_sk_srcover_rgba_8888_sse2_lowp+0xafc> .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,58,72,1,0 // pshufb 0x1483a(%rip),%xmm6 # 2b0e0 <_sk_srcover_rgba_8888_sse2_lowp+0xb0c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,45 // je 168f7 <_sk_load_8888_dst_sse41+0xaf> .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,18 // je 168e6 <_sk_load_8888_dst_sse41+0x9e> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,144 // jne 1686a <_sk_load_8888_dst_sse41+0x22> .byte 102,65,15,110,100,128,8 // movd 0x8(%r8,%rax,4),%xmm4 .byte 102,15,112,252,69 // pshufd $0x45,%xmm4,%xmm7 .byte 243,65,15,126,36,128 // movq (%r8,%rax,4),%xmm4 .byte 102,15,58,14,252,15 // pblendw $0xf,%xmm4,%xmm7 .byte 233,115,255,255,255 // jmpq 1686a <_sk_load_8888_dst_sse41+0x22> .byte 102,65,15,110,60,128 // movd (%r8,%rax,4),%xmm7 .byte 233,104,255,255,255 // jmpq 1686a <_sk_load_8888_dst_sse41+0x22> HIDDEN _sk_gather_8888_sse41 .globl _sk_gather_8888_sse41 FUNCTION(_sk_gather_8888_sse41) _sk_gather_8888_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,8 // movd 0x8(%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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,58,22,194,1 // pextrq $0x1,%xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 102,67,15,110,28,136 // movd (%r8,%r9,4),%xmm3 .byte 102,65,15,58,34,28,128,1 // pinsrd $0x1,(%r8,%rax,4),%xmm3 .byte 102,67,15,58,34,28,152,2 // pinsrd $0x2,(%r8,%r11,4),%xmm3 .byte 102,67,15,58,34,28,144,3 // pinsrd $0x3,(%r8,%r10,4),%xmm3 .byte 102,15,111,5,94,71,1,0 // movdqa 0x1475e(%rip),%xmm0 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 68,15,40,5,159,72,1,0 // movaps 0x1489f(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,56,0,13,78,71,1,0 // pshufb 0x1474e(%rip),%xmm1 # 2b0d0 <_sk_srcover_rgba_8888_sse2_lowp+0xafc> .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,56,0,21,74,71,1,0 // pshufb 0x1474a(%rip),%xmm2 # 2b0e0 <_sk_srcover_rgba_8888_sse2_lowp+0xb0c> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_8888_sse41 .globl _sk_store_8888_sse41 FUNCTION(_sk_store_8888_sse41) _sk_store_8888_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 68,15,40,5,36,71,1,0 // movaps 0x14724(%rip),%xmm8 # 2b0f0 <_sk_srcover_rgba_8888_sse2_lowp+0xb1c> .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 72,133,255 // test %rdi,%rdi .byte 117,10 // jne 16a2c <_sk_store_8888_sse41+0x7f> .byte 243,69,15,127,4,128 // movdqu %xmm8,(%r8,%rax,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,29 // je 16a56 <_sk_store_8888_sse41+0xa9> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,15 // je 16a4e <_sk_store_8888_sse41+0xa1> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,227 // jne 16a28 <_sk_store_8888_sse41+0x7b> .byte 102,69,15,58,22,68,128,8,2 // pextrd $0x2,%xmm8,0x8(%r8,%rax,4) .byte 102,69,15,214,4,128 // movq %xmm8,(%r8,%rax,4) .byte 235,210 // jmp 16a28 <_sk_store_8888_sse41+0x7b> .byte 102,69,15,126,4,128 // movd %xmm8,(%r8,%rax,4) .byte 235,202 // jmp 16a28 <_sk_store_8888_sse41+0x7b> HIDDEN _sk_load_bgra_sse41 .globl _sk_load_bgra_sse41 FUNCTION(_sk_load_bgra_sse41) _sk_load_bgra_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 117,89 // jne 16ad3 <_sk_load_bgra_sse41+0x75> .byte 243,65,15,111,28,128 // movdqu (%r8,%rax,4),%xmm3 .byte 102,15,111,5,56,70,1,0 // movdqa 0x14638(%rip),%xmm0 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,208 // cvtdq2ps %xmm0,%xmm2 .byte 68,15,40,5,121,71,1,0 // movaps 0x14779(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,56,0,5,40,70,1,0 // pshufb 0x14628(%rip),%xmm0 # 2b0d0 <_sk_srcover_rgba_8888_sse2_lowp+0xafc> .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,36,70,1,0 // pshufb 0x14624(%rip),%xmm0 # 2b0e0 <_sk_srcover_rgba_8888_sse2_lowp+0xb0c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,45 // je 16b0d <_sk_load_bgra_sse41+0xaf> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,18 // je 16afc <_sk_load_bgra_sse41+0x9e> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,144 // jne 16a80 <_sk_load_bgra_sse41+0x22> .byte 102,65,15,110,68,128,8 // movd 0x8(%r8,%rax,4),%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 243,65,15,126,4,128 // movq (%r8,%rax,4),%xmm0 .byte 102,15,58,14,216,15 // pblendw $0xf,%xmm0,%xmm3 .byte 233,115,255,255,255 // jmpq 16a80 <_sk_load_bgra_sse41+0x22> .byte 102,65,15,110,28,128 // movd (%r8,%rax,4),%xmm3 .byte 233,104,255,255,255 // jmpq 16a80 <_sk_load_bgra_sse41+0x22> HIDDEN _sk_load_bgra_dst_sse41 .globl _sk_load_bgra_dst_sse41 FUNCTION(_sk_load_bgra_dst_sse41) _sk_load_bgra_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 117,89 // jne 16b8d <_sk_load_bgra_dst_sse41+0x75> .byte 243,65,15,111,60,128 // movdqu (%r8,%rax,4),%xmm7 .byte 102,15,111,37,126,69,1,0 // movdqa 0x1457e(%rip),%xmm4 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 102,15,219,231 // pand %xmm7,%xmm4 .byte 15,91,244 // cvtdq2ps %xmm4,%xmm6 .byte 68,15,40,5,191,70,1,0 // movaps 0x146bf(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 65,15,89,240 // mulps %xmm8,%xmm6 .byte 102,15,111,231 // movdqa %xmm7,%xmm4 .byte 102,15,56,0,37,110,69,1,0 // pshufb 0x1456e(%rip),%xmm4 # 2b0d0 <_sk_srcover_rgba_8888_sse2_lowp+0xafc> .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,106,69,1,0 // pshufb 0x1456a(%rip),%xmm4 # 2b0e0 <_sk_srcover_rgba_8888_sse2_lowp+0xb0c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,45 // je 16bc7 <_sk_load_bgra_dst_sse41+0xaf> .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,18 // je 16bb6 <_sk_load_bgra_dst_sse41+0x9e> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,144 // jne 16b3a <_sk_load_bgra_dst_sse41+0x22> .byte 102,65,15,110,100,128,8 // movd 0x8(%r8,%rax,4),%xmm4 .byte 102,15,112,252,69 // pshufd $0x45,%xmm4,%xmm7 .byte 243,65,15,126,36,128 // movq (%r8,%rax,4),%xmm4 .byte 102,15,58,14,252,15 // pblendw $0xf,%xmm4,%xmm7 .byte 233,115,255,255,255 // jmpq 16b3a <_sk_load_bgra_dst_sse41+0x22> .byte 102,65,15,110,60,128 // movd (%r8,%rax,4),%xmm7 .byte 233,104,255,255,255 // jmpq 16b3a <_sk_load_bgra_dst_sse41+0x22> HIDDEN _sk_gather_bgra_sse41 .globl _sk_gather_bgra_sse41 FUNCTION(_sk_gather_bgra_sse41) _sk_gather_bgra_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,8 // movd 0x8(%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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,58,22,194,1 // pextrq $0x1,%xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 102,67,15,110,28,136 // movd (%r8,%r9,4),%xmm3 .byte 102,65,15,58,34,28,128,1 // pinsrd $0x1,(%r8,%rax,4),%xmm3 .byte 102,67,15,58,34,28,152,2 // pinsrd $0x2,(%r8,%r11,4),%xmm3 .byte 102,67,15,58,34,28,144,3 // pinsrd $0x3,(%r8,%r10,4),%xmm3 .byte 102,15,111,5,142,68,1,0 // movdqa 0x1448e(%rip),%xmm0 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,208 // cvtdq2ps %xmm0,%xmm2 .byte 68,15,40,5,207,69,1,0 // movaps 0x145cf(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,56,0,5,126,68,1,0 // pshufb 0x1447e(%rip),%xmm0 # 2b0d0 <_sk_srcover_rgba_8888_sse2_lowp+0xafc> .byte 15,91,200 // cvtdq2ps %xmm0,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,56,0,5,122,68,1,0 // pshufb 0x1447a(%rip),%xmm0 # 2b0e0 <_sk_srcover_rgba_8888_sse2_lowp+0xb0c> .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_bgra_sse41 .globl _sk_store_bgra_sse41 FUNCTION(_sk_store_bgra_sse41) _sk_store_bgra_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 68,15,40,5,84,68,1,0 // movaps 0x14454(%rip),%xmm8 # 2b0f0 <_sk_srcover_rgba_8888_sse2_lowp+0xb1c> .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 72,133,255 // test %rdi,%rdi .byte 117,10 // jne 16cfc <_sk_store_bgra_sse41+0x7f> .byte 243,69,15,127,4,128 // movdqu %xmm8,(%r8,%rax,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,29 // je 16d26 <_sk_store_bgra_sse41+0xa9> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,15 // je 16d1e <_sk_store_bgra_sse41+0xa1> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,227 // jne 16cf8 <_sk_store_bgra_sse41+0x7b> .byte 102,69,15,58,22,68,128,8,2 // pextrd $0x2,%xmm8,0x8(%r8,%rax,4) .byte 102,69,15,214,4,128 // movq %xmm8,(%r8,%rax,4) .byte 235,210 // jmp 16cf8 <_sk_store_bgra_sse41+0x7b> .byte 102,69,15,126,4,128 // movd %xmm8,(%r8,%rax,4) .byte 235,202 // jmp 16cf8 <_sk_store_bgra_sse41+0x7b> HIDDEN _sk_load_f16_sse41 .globl _sk_load_f16_sse41 FUNCTION(_sk_load_f16_sse41) _sk_load_f16_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,3 // shl $0x3,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 15,133,68,1,0,0 // jne 16e92 <_sk_load_f16_sse41+0x164> .byte 102,65,15,16,4,192 // movupd (%r8,%rax,8),%xmm0 .byte 243,65,15,111,76,192,16 // movdqu 0x10(%r8,%rax,8),%xmm1 .byte 102,68,15,40,200 // movapd %xmm0,%xmm9 .byte 102,68,15,97,201 // punpcklwd %xmm1,%xmm9 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,69,15,111,225 // movdqa %xmm9,%xmm12 .byte 102,68,15,97,224 // punpcklwd %xmm0,%xmm12 .byte 102,68,15,105,200 // punpckhwd %xmm0,%xmm9 .byte 102,65,15,56,51,212 // pmovzxwd %xmm12,%xmm2 .byte 102,68,15,111,5,73,71,1,0 // movdqa 0x14749(%rip),%xmm8 # 2b4d0 <_sk_srcover_rgba_8888_sse2_lowp+0xefc> .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,65,15,219,200 // pand %xmm8,%xmm1 .byte 102,68,15,111,21,71,71,1,0 // movdqa 0x14747(%rip),%xmm10 # 2b4e0 <_sk_srcover_rgba_8888_sse2_lowp+0xf0c> .byte 102,65,15,219,210 // pand %xmm10,%xmm2 .byte 102,15,111,29,74,71,1,0 // movdqa 0x1474a(%rip),%xmm3 # 2b4f0 <_sk_srcover_rgba_8888_sse2_lowp+0xf1c> .byte 102,15,114,241,16 // pslld $0x10,%xmm1 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,56,63,195 // pmaxud %xmm3,%xmm0 .byte 102,15,118,194 // pcmpeqd %xmm2,%xmm0 .byte 102,15,114,242,13 // pslld $0xd,%xmm2 .byte 102,15,235,209 // por %xmm1,%xmm2 .byte 102,68,15,111,29,54,71,1,0 // movdqa 0x14736(%rip),%xmm11 # 2b500 <_sk_srcover_rgba_8888_sse2_lowp+0xf2c> .byte 102,65,15,254,211 // paddd %xmm11,%xmm2 .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 102,65,15,112,204,238 // pshufd $0xee,%xmm12,%xmm1 .byte 102,15,56,51,209 // pmovzxwd %xmm1,%xmm2 .byte 102,68,15,111,226 // movdqa %xmm2,%xmm12 .byte 102,69,15,219,224 // pand %xmm8,%xmm12 .byte 102,65,15,219,210 // pand %xmm10,%xmm2 .byte 102,65,15,114,244,16 // pslld $0x10,%xmm12 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,56,63,203 // pmaxud %xmm3,%xmm1 .byte 102,15,118,202 // pcmpeqd %xmm2,%xmm1 .byte 102,15,114,242,13 // pslld $0xd,%xmm2 .byte 102,65,15,235,212 // por %xmm12,%xmm2 .byte 102,65,15,254,211 // paddd %xmm11,%xmm2 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 102,69,15,56,51,225 // pmovzxwd %xmm9,%xmm12 .byte 102,69,15,111,236 // movdqa %xmm12,%xmm13 .byte 102,69,15,219,232 // pand %xmm8,%xmm13 .byte 102,69,15,219,226 // pand %xmm10,%xmm12 .byte 102,65,15,114,245,16 // pslld $0x10,%xmm13 .byte 102,65,15,111,212 // movdqa %xmm12,%xmm2 .byte 102,15,56,63,211 // pmaxud %xmm3,%xmm2 .byte 102,65,15,118,212 // pcmpeqd %xmm12,%xmm2 .byte 102,65,15,114,244,13 // pslld $0xd,%xmm12 .byte 102,69,15,235,229 // por %xmm13,%xmm12 .byte 102,69,15,254,227 // paddd %xmm11,%xmm12 .byte 102,65,15,219,212 // pand %xmm12,%xmm2 .byte 102,69,15,112,201,238 // pshufd $0xee,%xmm9,%xmm9 .byte 102,69,15,56,51,201 // pmovzxwd %xmm9,%xmm9 .byte 102,69,15,219,193 // pand %xmm9,%xmm8 .byte 102,69,15,219,202 // pand %xmm10,%xmm9 .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 .byte 102,65,15,56,63,217 // pmaxud %xmm9,%xmm3 .byte 102,65,15,118,217 // pcmpeqd %xmm9,%xmm3 .byte 102,65,15,114,241,13 // pslld $0xd,%xmm9 .byte 102,69,15,235,200 // por %xmm8,%xmm9 .byte 102,69,15,254,203 // paddd %xmm11,%xmm9 .byte 102,65,15,219,217 // pand %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 242,65,15,16,4,192 // movsd (%r8,%rax,8),%xmm0 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,13 // jne 16eab <_sk_load_f16_sse41+0x17d> .byte 243,15,126,192 // movq %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 233,176,254,255,255 // jmpq 16d5b <_sk_load_f16_sse41+0x2d> .byte 102,65,15,22,68,192,8 // movhpd 0x8(%r8,%rax,8),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 15,130,155,254,255,255 // jb 16d5b <_sk_load_f16_sse41+0x2d> .byte 243,65,15,126,76,192,16 // movq 0x10(%r8,%rax,8),%xmm1 .byte 233,143,254,255,255 // jmpq 16d5b <_sk_load_f16_sse41+0x2d> HIDDEN _sk_load_f16_dst_sse41 .globl _sk_load_f16_dst_sse41 FUNCTION(_sk_load_f16_dst_sse41) _sk_load_f16_dst_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,3 // shl $0x3,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 15,133,68,1,0,0 // jne 17030 <_sk_load_f16_dst_sse41+0x164> .byte 102,65,15,16,36,192 // movupd (%r8,%rax,8),%xmm4 .byte 243,65,15,111,108,192,16 // movdqu 0x10(%r8,%rax,8),%xmm5 .byte 102,68,15,40,204 // movapd %xmm4,%xmm9 .byte 102,68,15,97,205 // punpcklwd %xmm5,%xmm9 .byte 102,15,105,229 // punpckhwd %xmm5,%xmm4 .byte 102,69,15,111,225 // movdqa %xmm9,%xmm12 .byte 102,68,15,97,228 // punpcklwd %xmm4,%xmm12 .byte 102,68,15,105,204 // punpckhwd %xmm4,%xmm9 .byte 102,65,15,56,51,244 // pmovzxwd %xmm12,%xmm6 .byte 102,68,15,111,5,171,69,1,0 // movdqa 0x145ab(%rip),%xmm8 # 2b4d0 <_sk_srcover_rgba_8888_sse2_lowp+0xefc> .byte 102,15,111,238 // movdqa %xmm6,%xmm5 .byte 102,65,15,219,232 // pand %xmm8,%xmm5 .byte 102,68,15,111,21,169,69,1,0 // movdqa 0x145a9(%rip),%xmm10 # 2b4e0 <_sk_srcover_rgba_8888_sse2_lowp+0xf0c> .byte 102,65,15,219,242 // pand %xmm10,%xmm6 .byte 102,15,111,61,172,69,1,0 // movdqa 0x145ac(%rip),%xmm7 # 2b4f0 <_sk_srcover_rgba_8888_sse2_lowp+0xf1c> .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 102,15,111,230 // movdqa %xmm6,%xmm4 .byte 102,15,56,63,231 // pmaxud %xmm7,%xmm4 .byte 102,15,118,230 // pcmpeqd %xmm6,%xmm4 .byte 102,15,114,246,13 // pslld $0xd,%xmm6 .byte 102,15,235,245 // por %xmm5,%xmm6 .byte 102,68,15,111,29,152,69,1,0 // movdqa 0x14598(%rip),%xmm11 # 2b500 <_sk_srcover_rgba_8888_sse2_lowp+0xf2c> .byte 102,65,15,254,243 // paddd %xmm11,%xmm6 .byte 102,15,219,230 // pand %xmm6,%xmm4 .byte 102,65,15,112,236,238 // pshufd $0xee,%xmm12,%xmm5 .byte 102,15,56,51,245 // pmovzxwd %xmm5,%xmm6 .byte 102,68,15,111,230 // movdqa %xmm6,%xmm12 .byte 102,69,15,219,224 // pand %xmm8,%xmm12 .byte 102,65,15,219,242 // pand %xmm10,%xmm6 .byte 102,65,15,114,244,16 // pslld $0x10,%xmm12 .byte 102,15,111,238 // movdqa %xmm6,%xmm5 .byte 102,15,56,63,239 // pmaxud %xmm7,%xmm5 .byte 102,15,118,238 // pcmpeqd %xmm6,%xmm5 .byte 102,15,114,246,13 // pslld $0xd,%xmm6 .byte 102,65,15,235,244 // por %xmm12,%xmm6 .byte 102,65,15,254,243 // paddd %xmm11,%xmm6 .byte 102,15,219,238 // pand %xmm6,%xmm5 .byte 102,69,15,56,51,225 // pmovzxwd %xmm9,%xmm12 .byte 102,69,15,111,236 // movdqa %xmm12,%xmm13 .byte 102,69,15,219,232 // pand %xmm8,%xmm13 .byte 102,69,15,219,226 // pand %xmm10,%xmm12 .byte 102,65,15,114,245,16 // pslld $0x10,%xmm13 .byte 102,65,15,111,244 // movdqa %xmm12,%xmm6 .byte 102,15,56,63,247 // pmaxud %xmm7,%xmm6 .byte 102,65,15,118,244 // pcmpeqd %xmm12,%xmm6 .byte 102,65,15,114,244,13 // pslld $0xd,%xmm12 .byte 102,69,15,235,229 // por %xmm13,%xmm12 .byte 102,69,15,254,227 // paddd %xmm11,%xmm12 .byte 102,65,15,219,244 // pand %xmm12,%xmm6 .byte 102,69,15,112,201,238 // pshufd $0xee,%xmm9,%xmm9 .byte 102,69,15,56,51,201 // pmovzxwd %xmm9,%xmm9 .byte 102,69,15,219,193 // pand %xmm9,%xmm8 .byte 102,69,15,219,202 // pand %xmm10,%xmm9 .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 .byte 102,65,15,56,63,249 // pmaxud %xmm9,%xmm7 .byte 102,65,15,118,249 // pcmpeqd %xmm9,%xmm7 .byte 102,65,15,114,241,13 // pslld $0xd,%xmm9 .byte 102,69,15,235,200 // por %xmm8,%xmm9 .byte 102,69,15,254,203 // paddd %xmm11,%xmm9 .byte 102,65,15,219,249 // pand %xmm9,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 242,65,15,16,36,192 // movsd (%r8,%rax,8),%xmm4 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,13 // jne 17049 <_sk_load_f16_dst_sse41+0x17d> .byte 243,15,126,228 // movq %xmm4,%xmm4 .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 233,176,254,255,255 // jmpq 16ef9 <_sk_load_f16_dst_sse41+0x2d> .byte 102,65,15,22,100,192,8 // movhpd 0x8(%r8,%rax,8),%xmm4 .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 15,130,155,254,255,255 // jb 16ef9 <_sk_load_f16_dst_sse41+0x2d> .byte 243,65,15,126,108,192,16 // movq 0x10(%r8,%rax,8),%xmm5 .byte 233,143,254,255,255 // jmpq 16ef9 <_sk_load_f16_dst_sse41+0x2d> HIDDEN _sk_gather_f16_sse41 .globl _sk_gather_f16_sse41 FUNCTION(_sk_gather_f16_sse41) _sk_gather_f16_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,8 // movd 0x8(%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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,58,22,194,1 // pextrq $0x1,%xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 243,67,15,126,4,208 // movq (%r8,%r10,8),%xmm0 .byte 243,67,15,126,12,216 // movq (%r8,%r11,8),%xmm1 .byte 102,15,108,200 // punpcklqdq %xmm0,%xmm1 .byte 243,65,15,126,4,192 // movq (%r8,%rax,8),%xmm0 .byte 243,67,15,126,20,200 // movq (%r8,%r9,8),%xmm2 .byte 102,15,108,208 // punpcklqdq %xmm0,%xmm2 .byte 102,68,15,111,202 // movdqa %xmm2,%xmm9 .byte 102,68,15,97,201 // punpcklwd %xmm1,%xmm9 .byte 102,15,105,209 // punpckhwd %xmm1,%xmm2 .byte 102,69,15,111,225 // movdqa %xmm9,%xmm12 .byte 102,68,15,97,226 // punpcklwd %xmm2,%xmm12 .byte 102,68,15,105,202 // punpckhwd %xmm2,%xmm9 .byte 102,65,15,56,51,212 // pmovzxwd %xmm12,%xmm2 .byte 102,68,15,111,5,224,67,1,0 // movdqa 0x143e0(%rip),%xmm8 # 2b4d0 <_sk_srcover_rgba_8888_sse2_lowp+0xefc> .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,65,15,219,200 // pand %xmm8,%xmm1 .byte 102,68,15,111,21,222,67,1,0 // movdqa 0x143de(%rip),%xmm10 # 2b4e0 <_sk_srcover_rgba_8888_sse2_lowp+0xf0c> .byte 102,65,15,219,210 // pand %xmm10,%xmm2 .byte 102,15,111,29,225,67,1,0 // movdqa 0x143e1(%rip),%xmm3 # 2b4f0 <_sk_srcover_rgba_8888_sse2_lowp+0xf1c> .byte 102,15,114,241,16 // pslld $0x10,%xmm1 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,56,63,195 // pmaxud %xmm3,%xmm0 .byte 102,15,118,194 // pcmpeqd %xmm2,%xmm0 .byte 102,15,114,242,13 // pslld $0xd,%xmm2 .byte 102,15,235,209 // por %xmm1,%xmm2 .byte 102,68,15,111,29,205,67,1,0 // movdqa 0x143cd(%rip),%xmm11 # 2b500 <_sk_srcover_rgba_8888_sse2_lowp+0xf2c> .byte 102,65,15,254,211 // paddd %xmm11,%xmm2 .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 102,65,15,112,204,238 // pshufd $0xee,%xmm12,%xmm1 .byte 102,15,56,51,209 // pmovzxwd %xmm1,%xmm2 .byte 102,68,15,111,226 // movdqa %xmm2,%xmm12 .byte 102,69,15,219,224 // pand %xmm8,%xmm12 .byte 102,65,15,219,210 // pand %xmm10,%xmm2 .byte 102,65,15,114,244,16 // pslld $0x10,%xmm12 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,56,63,203 // pmaxud %xmm3,%xmm1 .byte 102,15,118,202 // pcmpeqd %xmm2,%xmm1 .byte 102,15,114,242,13 // pslld $0xd,%xmm2 .byte 102,65,15,235,212 // por %xmm12,%xmm2 .byte 102,65,15,254,211 // paddd %xmm11,%xmm2 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 102,69,15,56,51,225 // pmovzxwd %xmm9,%xmm12 .byte 102,69,15,111,236 // movdqa %xmm12,%xmm13 .byte 102,69,15,219,232 // pand %xmm8,%xmm13 .byte 102,69,15,219,226 // pand %xmm10,%xmm12 .byte 102,65,15,114,245,16 // pslld $0x10,%xmm13 .byte 102,65,15,111,212 // movdqa %xmm12,%xmm2 .byte 102,15,56,63,211 // pmaxud %xmm3,%xmm2 .byte 102,65,15,118,212 // pcmpeqd %xmm12,%xmm2 .byte 102,65,15,114,244,13 // pslld $0xd,%xmm12 .byte 102,69,15,235,229 // por %xmm13,%xmm12 .byte 102,69,15,254,227 // paddd %xmm11,%xmm12 .byte 102,65,15,219,212 // pand %xmm12,%xmm2 .byte 102,69,15,112,201,238 // pshufd $0xee,%xmm9,%xmm9 .byte 102,69,15,56,51,201 // pmovzxwd %xmm9,%xmm9 .byte 102,69,15,219,193 // pand %xmm9,%xmm8 .byte 102,69,15,219,202 // pand %xmm10,%xmm9 .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 .byte 102,65,15,56,63,217 // pmaxud %xmm9,%xmm3 .byte 102,65,15,118,217 // pcmpeqd %xmm9,%xmm3 .byte 102,65,15,114,241,13 // pslld $0xd,%xmm9 .byte 102,69,15,235,200 // por %xmm8,%xmm9 .byte 102,69,15,254,203 // paddd %xmm11,%xmm9 .byte 102,65,15,219,217 // pand %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_f16_sse41 .globl _sk_store_f16_sse41 FUNCTION(_sk_store_f16_sse41) _sk_store_f16_sse41: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,3 // shl $0x3,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 102,68,15,111,13,245,66,1,0 // movdqa 0x142f5(%rip),%xmm9 # 2b510 <_sk_srcover_rgba_8888_sse2_lowp+0xf3c> .byte 102,68,15,111,224 // movdqa %xmm0,%xmm12 .byte 102,69,15,219,225 // pand %xmm9,%xmm12 .byte 102,68,15,111,29,242,66,1,0 // movdqa 0x142f2(%rip),%xmm11 # 2b520 <_sk_srcover_rgba_8888_sse2_lowp+0xf4c> .byte 102,68,15,111,232 // movdqa %xmm0,%xmm13 .byte 102,69,15,219,235 // pand %xmm11,%xmm13 .byte 102,68,15,111,21,239,66,1,0 // movdqa 0x142ef(%rip),%xmm10 # 2b530 <_sk_srcover_rgba_8888_sse2_lowp+0xf5c> .byte 102,65,15,114,212,16 // psrld $0x10,%xmm12 .byte 102,69,15,111,197 // movdqa %xmm13,%xmm8 .byte 102,69,15,56,63,194 // pmaxud %xmm10,%xmm8 .byte 102,69,15,118,197 // pcmpeqd %xmm13,%xmm8 .byte 102,65,15,114,213,13 // psrld $0xd,%xmm13 .byte 102,69,15,254,236 // paddd %xmm12,%xmm13 .byte 102,68,15,111,37,213,66,1,0 // movdqa 0x142d5(%rip),%xmm12 # 2b540 <_sk_srcover_rgba_8888_sse2_lowp+0xf6c> .byte 102,69,15,254,236 // paddd %xmm12,%xmm13 .byte 102,69,15,219,197 // pand %xmm13,%xmm8 .byte 102,68,15,56,43,192 // packusdw %xmm0,%xmm8 .byte 102,68,15,111,233 // movdqa %xmm1,%xmm13 .byte 102,69,15,219,233 // pand %xmm9,%xmm13 .byte 102,68,15,111,241 // movdqa %xmm1,%xmm14 .byte 102,69,15,219,243 // pand %xmm11,%xmm14 .byte 102,65,15,114,213,16 // psrld $0x10,%xmm13 .byte 102,69,15,111,254 // movdqa %xmm14,%xmm15 .byte 102,69,15,56,63,250 // pmaxud %xmm10,%xmm15 .byte 102,69,15,118,254 // pcmpeqd %xmm14,%xmm15 .byte 102,65,15,114,214,13 // psrld $0xd,%xmm14 .byte 102,69,15,254,245 // paddd %xmm13,%xmm14 .byte 102,69,15,254,244 // paddd %xmm12,%xmm14 .byte 102,69,15,219,254 // pand %xmm14,%xmm15 .byte 102,68,15,56,43,248 // packusdw %xmm0,%xmm15 .byte 102,69,15,97,199 // punpcklwd %xmm15,%xmm8 .byte 102,68,15,111,242 // movdqa %xmm2,%xmm14 .byte 102,69,15,219,241 // pand %xmm9,%xmm14 .byte 102,68,15,111,250 // movdqa %xmm2,%xmm15 .byte 102,69,15,219,251 // pand %xmm11,%xmm15 .byte 102,65,15,114,214,16 // psrld $0x10,%xmm14 .byte 102,69,15,111,239 // movdqa %xmm15,%xmm13 .byte 102,69,15,56,63,234 // pmaxud %xmm10,%xmm13 .byte 102,69,15,118,239 // pcmpeqd %xmm15,%xmm13 .byte 102,65,15,114,215,13 // psrld $0xd,%xmm15 .byte 102,69,15,254,254 // paddd %xmm14,%xmm15 .byte 102,69,15,254,252 // paddd %xmm12,%xmm15 .byte 102,69,15,219,239 // pand %xmm15,%xmm13 .byte 102,68,15,56,43,232 // packusdw %xmm0,%xmm13 .byte 102,68,15,219,203 // pand %xmm3,%xmm9 .byte 102,68,15,219,219 // pand %xmm3,%xmm11 .byte 102,65,15,114,209,16 // psrld $0x10,%xmm9 .byte 102,69,15,56,63,211 // pmaxud %xmm11,%xmm10 .byte 102,69,15,118,211 // pcmpeqd %xmm11,%xmm10 .byte 102,65,15,114,211,13 // psrld $0xd,%xmm11 .byte 102,69,15,254,217 // paddd %xmm9,%xmm11 .byte 102,69,15,254,220 // paddd %xmm12,%xmm11 .byte 102,69,15,219,211 // pand %xmm11,%xmm10 .byte 102,68,15,56,43,208 // packusdw %xmm0,%xmm10 .byte 102,69,15,97,234 // punpcklwd %xmm10,%xmm13 .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,69,15,98,205 // punpckldq %xmm13,%xmm9 .byte 72,133,255 // test %rdi,%rdi .byte 117,21 // jne 17369 <_sk_store_f16_sse41+0x16e> .byte 69,15,17,12,192 // movups %xmm9,(%r8,%rax,8) .byte 102,69,15,106,197 // punpckhdq %xmm13,%xmm8 .byte 243,69,15,127,68,192,16 // movdqu %xmm8,0x10(%r8,%rax,8) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,214,12,192 // movq %xmm9,(%r8,%rax,8) .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,240 // je 17365 <_sk_store_f16_sse41+0x16a> .byte 102,69,15,23,76,192,8 // movhpd %xmm9,0x8(%r8,%rax,8) .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,227 // jb 17365 <_sk_store_f16_sse41+0x16a> .byte 102,69,15,106,197 // punpckhdq %xmm13,%xmm8 .byte 102,69,15,214,68,192,16 // movq %xmm8,0x10(%r8,%rax,8) .byte 235,213 // jmp 17365 <_sk_store_f16_sse41+0x16a> 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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%rax .byte 72,133,255 // test %rdi,%rdi .byte 15,133,185,0,0,0 // jne 17470 <_sk_load_u16_be_sse41+0xe0> .byte 102,65,15,16,4,64 // movupd (%r8,%rax,2),%xmm0 .byte 243,65,15,111,76,64,16 // movdqu 0x10(%r8,%rax,2),%xmm1 .byte 102,15,40,208 // movapd %xmm0,%xmm2 .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .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,157,62,1,0 // movaps 0x13e9d(%rip),%xmm8 # 2b2a0 <_sk_srcover_rgba_8888_sse2_lowp+0xccc> .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,64 // movsd (%r8,%rax,2),%xmm0 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,13 // jne 17489 <_sk_load_u16_be_sse41+0xf9> .byte 243,15,126,192 // movq %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 233,59,255,255,255 // jmpq 173c4 <_sk_load_u16_be_sse41+0x34> .byte 102,65,15,22,68,64,8 // movhpd 0x8(%r8,%rax,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 15,130,38,255,255,255 // jb 173c4 <_sk_load_u16_be_sse41+0x34> .byte 243,65,15,126,76,64,16 // movq 0x10(%r8,%rax,2),%xmm1 .byte 233,26,255,255,255 // jmpq 173c4 <_sk_load_u16_be_sse41+0x34> 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,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,137,208 // mov %rdx,%rax .byte 72,193,224,32 // shl $0x20,%rax .byte 72,141,4,64 // lea (%rax,%rax,2),%rax .byte 72,193,248,32 // sar $0x20,%rax .byte 72,133,255 // test %rdi,%rdi .byte 15,133,170,0,0,0 // jne 1757f <_sk_load_rgb_u16_be_sse41+0xd5> .byte 243,65,15,111,20,64 // movdqu (%r8,%rax,2),%xmm2 .byte 243,65,15,111,92,64,8 // movdqu 0x8(%r8,%rax,2),%xmm3 .byte 102,15,115,219,4 // psrldq $0x4,%xmm3 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,115,216,6 // psrldq $0x6,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,115,217,6 // psrldq $0x6,%xmm1 .byte 102,15,97,193 // punpcklwd %xmm1,%xmm0 .byte 102,15,97,211 // punpcklwd %xmm3,%xmm2 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,15,105,208 // punpckhwd %xmm0,%xmm2 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,113,240,8 // psllw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,235,200 // por %xmm0,%xmm1 .byte 102,15,56,51,193 // pmovzxwd %xmm1,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 68,15,40,5,108,61,1,0 // movaps 0x13d6c(%rip),%xmm8 # 2b2a0 <_sk_srcover_rgba_8888_sse2_lowp+0xccc> .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,147,58,1,0 // movaps 0x13a93(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 255,224 // jmpq *%rax .byte 102,65,15,110,20,64 // movd (%r8,%rax,2),%xmm2 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,65,15,196,84,64,4,2 // pinsrw $0x2,0x4(%r8,%rax,2),%xmm2 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,13 // jne 175a4 <_sk_load_rgb_u16_be_sse41+0xfa> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 233,85,255,255,255 // jmpq 174f9 <_sk_load_rgb_u16_be_sse41+0x4f> .byte 102,65,15,110,68,64,6 // movd 0x6(%r8,%rax,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,65,15,196,68,64,10,2 // pinsrw $0x2,0xa(%r8,%rax,2),%xmm0 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,24 // jb 175d5 <_sk_load_rgb_u16_be_sse41+0x12b> .byte 102,65,15,110,92,64,12 // movd 0xc(%r8,%rax,2),%xmm3 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,65,15,196,92,64,16,2 // pinsrw $0x2,0x10(%r8,%rax,2),%xmm3 .byte 233,36,255,255,255 // jmpq 174f9 <_sk_load_rgb_u16_be_sse41+0x4f> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 233,27,255,255,255 // jmpq 174f9 <_sk_load_rgb_u16_be_sse41+0x4f> 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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%rax .byte 68,15,40,21,76,63,1,0 // movaps 0x13f4c(%rip),%xmm10 # 2b550 <_sk_srcover_rgba_8888_sse2_lowp+0xf7c> .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,68,15,56,43,192 // packusdw %xmm0,%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,201 // cvtps2dq %xmm9,%xmm9 .byte 102,68,15,56,43,200 // packusdw %xmm0,%xmm9 .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .byte 102,65,15,113,243,8 // psllw $0x8,%xmm11 .byte 102,65,15,113,209,8 // psrlw $0x8,%xmm9 .byte 102,69,15,235,203 // por %xmm11,%xmm9 .byte 102,69,15,97,193 // punpcklwd %xmm9,%xmm8 .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,68,15,56,43,200 // packusdw %xmm0,%xmm9 .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .byte 102,65,15,113,243,8 // psllw $0x8,%xmm11 .byte 102,65,15,113,209,8 // psrlw $0x8,%xmm9 .byte 102,69,15,235,203 // por %xmm11,%xmm9 .byte 68,15,89,211 // mulps %xmm3,%xmm10 .byte 102,69,15,91,210 // cvtps2dq %xmm10,%xmm10 .byte 102,68,15,56,43,208 // packusdw %xmm0,%xmm10 .byte 102,69,15,111,218 // movdqa %xmm10,%xmm11 .byte 102,65,15,113,243,8 // psllw $0x8,%xmm11 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,69,15,235,211 // por %xmm11,%xmm10 .byte 102,69,15,97,202 // punpcklwd %xmm10,%xmm9 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,69,15,98,209 // punpckldq %xmm9,%xmm10 .byte 72,133,255 // test %rdi,%rdi .byte 117,21 // jne 176d2 <_sk_store_u16_be_sse41+0xf4> .byte 69,15,17,20,64 // movups %xmm10,(%r8,%rax,2) .byte 102,69,15,106,193 // punpckhdq %xmm9,%xmm8 .byte 243,69,15,127,68,64,16 // movdqu %xmm8,0x10(%r8,%rax,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,214,20,64 // movq %xmm10,(%r8,%rax,2) .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,240 // je 176ce <_sk_store_u16_be_sse41+0xf0> .byte 102,69,15,23,84,64,8 // movhpd %xmm10,0x8(%r8,%rax,2) .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,227 // jb 176ce <_sk_store_u16_be_sse41+0xf0> .byte 102,69,15,106,193 // punpckhdq %xmm9,%xmm8 .byte 102,69,15,214,68,64,16 // movq %xmm8,0x10(%r8,%rax,2) .byte 235,213 // jmp 176ce <_sk_store_u16_be_sse41+0xf0> 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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%rax .byte 69,15,16,4,128 // movups (%r8,%rax,4),%xmm8 .byte 72,133,255 // test %rdi,%rdi .byte 117,66 // jne 17764 <_sk_load_f32_sse41+0x6b> .byte 65,15,16,68,128,16 // movups 0x10(%r8,%rax,4),%xmm0 .byte 65,15,16,92,128,32 // movups 0x20(%r8,%rax,4),%xmm3 .byte 69,15,16,76,128,48 // movups 0x30(%r8,%rax,4),%xmm9 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 15,20,208 // unpcklps %xmm0,%xmm2 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 65,15,20,201 // unpcklps %xmm9,%xmm1 .byte 68,15,21,192 // unpckhps %xmm0,%xmm8 .byte 65,15,21,217 // unpckhps %xmm9,%xmm3 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 15,18,202 // movhlps %xmm2,%xmm1 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 65,15,18,216 // movhlps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,8 // jne 17776 <_sk_load_f32_sse41+0x7d> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 235,190 // jmp 17734 <_sk_load_f32_sse41+0x3b> .byte 65,15,16,68,128,16 // movups 0x10(%r8,%rax,4),%xmm0 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,8 // jb 1778a <_sk_load_f32_sse41+0x91> .byte 65,15,16,92,128,32 // movups 0x20(%r8,%rax,4),%xmm3 .byte 235,170 // jmp 17734 <_sk_load_f32_sse41+0x3b> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 235,165 // jmp 17734 <_sk_load_f32_sse41+0x3b> 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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%rax .byte 69,15,16,4,128 // movups (%r8,%rax,4),%xmm8 .byte 72,133,255 // test %rdi,%rdi .byte 117,66 // jne 177fa <_sk_load_f32_dst_sse41+0x6b> .byte 65,15,16,100,128,16 // movups 0x10(%r8,%rax,4),%xmm4 .byte 65,15,16,124,128,32 // movups 0x20(%r8,%rax,4),%xmm7 .byte 69,15,16,76,128,48 // movups 0x30(%r8,%rax,4),%xmm9 .byte 65,15,40,240 // movaps %xmm8,%xmm6 .byte 15,20,244 // unpcklps %xmm4,%xmm6 .byte 15,40,239 // movaps %xmm7,%xmm5 .byte 65,15,20,233 // unpcklps %xmm9,%xmm5 .byte 68,15,21,196 // unpckhps %xmm4,%xmm8 .byte 65,15,21,249 // unpckhps %xmm9,%xmm7 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 102,15,20,229 // unpcklpd %xmm5,%xmm4 .byte 15,18,238 // movhlps %xmm6,%xmm5 .byte 65,15,40,240 // movaps %xmm8,%xmm6 .byte 102,15,20,247 // unpcklpd %xmm7,%xmm6 .byte 65,15,18,248 // movhlps %xmm8,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,8 // jne 1780c <_sk_load_f32_dst_sse41+0x7d> .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 235,190 // jmp 177ca <_sk_load_f32_dst_sse41+0x3b> .byte 65,15,16,100,128,16 // movups 0x10(%r8,%rax,4),%xmm4 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,8 // jb 17820 <_sk_load_f32_dst_sse41+0x91> .byte 65,15,16,124,128,32 // movups 0x20(%r8,%rax,4),%xmm7 .byte 235,170 // jmp 177ca <_sk_load_f32_dst_sse41+0x3b> .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 235,165 // jmp 177ca <_sk_load_f32_dst_sse41+0x3b> 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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%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,128 // movupd %xmm12,(%r8,%rax,4) .byte 72,133,255 // test %rdi,%rdi .byte 117,29 // jne 178a2 <_sk_store_f32_sse41+0x7d> .byte 102,69,15,21,211 // unpckhpd %xmm11,%xmm10 .byte 69,15,17,68,128,16 // movups %xmm8,0x10(%r8,%rax,4) .byte 102,69,15,17,76,128,32 // movupd %xmm9,0x20(%r8,%rax,4) .byte 102,69,15,17,84,128,48 // movupd %xmm10,0x30(%r8,%rax,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,246 // je 1789e <_sk_store_f32_sse41+0x79> .byte 69,15,17,68,128,16 // movups %xmm8,0x10(%r8,%rax,4) .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,234 // jb 1789e <_sk_store_f32_sse41+0x79> .byte 102,69,15,17,76,128,32 // movupd %xmm9,0x20(%r8,%rax,4) .byte 235,225 // jmp 1789e <_sk_store_f32_sse41+0x79> 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,8 // movss (%rax),%xmm9 .byte 243,68,15,16,64,4 // movss 0x4(%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 102,69,15,58,8,192,1 // roundps $0x1,%xmm8,%xmm8 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,95,192 // maxps %xmm0,%xmm8 .byte 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_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,8 // movss (%rax),%xmm9 .byte 243,68,15,16,64,4 // movss 0x4(%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 68,15,89,193 // mulps %xmm1,%xmm8 .byte 102,69,15,58,8,192,1 // roundps $0x1,%xmm8,%xmm8 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 65,15,92,200 // subps %xmm8,%xmm1 .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,95,193 // maxps %xmm1,%xmm8 .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_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,58,52,1,0 // mulss 0x1343a(%rip),%xmm9 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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 69,15,87,201 // xorps %xmm9,%xmm9 .byte 68,15,92,200 // subps %xmm0,%xmm9 .byte 68,15,84,200 // andps %xmm0,%xmm9 .byte 69,15,95,193 // maxps %xmm9,%xmm8 .byte 102,15,118,192 // pcmpeqd %xmm0,%xmm0 .byte 102,65,15,254,194 // paddd %xmm10,%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_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,200,51,1,0 // mulss 0x133c8(%rip),%xmm9 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .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 69,15,87,201 // xorps %xmm9,%xmm9 .byte 68,15,92,201 // subps %xmm1,%xmm9 .byte 68,15,84,201 // andps %xmm1,%xmm9 .byte 69,15,95,193 // maxps %xmm9,%xmm8 .byte 102,15,118,201 // pcmpeqd %xmm1,%xmm1 .byte 102,65,15,254,202 // paddd %xmm10,%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_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,127,53,1,0 // minps 0x1357f(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,192,53,1,0 // movaps 0x135c0(%rip),%xmm8 # 2b070 <_sk_srcover_rgba_8888_sse2_lowp+0xa9c> .byte 65,15,88,192 // addps %xmm8,%xmm0 .byte 68,15,40,13,68,53,1,0 // movaps 0x13544(%rip),%xmm9 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,115,58,1,0 // mulps 0x13a73(%rip),%xmm0 # 2b560 <_sk_srcover_rgba_8888_sse2_lowp+0xf8c> .byte 15,89,13,124,58,1,0 // mulps 0x13a7c(%rip),%xmm1 # 2b570 <_sk_srcover_rgba_8888_sse2_lowp+0xf9c> .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,89,29,130,58,1,0 // mulps 0x13a82(%rip),%xmm3 # 2b580 <_sk_srcover_rgba_8888_sse2_lowp+0xfac> .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,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 17f9e <_sk_evenly_spaced_gradient_sse41+0x18> .byte 243,72,15,42,203 // cvtsi2ss %rbx,%xmm1 .byte 235,21 // jmp 17fb3 <_sk_evenly_spaced_gradient_sse41+0x2d> .byte 73,137,216 // mov %rbx,%r8 .byte 73,209,232 // shr %r8 .byte 131,227,1 // and $0x1,%ebx .byte 76,9,195 // or %r8,%rbx .byte 243,72,15,42,203 // cvtsi2ss %rbx,%xmm1 .byte 243,15,88,201 // addss %xmm1,%xmm1 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,73,15,58,22,200,1 // pextrq $0x1,%xmm1,%r8 .byte 69,137,193 // mov %r8d,%r9d .byte 73,193,232,32 // shr $0x20,%r8 .byte 102,73,15,126,202 // movq %xmm1,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 243,71,15,16,4,158 // movss (%r14,%r11,4),%xmm8 .byte 102,71,15,58,33,4,150,16 // insertps $0x10,(%r14,%r10,4),%xmm8 .byte 243,67,15,16,12,142 // movss (%r14,%r9,4),%xmm1 .byte 102,68,15,58,33,193,32 // insertps $0x20,%xmm1,%xmm8 .byte 243,67,15,16,12,134 // movss (%r14,%r8,4),%xmm1 .byte 102,68,15,58,33,193,48 // insertps $0x30,%xmm1,%xmm8 .byte 72,139,88,40 // mov 0x28(%rax),%rbx .byte 243,70,15,16,12,155 // movss (%rbx,%r11,4),%xmm9 .byte 102,70,15,58,33,12,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm9 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 102,68,15,58,33,201,32 // insertps $0x20,%xmm1,%xmm9 .byte 243,66,15,16,12,131 // movss (%rbx,%r8,4),%xmm1 .byte 102,68,15,58,33,201,48 // insertps $0x30,%xmm1,%xmm9 .byte 72,139,88,16 // mov 0x10(%rax),%rbx .byte 243,66,15,16,12,155 // movss (%rbx,%r11,4),%xmm1 .byte 102,66,15,58,33,12,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm1 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 102,15,58,33,202,32 // insertps $0x20,%xmm2,%xmm1 .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 .byte 102,15,58,33,202,48 // insertps $0x30,%xmm2,%xmm1 .byte 72,139,88,48 // mov 0x30(%rax),%rbx .byte 243,70,15,16,20,155 // movss (%rbx,%r11,4),%xmm10 .byte 102,70,15,58,33,20,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm10 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 102,68,15,58,33,210,32 // insertps $0x20,%xmm2,%xmm10 .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 .byte 102,68,15,58,33,210,48 // insertps $0x30,%xmm2,%xmm10 .byte 72,139,88,24 // mov 0x18(%rax),%rbx .byte 243,66,15,16,20,155 // movss (%rbx,%r11,4),%xmm2 .byte 102,66,15,58,33,20,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm2 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 102,15,58,33,211,48 // insertps $0x30,%xmm3,%xmm2 .byte 72,139,88,56 // mov 0x38(%rax),%rbx .byte 243,70,15,16,28,155 // movss (%rbx,%r11,4),%xmm11 .byte 102,70,15,58,33,28,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm11 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 .byte 102,68,15,58,33,219,32 // insertps $0x20,%xmm3,%xmm11 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 102,68,15,58,33,219,48 // insertps $0x30,%xmm3,%xmm11 .byte 72,139,88,32 // mov 0x20(%rax),%rbx .byte 243,66,15,16,28,155 // movss (%rbx,%r11,4),%xmm3 .byte 102,66,15,58,33,28,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm3 .byte 243,70,15,16,36,139 // movss (%rbx,%r9,4),%xmm12 .byte 102,65,15,58,33,220,32 // insertps $0x20,%xmm12,%xmm3 .byte 243,70,15,16,36,131 // movss (%rbx,%r8,4),%xmm12 .byte 102,65,15,58,33,220,48 // insertps $0x30,%xmm12,%xmm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 243,70,15,16,36,152 // movss (%rax,%r11,4),%xmm12 .byte 102,70,15,58,33,36,144,16 // insertps $0x10,(%rax,%r10,4),%xmm12 .byte 243,70,15,16,44,136 // movss (%rax,%r9,4),%xmm13 .byte 102,69,15,58,33,229,32 // insertps $0x20,%xmm13,%xmm12 .byte 243,70,15,16,44,128 // movss (%rax,%r8,4),%xmm13 .byte 102,69,15,58,33,229,48 // insertps $0x30,%xmm13,%xmm12 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 65,15,88,211 // addps %xmm11,%xmm2 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 65,15,88,220 // addps %xmm12,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax HIDDEN _sk_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,49,52,1,0 // movaps 0x13431(%rip),%xmm0 # 2b590 <_sk_srcover_rgba_8888_sse2_lowp+0xfbc> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,55,52,1,0 // addps 0x13437(%rip),%xmm0 # 2b5a0 <_sk_srcover_rgba_8888_sse2_lowp+0xfcc> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,61,52,1,0 // addps 0x1343d(%rip),%xmm0 # 2b5b0 <_sk_srcover_rgba_8888_sse2_lowp+0xfdc> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,67,52,1,0 // addps 0x13443(%rip),%xmm0 # 2b5c0 <_sk_srcover_rgba_8888_sse2_lowp+0xfec> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,73,52,1,0 // addps 0x13449(%rip),%xmm0 # 2b5d0 <_sk_srcover_rgba_8888_sse2_lowp+0xffc> .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 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 73,131,248,2 // cmp $0x2,%r8 .byte 114,41 // jb 181cc <_sk_gradient_sse41+0x38> .byte 76,139,72,72 // mov 0x48(%rax),%r9 .byte 73,255,200 // dec %r8 .byte 73,131,193,4 // add $0x4,%r9 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 243,65,15,16,17 // movss (%r9),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 15,194,208,2 // cmpleps %xmm0,%xmm2 .byte 102,15,250,202 // psubd %xmm2,%xmm1 .byte 73,131,193,4 // add $0x4,%r9 .byte 73,255,200 // dec %r8 .byte 117,230 // jne 181b2 <_sk_gradient_sse41+0x1e> .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 102,73,15,58,22,200,1 // pextrq $0x1,%xmm1,%r8 .byte 69,137,193 // mov %r8d,%r9d .byte 73,193,232,32 // shr $0x20,%r8 .byte 102,73,15,126,202 // movq %xmm1,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,112,16 // mov 0x10(%rax),%r14 .byte 243,70,15,16,4,155 // movss (%rbx,%r11,4),%xmm8 .byte 102,70,15,58,33,4,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm8 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 102,68,15,58,33,193,32 // insertps $0x20,%xmm1,%xmm8 .byte 243,66,15,16,12,131 // movss (%rbx,%r8,4),%xmm1 .byte 102,68,15,58,33,193,48 // insertps $0x30,%xmm1,%xmm8 .byte 72,139,88,40 // mov 0x28(%rax),%rbx .byte 243,70,15,16,12,155 // movss (%rbx,%r11,4),%xmm9 .byte 102,70,15,58,33,12,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm9 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 102,68,15,58,33,201,32 // insertps $0x20,%xmm1,%xmm9 .byte 243,66,15,16,12,131 // movss (%rbx,%r8,4),%xmm1 .byte 102,68,15,58,33,201,48 // insertps $0x30,%xmm1,%xmm9 .byte 243,67,15,16,12,158 // movss (%r14,%r11,4),%xmm1 .byte 102,67,15,58,33,12,150,16 // insertps $0x10,(%r14,%r10,4),%xmm1 .byte 243,67,15,16,20,142 // movss (%r14,%r9,4),%xmm2 .byte 102,15,58,33,202,32 // insertps $0x20,%xmm2,%xmm1 .byte 243,67,15,16,20,134 // movss (%r14,%r8,4),%xmm2 .byte 102,15,58,33,202,48 // insertps $0x30,%xmm2,%xmm1 .byte 72,139,88,48 // mov 0x30(%rax),%rbx .byte 243,70,15,16,20,155 // movss (%rbx,%r11,4),%xmm10 .byte 102,70,15,58,33,20,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm10 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 102,68,15,58,33,210,32 // insertps $0x20,%xmm2,%xmm10 .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 .byte 102,68,15,58,33,210,48 // insertps $0x30,%xmm2,%xmm10 .byte 72,139,88,24 // mov 0x18(%rax),%rbx .byte 243,66,15,16,20,155 // movss (%rbx,%r11,4),%xmm2 .byte 102,66,15,58,33,20,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm2 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 .byte 102,15,58,33,211,32 // insertps $0x20,%xmm3,%xmm2 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 102,15,58,33,211,48 // insertps $0x30,%xmm3,%xmm2 .byte 72,139,88,56 // mov 0x38(%rax),%rbx .byte 243,70,15,16,28,155 // movss (%rbx,%r11,4),%xmm11 .byte 102,70,15,58,33,28,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm11 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 .byte 102,68,15,58,33,219,32 // insertps $0x20,%xmm3,%xmm11 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 102,68,15,58,33,219,48 // insertps $0x30,%xmm3,%xmm11 .byte 72,139,88,32 // mov 0x20(%rax),%rbx .byte 243,66,15,16,28,155 // movss (%rbx,%r11,4),%xmm3 .byte 102,66,15,58,33,28,147,16 // insertps $0x10,(%rbx,%r10,4),%xmm3 .byte 243,70,15,16,36,139 // movss (%rbx,%r9,4),%xmm12 .byte 102,65,15,58,33,220,32 // insertps $0x20,%xmm12,%xmm3 .byte 243,70,15,16,36,131 // movss (%rbx,%r8,4),%xmm12 .byte 102,65,15,58,33,220,48 // insertps $0x30,%xmm12,%xmm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 243,70,15,16,36,152 // movss (%rax,%r11,4),%xmm12 .byte 102,70,15,58,33,36,144,16 // insertps $0x10,(%rax,%r10,4),%xmm12 .byte 243,70,15,16,44,136 // movss (%rax,%r9,4),%xmm13 .byte 102,69,15,58,33,229,32 // insertps $0x20,%xmm13,%xmm12 .byte 243,70,15,16,44,128 // movss (%rax,%r8,4),%xmm13 .byte 102,69,15,58,33,229,48 // insertps $0x30,%xmm13,%xmm12 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 65,15,88,211 // addps %xmm11,%xmm2 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 65,15,88,220 // addps %xmm12,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax HIDDEN _sk_evenly_spaced_2_stop_gradient_sse41 .globl _sk_evenly_spaced_2_stop_gradient_sse41 FUNCTION(_sk_evenly_spaced_2_stop_gradient_sse41) _sk_evenly_spaced_2_stop_gradient_sse41: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,15,16,80,16 // movss 0x10(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,80,20 // movss 0x14(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 243,15,16,80,8 // movss 0x8(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,88,24 // movss 0x18(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 243,15,16,88,12 // movss 0xc(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 243,68,15,16,72,28 // movss 0x1c(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 65,15,88,217 // addps %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_unit_angle_sse41 .globl _sk_xy_to_unit_angle_sse41 FUNCTION(_sk_xy_to_unit_angle_sse41) _sk_xy_to_unit_angle_sse41: .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 65,15,84,193 // andps %xmm9,%xmm0 .byte 69,15,87,219 // xorps %xmm11,%xmm11 .byte 68,15,92,217 // subps %xmm1,%xmm11 .byte 68,15,84,217 // andps %xmm1,%xmm11 .byte 68,15,40,224 // movaps %xmm0,%xmm12 .byte 69,15,93,227 // minps %xmm11,%xmm12 .byte 68,15,40,208 // movaps %xmm0,%xmm10 .byte 69,15,95,211 // maxps %xmm11,%xmm10 .byte 69,15,94,226 // divps %xmm10,%xmm12 .byte 69,15,40,236 // movaps %xmm12,%xmm13 .byte 69,15,89,237 // mulps %xmm13,%xmm13 .byte 68,15,40,21,192,49,1,0 // movaps 0x131c0(%rip),%xmm10 # 2b5e0 <_sk_srcover_rgba_8888_sse2_lowp+0x100c> .byte 69,15,89,213 // mulps %xmm13,%xmm10 .byte 68,15,88,21,196,49,1,0 // addps 0x131c4(%rip),%xmm10 # 2b5f0 <_sk_srcover_rgba_8888_sse2_lowp+0x101c> .byte 69,15,89,213 // mulps %xmm13,%xmm10 .byte 68,15,88,21,200,49,1,0 // addps 0x131c8(%rip),%xmm10 # 2b600 <_sk_srcover_rgba_8888_sse2_lowp+0x102c> .byte 69,15,89,213 // mulps %xmm13,%xmm10 .byte 68,15,88,21,204,49,1,0 // addps 0x131cc(%rip),%xmm10 # 2b610 <_sk_srcover_rgba_8888_sse2_lowp+0x103c> .byte 69,15,89,212 // mulps %xmm12,%xmm10 .byte 65,15,194,195,1 // cmpltps %xmm11,%xmm0 .byte 68,15,40,29,203,49,1,0 // movaps 0x131cb(%rip),%xmm11 # 2b620 <_sk_srcover_rgba_8888_sse2_lowp+0x104c> .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,148,43,1,0 // movaps 0x12b94(%rip),%xmm11 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,134,43,1,0 // movaps 0x12b86(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,63,49,1,0 // mulps 0x1313f(%rip),%xmm9 # 2b630 <_sk_srcover_rgba_8888_sse2_lowp+0x105c> .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,42,49,1,0 // mulps 0x1312a(%rip),%xmm10 # 2b640 <_sk_srcover_rgba_8888_sse2_lowp+0x106c> .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,210,47,1,0 // xorps 0x12fd2(%rip),%xmm9 # 2b510 <_sk_srcover_rgba_8888_sse2_lowp+0xf3c> .byte 68,15,89,5,186,42,1,0 // mulps 0x12aba(%rip),%xmm8 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,161,48,1,0 // mulps 0x130a1(%rip),%xmm9 # 2b630 <_sk_srcover_rgba_8888_sse2_lowp+0x105c> .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,140,48,1,0 // mulps 0x1308c(%rip),%xmm10 # 2b640 <_sk_srcover_rgba_8888_sse2_lowp+0x106c> .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,52,47,1,0 // xorps 0x12f34(%rip),%xmm9 # 2b510 <_sk_srcover_rgba_8888_sse2_lowp+0xf3c> .byte 68,15,89,5,28,42,1,0 // mulps 0x12a1c(%rip),%xmm8 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,20,48,1,0 // mulps 0x13014(%rip),%xmm9 # 2b630 <_sk_srcover_rgba_8888_sse2_lowp+0x105c> .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,208,46,1,0 // xorps 0x12ed0(%rip),%xmm0 # 2b510 <_sk_srcover_rgba_8888_sse2_lowp+0xf3c> .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,86,41,1,0 // movaps 0x12956(%rip),%xmm8 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,24,47,1,0 // addps 0x12f18(%rip),%xmm0 # 2b650 <_sk_srcover_rgba_8888_sse2_lowp+0x107c> .byte 68,15,40,13,208,40,1,0 // movaps 0x128d0(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,159,40,1,0 // addps 0x1289f(%rip),%xmm0 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,209,46,1,0 // addps 0x12ed1(%rip),%xmm1 # 2b650 <_sk_srcover_rgba_8888_sse2_lowp+0x107c> .byte 68,15,40,13,137,40,1,0 // movaps 0x12889(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,87,40,1,0 // addps 0x12857(%rip),%xmm1 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,154,46,1,0 // addps 0x12e9a(%rip),%xmm0 # 2b660 <_sk_srcover_rgba_8888_sse2_lowp+0x108c> .byte 68,15,40,13,66,40,1,0 // movaps 0x12842(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,142,46,1,0 // mulps 0x12e8e(%rip),%xmm9 # 2b670 <_sk_srcover_rgba_8888_sse2_lowp+0x109c> .byte 68,15,88,13,22,42,1,0 // addps 0x12a16(%rip),%xmm9 # 2b200 <_sk_srcover_rgba_8888_sse2_lowp+0xc2c> .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,69,46,1,0 // addps 0x12e45(%rip),%xmm0 # 2b650 <_sk_srcover_rgba_8888_sse2_lowp+0x107c> .byte 68,15,40,13,253,39,1,0 // movaps 0x127fd(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,92,200 // subps %xmm8,%xmm9 .byte 68,15,40,5,97,46,1,0 // movaps 0x12e61(%rip),%xmm8 # 2b680 <_sk_srcover_rgba_8888_sse2_lowp+0x10ac> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,101,46,1,0 // addps 0x12e65(%rip),%xmm8 # 2b690 <_sk_srcover_rgba_8888_sse2_lowp+0x10bc> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,201,39,1,0 // addps 0x127c9(%rip),%xmm8 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,93,46,1,0 // addps 0x12e5d(%rip),%xmm8 # 2b6a0 <_sk_srcover_rgba_8888_sse2_lowp+0x10cc> .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,167,39,1,0 // movaps 0x127a7(%rip),%xmm8 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 15,16,0 // movups (%rax),%xmm0 .byte 68,15,16,72,64 // movups 0x40(%rax),%xmm9 .byte 65,15,88,192 // addps %xmm8,%xmm0 .byte 68,15,40,21,19,46,1,0 // movaps 0x12e13(%rip),%xmm10 # 2b680 <_sk_srcover_rgba_8888_sse2_lowp+0x10ac> .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 68,15,88,21,23,46,1,0 // addps 0x12e17(%rip),%xmm10 # 2b690 <_sk_srcover_rgba_8888_sse2_lowp+0x10bc> .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 69,15,88,208 // addps %xmm8,%xmm10 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 68,15,88,21,19,46,1,0 // addps 0x12e13(%rip),%xmm10 # 2b6a0 <_sk_srcover_rgba_8888_sse2_lowp+0x10cc> .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,230,45,1,0 // addps 0x12de6(%rip),%xmm0 # 2b690 <_sk_srcover_rgba_8888_sse2_lowp+0x10bc> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 69,15,89,201 // mulps %xmm9,%xmm9 .byte 68,15,89,5,182,45,1,0 // mulps 0x12db6(%rip),%xmm8 # 2b670 <_sk_srcover_rgba_8888_sse2_lowp+0x109c> .byte 68,15,88,5,62,41,1,0 // addps 0x1293e(%rip),%xmm8 # 2b200 <_sk_srcover_rgba_8888_sse2_lowp+0xc2c> .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,124,45,1,0 // addps 0x12d7c(%rip),%xmm1 # 2b660 <_sk_srcover_rgba_8888_sse2_lowp+0x108c> .byte 68,15,40,13,36,39,1,0 // movaps 0x12724(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,112,45,1,0 // mulps 0x12d70(%rip),%xmm9 # 2b670 <_sk_srcover_rgba_8888_sse2_lowp+0x109c> .byte 68,15,88,13,248,40,1,0 // addps 0x128f8(%rip),%xmm9 # 2b200 <_sk_srcover_rgba_8888_sse2_lowp+0xc2c> .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,38,45,1,0 // addps 0x12d26(%rip),%xmm1 # 2b650 <_sk_srcover_rgba_8888_sse2_lowp+0x107c> .byte 68,15,40,13,222,38,1,0 // movaps 0x126de(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,92,200 // subps %xmm8,%xmm9 .byte 68,15,40,5,66,45,1,0 // movaps 0x12d42(%rip),%xmm8 # 2b680 <_sk_srcover_rgba_8888_sse2_lowp+0x10ac> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,70,45,1,0 // addps 0x12d46(%rip),%xmm8 # 2b690 <_sk_srcover_rgba_8888_sse2_lowp+0x10bc> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,170,38,1,0 // addps 0x126aa(%rip),%xmm8 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,62,45,1,0 // addps 0x12d3e(%rip),%xmm8 # 2b6a0 <_sk_srcover_rgba_8888_sse2_lowp+0x10cc> .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,136,38,1,0 // movaps 0x12688(%rip),%xmm8 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,243,44,1,0 // movaps 0x12cf3(%rip),%xmm10 # 2b680 <_sk_srcover_rgba_8888_sse2_lowp+0x10ac> .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 68,15,88,21,247,44,1,0 // addps 0x12cf7(%rip),%xmm10 # 2b690 <_sk_srcover_rgba_8888_sse2_lowp+0x10bc> .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,243,44,1,0 // addps 0x12cf3(%rip),%xmm10 # 2b6a0 <_sk_srcover_rgba_8888_sse2_lowp+0x10cc> .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,197,44,1,0 // addps 0x12cc5(%rip),%xmm1 # 2b690 <_sk_srcover_rgba_8888_sse2_lowp+0x10bc> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 69,15,89,201 // mulps %xmm9,%xmm9 .byte 68,15,89,5,149,44,1,0 // mulps 0x12c95(%rip),%xmm8 # 2b670 <_sk_srcover_rgba_8888_sse2_lowp+0x109c> .byte 68,15,88,5,29,40,1,0 // addps 0x1281d(%rip),%xmm8 # 2b200 <_sk_srcover_rgba_8888_sse2_lowp+0xc2c> .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 73,137,206 // mov %rcx,%r14 .byte 73,137,215 // mov %rdx,%r15 .byte 73,137,253 // mov %rdi,%r13 .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,137,195 // mov %rax,%rbx .byte 73,137,244 // mov %rsi,%r12 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,20,225 // unpcklps %xmm1,%xmm4 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 15,21,193 // unpckhps %xmm1,%xmm0 .byte 15,21,211 // unpckhps %xmm3,%xmm2 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 102,15,20,205 // unpcklpd %xmm5,%xmm1 .byte 15,18,236 // movhlps %xmm4,%xmm5 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 102,15,20,218 // unpcklpd %xmm2,%xmm3 .byte 102,15,17,75,8 // movupd %xmm1,0x8(%rbx) .byte 15,18,208 // movhlps %xmm0,%xmm2 .byte 15,17,107,24 // movups %xmm5,0x18(%rbx) .byte 102,15,17,91,40 // movupd %xmm3,0x28(%rbx) .byte 15,17,83,56 // movups %xmm2,0x38(%rbx) .byte 77,133,237 // test %r13,%r13 .byte 190,4,0,0,0 // mov $0x4,%esi .byte 65,15,69,245 // cmovne %r13d,%esi .byte 72,137,223 // mov %rbx,%rdi .byte 255,19 // callq *(%rbx) .byte 72,139,131,136,0,0,0 // mov 0x88(%rbx),%rax .byte 15,16,32 // movups (%rax),%xmm4 .byte 15,16,64,16 // movups 0x10(%rax),%xmm0 .byte 15,16,88,32 // movups 0x20(%rax),%xmm3 .byte 15,16,80,48 // movups 0x30(%rax),%xmm2 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 15,21,224 // unpckhps %xmm0,%xmm4 .byte 15,21,218 // unpckhps %xmm2,%xmm3 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 15,18,205 // movhlps %xmm5,%xmm1 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 15,18,220 // movhlps %xmm4,%xmm3 .byte 76,137,230 // mov %r12,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,239 // mov %r13,%rdi .byte 76,137,250 // mov %r15,%rdx .byte 76,137,241 // mov %r14,%rcx .byte 15,40,101,192 // movaps -0x40(%rbp),%xmm4 .byte 15,40,109,176 // movaps -0x50(%rbp),%xmm5 .byte 15,40,117,160 // movaps -0x60(%rbp),%xmm6 .byte 15,40,125,144 // movaps -0x70(%rbp),%xmm7 .byte 72,131,196,72 // add $0x48,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_clut_3D_sse41 .globl _sk_clut_3D_sse41 FUNCTION(_sk_clut_3D_sse41) _sk_clut_3D_sse41: .byte 85 // push %rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,131,236,56 // sub $0x38,%rsp .byte 15,41,124,36,32 // movaps %xmm7,0x20(%rsp) .byte 15,41,116,36,16 // movaps %xmm6,0x10(%rsp) .byte 15,41,44,36 // movaps %xmm5,(%rsp) .byte 15,41,100,36,240 // movaps %xmm4,-0x10(%rsp) .byte 15,41,92,36,224 // movaps %xmm3,-0x20(%rsp) .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 72,137,76,36,136 // mov %rcx,-0x78(%rsp) .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,139,64,16 // mov 0x10(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 102,65,15,110,193 // movd %r9d,%xmm0 .byte 102,15,112,192,0 // pshufd $0x0,%xmm0,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 15,41,68,36,208 // movaps %xmm0,-0x30(%rsp) .byte 243,15,91,240 // cvttps2dq %xmm0,%xmm6 .byte 15,40,37,128,43,1,0 // movaps 0x12b80(%rip),%xmm4 # 2b6b0 <_sk_srcover_rgba_8888_sse2_lowp+0x10dc> .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,41,68,36,176 // movaps %xmm0,-0x50(%rsp) .byte 102,65,15,110,208 // movd %r8d,%xmm2 .byte 102,68,15,112,202,0 // pshufd $0x0,%xmm2,%xmm9 .byte 68,139,64,12 // mov 0xc(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 102,65,15,110,233 // movd %r9d,%xmm5 .byte 102,15,112,237,0 // pshufd $0x0,%xmm5,%xmm5 .byte 15,91,253 // cvtdq2ps %xmm5,%xmm7 .byte 15,89,249 // mulps %xmm1,%xmm7 .byte 15,41,124,36,144 // movaps %xmm7,-0x70(%rsp) .byte 243,15,91,239 // cvttps2dq %xmm7,%xmm5 .byte 102,15,127,108,36,160 // movdqa %xmm5,-0x60(%rsp) .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 243,68,15,91,209 // cvttps2dq %xmm1,%xmm10 .byte 102,69,15,56,64,209 // pmulld %xmm9,%xmm10 .byte 102,68,15,56,64,205 // pmulld %xmm5,%xmm9 .byte 102,65,15,110,192 // movd %r8d,%xmm0 .byte 102,15,56,64,194 // pmulld %xmm2,%xmm0 .byte 68,139,64,8 // mov 0x8(%rax),%r8d .byte 65,255,200 // dec %r8d .byte 102,65,15,110,200 // movd %r8d,%xmm1 .byte 102,15,112,201,0 // pshufd $0x0,%xmm1,%xmm1 .byte 68,15,91,217 // cvtdq2ps %xmm1,%xmm11 .byte 68,15,89,219 // mulps %xmm3,%xmm11 .byte 102,65,15,111,209 // movdqa %xmm9,%xmm2 .byte 102,15,111,238 // movdqa %xmm6,%xmm5 .byte 102,15,127,108,36,192 // movdqa %xmm5,-0x40(%rsp) .byte 102,15,254,213 // paddd %xmm5,%xmm2 .byte 102,68,15,112,192,0 // pshufd $0x0,%xmm0,%xmm8 .byte 65,15,88,227 // addps %xmm11,%xmm4 .byte 243,68,15,91,244 // cvttps2dq %xmm4,%xmm14 .byte 102,69,15,56,64,240 // pmulld %xmm8,%xmm14 .byte 243,65,15,91,195 // cvttps2dq %xmm11,%xmm0 .byte 102,68,15,56,64,192 // pmulld %xmm0,%xmm8 .byte 102,65,15,111,216 // movdqa %xmm8,%xmm3 .byte 102,15,254,218 // paddd %xmm2,%xmm3 .byte 102,68,15,111,37,215,42,1,0 // movdqa 0x12ad7(%rip),%xmm12 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,65,15,56,64,220 // pmulld %xmm12,%xmm3 .byte 102,15,118,228 // pcmpeqd %xmm4,%xmm4 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,250,204 // psubd %xmm4,%xmm1 .byte 102,69,15,118,237 // pcmpeqd %xmm13,%xmm13 .byte 102,73,15,58,22,200,1 // pextrq $0x1,%xmm1,%r8 .byte 102,73,15,126,201 // movq %xmm1,%r9 .byte 72,139,0 // mov (%rax),%rax .byte 69,137,202 // mov %r9d,%r10d .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,195 // mov %r8d,%r11d .byte 243,66,15,16,12,144 // movss (%rax,%r10,4),%xmm1 .byte 102,66,15,58,33,12,136,16 // insertps $0x10,(%rax,%r9,4),%xmm1 .byte 243,66,15,16,36,152 // movss (%rax,%r11,4),%xmm4 .byte 102,15,58,33,204,32 // insertps $0x20,%xmm4,%xmm1 .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,36,128 // movss (%rax,%r8,4),%xmm4 .byte 102,15,58,33,204,48 // insertps $0x30,%xmm4,%xmm1 .byte 102,65,15,126,216 // movd %xmm3,%r8d .byte 102,65,15,58,22,217,1 // pextrd $0x1,%xmm3,%r9d .byte 102,65,15,58,22,218,2 // pextrd $0x2,%xmm3,%r10d .byte 102,65,15,58,22,219,3 // pextrd $0x3,%xmm3,%r11d .byte 102,15,111,37,219,35,1,0 // movdqa 0x123db(%rip),%xmm4 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,15,254,220 // paddd %xmm4,%xmm3 .byte 102,15,111,252 // movdqa %xmm4,%xmm7 .byte 102,73,15,58,22,222,1 // pextrq $0x1,%xmm3,%r14 .byte 102,72,15,126,219 // movq %xmm3,%rbx .byte 65,137,223 // mov %ebx,%r15d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,244 // mov %r14d,%r12d .byte 243,66,15,16,36,184 // movss (%rax,%r15,4),%xmm4 .byte 102,15,58,33,36,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm4 .byte 243,66,15,16,28,160 // movss (%rax,%r12,4),%xmm3 .byte 102,15,58,33,227,32 // insertps $0x20,%xmm3,%xmm4 .byte 73,193,238,32 // shr $0x20,%r14 .byte 243,66,15,16,28,176 // movss (%rax,%r14,4),%xmm3 .byte 102,15,58,33,227,48 // insertps $0x30,%xmm3,%xmm4 .byte 102,65,15,254,214 // paddd %xmm14,%xmm2 .byte 102,65,15,56,64,212 // pmulld %xmm12,%xmm2 .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,65,15,250,221 // psubd %xmm13,%xmm3 .byte 102,69,15,118,255 // pcmpeqd %xmm15,%xmm15 .byte 102,73,15,58,22,222,1 // pextrq $0x1,%xmm3,%r14 .byte 102,72,15,126,219 // movq %xmm3,%rbx .byte 65,137,223 // mov %ebx,%r15d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,244 // mov %r14d,%r12d .byte 243,66,15,16,28,184 // movss (%rax,%r15,4),%xmm3 .byte 102,15,58,33,28,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm3 .byte 243,66,15,16,52,160 // movss (%rax,%r12,4),%xmm6 .byte 102,15,58,33,222,32 // insertps $0x20,%xmm6,%xmm3 .byte 73,193,238,32 // shr $0x20,%r14 .byte 243,66,15,16,52,176 // movss (%rax,%r14,4),%xmm6 .byte 102,15,58,33,222,48 // insertps $0x30,%xmm6,%xmm3 .byte 102,65,15,126,213 // movd %xmm2,%r13d .byte 102,65,15,58,22,214,1 // pextrd $0x1,%xmm2,%r14d .byte 102,65,15,58,22,215,2 // pextrd $0x2,%xmm2,%r15d .byte 102,65,15,58,22,212,3 // pextrd $0x3,%xmm2,%r12d .byte 102,15,254,215 // paddd %xmm7,%xmm2 .byte 102,68,15,111,239 // movdqa %xmm7,%xmm13 .byte 102,72,15,58,22,211,1 // pextrq $0x1,%xmm2,%rbx .byte 102,72,15,126,213 // movq %xmm2,%rbp .byte 137,233 // mov %ebp,%ecx .byte 72,193,237,32 // shr $0x20,%rbp .byte 243,15,16,60,136 // movss (%rax,%rcx,4),%xmm7 .byte 102,15,58,33,60,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm7 .byte 137,217 // mov %ebx,%ecx .byte 243,15,16,20,136 // movss (%rax,%rcx,4),%xmm2 .byte 102,15,58,33,250,32 // insertps $0x20,%xmm2,%xmm7 .byte 72,193,235,32 // shr $0x20,%rbx .byte 243,15,16,20,152 // movss (%rax,%rbx,4),%xmm2 .byte 102,15,58,33,250,48 // insertps $0x30,%xmm2,%xmm7 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 68,15,92,216 // subps %xmm0,%xmm11 .byte 243,66,15,16,20,128 // movss (%rax,%r8,4),%xmm2 .byte 102,66,15,58,33,20,136,16 // insertps $0x10,(%rax,%r9,4),%xmm2 .byte 102,66,15,58,33,20,144,32 // insertps $0x20,(%rax,%r10,4),%xmm2 .byte 102,66,15,58,33,20,152,48 // insertps $0x30,(%rax,%r11,4),%xmm2 .byte 243,66,15,16,4,168 // movss (%rax,%r13,4),%xmm0 .byte 102,66,15,58,33,4,176,16 // insertps $0x10,(%rax,%r14,4),%xmm0 .byte 102,66,15,58,33,4,184,32 // insertps $0x20,(%rax,%r15,4),%xmm0 .byte 102,66,15,58,33,4,160,48 // insertps $0x30,(%rax,%r12,4),%xmm0 .byte 15,92,194 // subps %xmm2,%xmm0 .byte 65,15,89,195 // mulps %xmm11,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,92,217 // subps %xmm1,%xmm3 .byte 65,15,89,219 // mulps %xmm11,%xmm3 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 15,92,252 // subps %xmm4,%xmm7 .byte 65,15,89,251 // mulps %xmm11,%xmm7 .byte 15,88,252 // addps %xmm4,%xmm7 .byte 102,65,15,111,226 // movdqa %xmm10,%xmm4 .byte 102,15,254,229 // paddd %xmm5,%xmm4 .byte 102,15,111,204 // movdqa %xmm4,%xmm1 .byte 102,65,15,254,200 // paddd %xmm8,%xmm1 .byte 102,65,15,56,64,204 // pmulld %xmm12,%xmm1 .byte 102,15,126,201 // movd %xmm1,%ecx .byte 102,15,58,22,205,1 // pextrd $0x1,%xmm1,%ebp .byte 102,65,15,58,22,200,2 // pextrd $0x2,%xmm1,%r8d .byte 102,15,58,22,203,3 // pextrd $0x3,%xmm1,%ebx .byte 243,15,16,20,136 // movss (%rax,%rcx,4),%xmm2 .byte 102,15,58,33,20,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm2 .byte 102,66,15,58,33,20,128,32 // insertps $0x20,(%rax,%r8,4),%xmm2 .byte 243,15,16,52,152 // movss (%rax,%rbx,4),%xmm6 .byte 102,15,58,33,214,48 // insertps $0x30,%xmm6,%xmm2 .byte 102,15,111,241 // movdqa %xmm1,%xmm6 .byte 102,65,15,250,247 // psubd %xmm15,%xmm6 .byte 102,69,15,118,255 // pcmpeqd %xmm15,%xmm15 .byte 102,72,15,58,22,241,1 // pextrq $0x1,%xmm6,%rcx .byte 102,72,15,126,245 // movq %xmm6,%rbp .byte 65,137,232 // mov %ebp,%r8d .byte 72,193,237,32 // shr $0x20,%rbp .byte 137,203 // mov %ecx,%ebx .byte 243,66,15,16,52,128 // movss (%rax,%r8,4),%xmm6 .byte 102,15,58,33,52,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm6 .byte 243,15,16,44,152 // movss (%rax,%rbx,4),%xmm5 .byte 102,15,58,33,245,32 // insertps $0x20,%xmm5,%xmm6 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,44,136 // movss (%rax,%rcx,4),%xmm5 .byte 102,15,58,33,245,48 // insertps $0x30,%xmm5,%xmm6 .byte 102,65,15,254,205 // paddd %xmm13,%xmm1 .byte 102,72,15,58,22,201,1 // pextrq $0x1,%xmm1,%rcx .byte 102,72,15,126,205 // movq %xmm1,%rbp .byte 65,137,232 // mov %ebp,%r8d .byte 72,193,237,32 // shr $0x20,%rbp .byte 137,203 // mov %ecx,%ebx .byte 243,66,15,16,12,128 // movss (%rax,%r8,4),%xmm1 .byte 102,15,58,33,12,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm1 .byte 243,15,16,44,152 // movss (%rax,%rbx,4),%xmm5 .byte 102,15,58,33,205,32 // insertps $0x20,%xmm5,%xmm1 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,44,136 // movss (%rax,%rcx,4),%xmm5 .byte 102,15,58,33,205,48 // insertps $0x30,%xmm5,%xmm1 .byte 102,65,15,254,230 // paddd %xmm14,%xmm4 .byte 102,65,15,56,64,228 // pmulld %xmm12,%xmm4 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,65,15,250,239 // psubd %xmm15,%xmm5 .byte 102,72,15,58,22,233,1 // pextrq $0x1,%xmm5,%rcx .byte 102,72,15,126,237 // movq %xmm5,%rbp .byte 65,137,232 // mov %ebp,%r8d .byte 72,193,237,32 // shr $0x20,%rbp .byte 137,203 // mov %ecx,%ebx .byte 243,70,15,16,36,128 // movss (%rax,%r8,4),%xmm12 .byte 102,68,15,58,33,36,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm12 .byte 243,15,16,44,152 // movss (%rax,%rbx,4),%xmm5 .byte 102,68,15,58,33,229,32 // insertps $0x20,%xmm5,%xmm12 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,44,136 // movss (%rax,%rcx,4),%xmm5 .byte 102,68,15,58,33,229,48 // insertps $0x30,%xmm5,%xmm12 .byte 102,65,15,126,224 // movd %xmm4,%r8d .byte 102,65,15,58,22,227,1 // pextrd $0x1,%xmm4,%r11d .byte 102,65,15,58,22,226,2 // pextrd $0x2,%xmm4,%r10d .byte 102,65,15,58,22,225,3 // pextrd $0x3,%xmm4,%r9d .byte 102,65,15,254,229 // paddd %xmm13,%xmm4 .byte 102,72,15,58,22,225,1 // pextrq $0x1,%xmm4,%rcx .byte 102,72,15,126,227 // movq %xmm4,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 137,205 // mov %ecx,%ebp .byte 243,70,15,16,60,176 // movss (%rax,%r14,4),%xmm15 .byte 102,68,15,58,33,60,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm15 .byte 243,15,16,36,168 // movss (%rax,%rbp,4),%xmm4 .byte 102,68,15,58,33,252,32 // insertps $0x20,%xmm4,%xmm15 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,36,136 // movss (%rax,%rcx,4),%xmm4 .byte 102,68,15,58,33,252,48 // insertps $0x30,%xmm4,%xmm15 .byte 243,66,15,16,36,128 // movss (%rax,%r8,4),%xmm4 .byte 102,66,15,58,33,36,152,16 // insertps $0x10,(%rax,%r11,4),%xmm4 .byte 102,66,15,58,33,36,144,32 // insertps $0x20,(%rax,%r10,4),%xmm4 .byte 102,66,15,58,33,36,136,48 // insertps $0x30,(%rax,%r9,4),%xmm4 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 65,15,89,227 // mulps %xmm11,%xmm4 .byte 15,88,226 // addps %xmm2,%xmm4 .byte 68,15,92,230 // subps %xmm6,%xmm12 .byte 69,15,89,227 // mulps %xmm11,%xmm12 .byte 68,15,88,230 // addps %xmm6,%xmm12 .byte 68,15,92,249 // subps %xmm1,%xmm15 .byte 69,15,89,251 // mulps %xmm11,%xmm15 .byte 68,15,88,249 // addps %xmm1,%xmm15 .byte 15,91,76,36,160 // cvtdq2ps -0x60(%rsp),%xmm1 .byte 68,15,40,108,36,144 // movaps -0x70(%rsp),%xmm13 .byte 68,15,92,233 // subps %xmm1,%xmm13 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 65,15,89,229 // mulps %xmm13,%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 68,15,92,227 // subps %xmm3,%xmm12 .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 68,15,88,227 // addps %xmm3,%xmm12 .byte 68,15,92,255 // subps %xmm7,%xmm15 .byte 69,15,89,253 // mulps %xmm13,%xmm15 .byte 68,15,88,255 // addps %xmm7,%xmm15 .byte 243,15,91,84,36,176 // cvttps2dq -0x50(%rsp),%xmm2 .byte 102,68,15,254,202 // paddd %xmm2,%xmm9 .byte 102,65,15,111,192 // movdqa %xmm8,%xmm0 .byte 102,65,15,254,193 // paddd %xmm9,%xmm0 .byte 102,15,111,45,230,38,1,0 // movdqa 0x126e6(%rip),%xmm5 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,15,56,64,197 // pmulld %xmm5,%xmm0 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,118,246 // pcmpeqd %xmm6,%xmm6 .byte 102,15,250,206 // psubd %xmm6,%xmm1 .byte 102,72,15,58,22,201,1 // pextrq $0x1,%xmm1,%rcx .byte 102,72,15,126,205 // movq %xmm1,%rbp .byte 137,235 // mov %ebp,%ebx .byte 72,193,237,32 // shr $0x20,%rbp .byte 65,137,200 // mov %ecx,%r8d .byte 243,15,16,12,152 // movss (%rax,%rbx,4),%xmm1 .byte 102,15,58,33,12,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm1 .byte 243,66,15,16,28,128 // movss (%rax,%r8,4),%xmm3 .byte 102,15,58,33,203,32 // insertps $0x20,%xmm3,%xmm1 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,28,136 // movss (%rax,%rcx,4),%xmm3 .byte 102,15,58,33,203,48 // insertps $0x30,%xmm3,%xmm1 .byte 102,65,15,126,192 // movd %xmm0,%r8d .byte 102,65,15,58,22,193,1 // pextrd $0x1,%xmm0,%r9d .byte 102,65,15,58,22,194,2 // pextrd $0x2,%xmm0,%r10d .byte 102,65,15,58,22,195,3 // pextrd $0x3,%xmm0,%r11d .byte 102,15,111,61,247,31,1,0 // movdqa 0x11ff7(%rip),%xmm7 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,15,254,199 // paddd %xmm7,%xmm0 .byte 102,72,15,58,22,193,1 // pextrq $0x1,%xmm0,%rcx .byte 102,72,15,126,195 // movq %xmm0,%rbx .byte 137,221 // mov %ebx,%ebp .byte 72,193,235,32 // shr $0x20,%rbx .byte 65,137,206 // mov %ecx,%r14d .byte 243,15,16,4,168 // movss (%rax,%rbp,4),%xmm0 .byte 102,15,58,33,4,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm0 .byte 243,66,15,16,28,176 // movss (%rax,%r14,4),%xmm3 .byte 102,15,58,33,195,32 // insertps $0x20,%xmm3,%xmm0 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,28,136 // movss (%rax,%rcx,4),%xmm3 .byte 102,15,58,33,195,48 // insertps $0x30,%xmm3,%xmm0 .byte 102,69,15,254,206 // paddd %xmm14,%xmm9 .byte 102,68,15,56,64,205 // pmulld %xmm5,%xmm9 .byte 102,65,15,111,217 // movdqa %xmm9,%xmm3 .byte 102,15,250,222 // psubd %xmm6,%xmm3 .byte 102,72,15,58,22,217,1 // pextrq $0x1,%xmm3,%rcx .byte 102,72,15,126,219 // movq %xmm3,%rbx .byte 137,221 // mov %ebx,%ebp .byte 72,193,235,32 // shr $0x20,%rbx .byte 65,137,206 // mov %ecx,%r14d .byte 243,15,16,52,168 // movss (%rax,%rbp,4),%xmm6 .byte 102,15,58,33,52,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm6 .byte 243,66,15,16,28,176 // movss (%rax,%r14,4),%xmm3 .byte 102,15,58,33,243,32 // insertps $0x20,%xmm3,%xmm6 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,28,136 // movss (%rax,%rcx,4),%xmm3 .byte 102,15,58,33,243,48 // insertps $0x30,%xmm3,%xmm6 .byte 102,69,15,126,205 // movd %xmm9,%r13d .byte 102,69,15,58,22,207,1 // pextrd $0x1,%xmm9,%r15d .byte 102,69,15,58,22,204,2 // pextrd $0x2,%xmm9,%r12d .byte 102,69,15,58,22,206,3 // pextrd $0x3,%xmm9,%r14d .byte 102,68,15,254,207 // paddd %xmm7,%xmm9 .byte 102,76,15,58,22,203,1 // pextrq $0x1,%xmm9,%rbx .byte 102,76,15,126,205 // movq %xmm9,%rbp .byte 137,233 // mov %ebp,%ecx .byte 72,193,237,32 // shr $0x20,%rbp .byte 243,15,16,60,136 // movss (%rax,%rcx,4),%xmm7 .byte 102,15,58,33,60,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm7 .byte 137,217 // mov %ebx,%ecx .byte 243,15,16,28,136 // movss (%rax,%rcx,4),%xmm3 .byte 102,15,58,33,251,32 // insertps $0x20,%xmm3,%xmm7 .byte 72,193,235,32 // shr $0x20,%rbx .byte 243,15,16,28,152 // movss (%rax,%rbx,4),%xmm3 .byte 102,15,58,33,251,48 // insertps $0x30,%xmm3,%xmm7 .byte 243,66,15,16,44,128 // movss (%rax,%r8,4),%xmm5 .byte 102,66,15,58,33,44,136,16 // insertps $0x10,(%rax,%r9,4),%xmm5 .byte 102,66,15,58,33,44,144,32 // insertps $0x20,(%rax,%r10,4),%xmm5 .byte 102,66,15,58,33,44,152,48 // insertps $0x30,(%rax,%r11,4),%xmm5 .byte 243,66,15,16,28,168 // movss (%rax,%r13,4),%xmm3 .byte 102,66,15,58,33,28,184,16 // insertps $0x10,(%rax,%r15,4),%xmm3 .byte 102,66,15,58,33,28,160,32 // insertps $0x20,(%rax,%r12,4),%xmm3 .byte 102,66,15,58,33,28,176,48 // insertps $0x30,(%rax,%r14,4),%xmm3 .byte 15,92,221 // subps %xmm5,%xmm3 .byte 65,15,89,219 // mulps %xmm11,%xmm3 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 15,92,241 // subps %xmm1,%xmm6 .byte 65,15,89,243 // mulps %xmm11,%xmm6 .byte 15,88,241 // addps %xmm1,%xmm6 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 65,15,89,251 // mulps %xmm11,%xmm7 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 102,68,15,254,210 // paddd %xmm2,%xmm10 .byte 102,69,15,254,194 // paddd %xmm10,%xmm8 .byte 102,15,111,13,34,37,1,0 // movdqa 0x12522(%rip),%xmm1 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,68,15,56,64,193 // pmulld %xmm1,%xmm8 .byte 102,65,15,111,192 // movdqa %xmm8,%xmm0 .byte 102,15,118,237 // pcmpeqd %xmm5,%xmm5 .byte 102,15,250,197 // psubd %xmm5,%xmm0 .byte 102,72,15,58,22,193,1 // pextrq $0x1,%xmm0,%rcx .byte 102,72,15,126,197 // movq %xmm0,%rbp .byte 137,235 // mov %ebp,%ebx .byte 72,193,237,32 // shr $0x20,%rbp .byte 65,137,200 // mov %ecx,%r8d .byte 243,68,15,16,12,152 // movss (%rax,%rbx,4),%xmm9 .byte 102,68,15,58,33,12,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm9 .byte 243,66,15,16,4,128 // movss (%rax,%r8,4),%xmm0 .byte 102,68,15,58,33,200,32 // insertps $0x20,%xmm0,%xmm9 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,4,136 // movss (%rax,%rcx,4),%xmm0 .byte 102,68,15,58,33,200,48 // insertps $0x30,%xmm0,%xmm9 .byte 102,69,15,126,192 // movd %xmm8,%r8d .byte 102,69,15,58,22,193,1 // pextrd $0x1,%xmm8,%r9d .byte 102,69,15,58,22,194,2 // pextrd $0x2,%xmm8,%r10d .byte 102,69,15,58,22,195,3 // pextrd $0x3,%xmm8,%r11d .byte 102,15,111,21,45,30,1,0 // movdqa 0x11e2d(%rip),%xmm2 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,68,15,254,194 // paddd %xmm2,%xmm8 .byte 102,76,15,58,22,193,1 // pextrq $0x1,%xmm8,%rcx .byte 102,76,15,126,195 // movq %xmm8,%rbx .byte 137,221 // mov %ebx,%ebp .byte 72,193,235,32 // shr $0x20,%rbx .byte 65,137,206 // mov %ecx,%r14d .byte 243,68,15,16,4,168 // movss (%rax,%rbp,4),%xmm8 .byte 102,68,15,58,33,4,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm8 .byte 243,66,15,16,4,176 // movss (%rax,%r14,4),%xmm0 .byte 102,68,15,58,33,192,32 // insertps $0x20,%xmm0,%xmm8 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,4,136 // movss (%rax,%rcx,4),%xmm0 .byte 102,68,15,58,33,192,48 // insertps $0x30,%xmm0,%xmm8 .byte 102,69,15,254,214 // paddd %xmm14,%xmm10 .byte 102,68,15,56,64,209 // pmulld %xmm1,%xmm10 .byte 102,65,15,111,194 // movdqa %xmm10,%xmm0 .byte 102,15,250,197 // psubd %xmm5,%xmm0 .byte 102,72,15,58,22,193,1 // pextrq $0x1,%xmm0,%rcx .byte 102,72,15,126,195 // movq %xmm0,%rbx .byte 137,221 // mov %ebx,%ebp .byte 72,193,235,32 // shr $0x20,%rbx .byte 65,137,206 // mov %ecx,%r14d .byte 243,15,16,12,168 // movss (%rax,%rbp,4),%xmm1 .byte 102,15,58,33,12,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm1 .byte 243,66,15,16,4,176 // movss (%rax,%r14,4),%xmm0 .byte 102,15,58,33,200,32 // insertps $0x20,%xmm0,%xmm1 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,4,136 // movss (%rax,%rcx,4),%xmm0 .byte 102,15,58,33,200,48 // insertps $0x30,%xmm0,%xmm1 .byte 102,69,15,126,213 // movd %xmm10,%r13d .byte 102,69,15,58,22,215,1 // pextrd $0x1,%xmm10,%r15d .byte 102,69,15,58,22,212,2 // pextrd $0x2,%xmm10,%r12d .byte 102,69,15,58,22,214,3 // pextrd $0x3,%xmm10,%r14d .byte 102,68,15,254,210 // paddd %xmm2,%xmm10 .byte 102,76,15,58,22,211,1 // pextrq $0x1,%xmm10,%rbx .byte 102,76,15,126,213 // movq %xmm10,%rbp .byte 137,233 // mov %ebp,%ecx .byte 72,193,237,32 // shr $0x20,%rbp .byte 243,15,16,20,136 // movss (%rax,%rcx,4),%xmm2 .byte 102,15,58,33,20,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm2 .byte 137,217 // mov %ebx,%ecx .byte 243,15,16,4,136 // movss (%rax,%rcx,4),%xmm0 .byte 102,15,58,33,208,32 // insertps $0x20,%xmm0,%xmm2 .byte 72,193,235,32 // shr $0x20,%rbx .byte 243,15,16,4,152 // movss (%rax,%rbx,4),%xmm0 .byte 102,15,58,33,208,48 // insertps $0x30,%xmm0,%xmm2 .byte 243,66,15,16,44,128 // movss (%rax,%r8,4),%xmm5 .byte 102,66,15,58,33,44,136,16 // insertps $0x10,(%rax,%r9,4),%xmm5 .byte 102,66,15,58,33,44,144,32 // insertps $0x20,(%rax,%r10,4),%xmm5 .byte 102,66,15,58,33,44,152,48 // insertps $0x30,(%rax,%r11,4),%xmm5 .byte 243,66,15,16,4,168 // movss (%rax,%r13,4),%xmm0 .byte 102,66,15,58,33,4,184,16 // insertps $0x10,(%rax,%r15,4),%xmm0 .byte 102,66,15,58,33,4,160,32 // insertps $0x20,(%rax,%r12,4),%xmm0 .byte 102,66,15,58,33,4,176,48 // insertps $0x30,(%rax,%r14,4),%xmm0 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 65,15,89,195 // mulps %xmm11,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 65,15,92,201 // subps %xmm9,%xmm1 .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 65,15,88,201 // addps %xmm9,%xmm1 .byte 65,15,92,208 // subps %xmm8,%xmm2 .byte 65,15,89,211 // mulps %xmm11,%xmm2 .byte 65,15,88,208 // addps %xmm8,%xmm2 .byte 15,92,195 // subps %xmm3,%xmm0 .byte 65,15,89,197 // mulps %xmm13,%xmm0 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 15,92,206 // subps %xmm6,%xmm1 .byte 65,15,89,205 // mulps %xmm13,%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,92,215 // subps %xmm7,%xmm2 .byte 65,15,89,213 // mulps %xmm13,%xmm2 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,91,92,36,192 // cvtdq2ps -0x40(%rsp),%xmm3 .byte 15,40,108,36,208 // movaps -0x30(%rsp),%xmm5 .byte 15,92,235 // subps %xmm3,%xmm5 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 65,15,92,204 // subps %xmm12,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 65,15,88,204 // addps %xmm12,%xmm1 .byte 65,15,92,215 // subps %xmm15,%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 65,15,88,215 // addps %xmm15,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,139,76,36,136 // mov -0x78(%rsp),%rcx .byte 15,40,92,36,224 // movaps -0x20(%rsp),%xmm3 .byte 15,40,100,36,240 // movaps -0x10(%rsp),%xmm4 .byte 15,40,44,36 // movaps (%rsp),%xmm5 .byte 15,40,116,36,16 // movaps 0x10(%rsp),%xmm6 .byte 15,40,124,36,32 // movaps 0x20(%rsp),%xmm7 .byte 72,131,196,56 // add $0x38,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_clut_4D_sse41 .globl _sk_clut_4D_sse41 FUNCTION(_sk_clut_4D_sse41) _sk_clut_4D_sse41: .byte 85 // push %rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,129,236,136,0,0,0 // sub $0x88,%rsp .byte 15,41,124,36,112 // movaps %xmm7,0x70(%rsp) .byte 15,41,116,36,96 // movaps %xmm6,0x60(%rsp) .byte 15,41,108,36,80 // movaps %xmm5,0x50(%rsp) .byte 15,41,100,36,64 // movaps %xmm4,0x40(%rsp) .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 72,137,76,36,248 // mov %rcx,-0x8(%rsp) .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,139,64,20 // mov 0x14(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 102,65,15,110,201 // movd %r9d,%xmm1 .byte 102,15,112,201,0 // pshufd $0x0,%xmm1,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,41,76,36,48 // movaps %xmm1,0x30(%rsp) .byte 243,15,91,249 // cvttps2dq %xmm1,%xmm7 .byte 15,40,29,128,34,1,0 // movaps 0x12280(%rip),%xmm3 # 2b6b0 <_sk_srcover_rgba_8888_sse2_lowp+0x10dc> .byte 15,88,203 // addps %xmm3,%xmm1 .byte 15,41,76,36,160 // movaps %xmm1,-0x60(%rsp) .byte 102,65,15,110,232 // movd %r8d,%xmm5 .byte 102,68,15,112,237,0 // pshufd $0x0,%xmm5,%xmm13 .byte 68,139,64,16 // mov 0x10(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 102,65,15,110,201 // movd %r9d,%xmm1 .byte 102,15,112,201,0 // pshufd $0x0,%xmm1,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,41,76,36,224 // movaps %xmm1,-0x20(%rsp) .byte 243,15,91,209 // cvttps2dq %xmm1,%xmm2 .byte 102,15,127,84,36,32 // movdqa %xmm2,0x20(%rsp) .byte 15,88,203 // addps %xmm3,%xmm1 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,65,15,56,64,205 // pmulld %xmm13,%xmm1 .byte 102,15,127,76,36,144 // movdqa %xmm1,-0x70(%rsp) .byte 102,68,15,56,64,234 // pmulld %xmm2,%xmm13 .byte 102,65,15,110,240 // movd %r8d,%xmm6 .byte 102,15,56,64,245 // pmulld %xmm5,%xmm6 .byte 68,139,64,12 // mov 0xc(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 102,65,15,110,201 // movd %r9d,%xmm1 .byte 102,15,112,201,0 // pshufd $0x0,%xmm1,%xmm1 .byte 15,91,209 // cvtdq2ps %xmm1,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 68,139,72,8 // mov 0x8(%rax),%r9d .byte 65,255,201 // dec %r9d .byte 102,65,15,110,201 // movd %r9d,%xmm1 .byte 102,15,112,201,0 // pshufd $0x0,%xmm1,%xmm1 .byte 68,15,91,225 // cvtdq2ps %xmm1,%xmm12 .byte 68,15,89,224 // mulps %xmm0,%xmm12 .byte 102,65,15,111,229 // movdqa %xmm13,%xmm4 .byte 102,15,127,124,36,16 // movdqa %xmm7,0x10(%rsp) .byte 102,15,254,231 // paddd %xmm7,%xmm4 .byte 102,65,15,110,232 // movd %r8d,%xmm5 .byte 102,15,56,64,238 // pmulld %xmm6,%xmm5 .byte 102,68,15,112,246,0 // pshufd $0x0,%xmm6,%xmm14 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 243,68,15,91,192 // cvttps2dq %xmm0,%xmm8 .byte 102,69,15,56,64,198 // pmulld %xmm14,%xmm8 .byte 102,68,15,127,68,36,208 // movdqa %xmm8,-0x30(%rsp) .byte 243,15,91,194 // cvttps2dq %xmm2,%xmm0 .byte 102,15,127,68,36,128 // movdqa %xmm0,-0x80(%rsp) .byte 102,68,15,56,64,240 // pmulld %xmm0,%xmm14 .byte 102,65,15,111,206 // movdqa %xmm14,%xmm1 .byte 102,15,254,204 // paddd %xmm4,%xmm1 .byte 102,68,15,112,253,0 // pshufd $0x0,%xmm5,%xmm15 .byte 65,15,88,220 // addps %xmm12,%xmm3 .byte 243,68,15,91,203 // cvttps2dq %xmm3,%xmm9 .byte 102,69,15,56,64,207 // pmulld %xmm15,%xmm9 .byte 243,65,15,91,236 // cvttps2dq %xmm12,%xmm5 .byte 102,68,15,56,64,253 // pmulld %xmm5,%xmm15 .byte 102,65,15,111,223 // movdqa %xmm15,%xmm3 .byte 102,15,254,217 // paddd %xmm1,%xmm3 .byte 102,68,15,111,29,127,33,1,0 // movdqa 0x1217f(%rip),%xmm11 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,65,15,56,64,219 // pmulld %xmm11,%xmm3 .byte 102,15,118,192 // pcmpeqd %xmm0,%xmm0 .byte 102,15,111,243 // movdqa %xmm3,%xmm6 .byte 102,15,250,240 // psubd %xmm0,%xmm6 .byte 102,73,15,58,22,240,1 // pextrq $0x1,%xmm6,%r8 .byte 102,73,15,126,241 // movq %xmm6,%r9 .byte 72,139,0 // mov (%rax),%rax .byte 69,137,202 // mov %r9d,%r10d .byte 73,193,233,32 // shr $0x20,%r9 .byte 69,137,195 // mov %r8d,%r11d .byte 243,66,15,16,60,144 // movss (%rax,%r10,4),%xmm7 .byte 102,66,15,58,33,60,136,16 // insertps $0x10,(%rax,%r9,4),%xmm7 .byte 243,66,15,16,52,152 // movss (%rax,%r11,4),%xmm6 .byte 102,15,58,33,254,32 // insertps $0x20,%xmm6,%xmm7 .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,52,128 // movss (%rax,%r8,4),%xmm6 .byte 102,15,58,33,254,48 // insertps $0x30,%xmm6,%xmm7 .byte 102,65,15,126,216 // movd %xmm3,%r8d .byte 102,65,15,58,22,217,1 // pextrd $0x1,%xmm3,%r9d .byte 102,65,15,58,22,218,2 // pextrd $0x2,%xmm3,%r10d .byte 102,65,15,58,22,219,3 // pextrd $0x3,%xmm3,%r11d .byte 102,68,15,111,21,135,26,1,0 // movdqa 0x11a87(%rip),%xmm10 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,65,15,254,218 // paddd %xmm10,%xmm3 .byte 102,73,15,58,22,222,1 // pextrq $0x1,%xmm3,%r14 .byte 102,72,15,126,219 // movq %xmm3,%rbx .byte 65,137,223 // mov %ebx,%r15d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,244 // mov %r14d,%r12d .byte 243,66,15,16,4,184 // movss (%rax,%r15,4),%xmm0 .byte 102,15,58,33,4,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm0 .byte 243,66,15,16,28,160 // movss (%rax,%r12,4),%xmm3 .byte 102,15,58,33,195,32 // insertps $0x20,%xmm3,%xmm0 .byte 73,193,238,32 // shr $0x20,%r14 .byte 243,66,15,16,28,176 // movss (%rax,%r14,4),%xmm3 .byte 102,15,58,33,195,48 // insertps $0x30,%xmm3,%xmm0 .byte 102,68,15,127,76,36,176 // movdqa %xmm9,-0x50(%rsp) .byte 102,65,15,254,201 // paddd %xmm9,%xmm1 .byte 102,65,15,56,64,203 // pmulld %xmm11,%xmm1 .byte 102,15,111,217 // movdqa %xmm1,%xmm3 .byte 102,15,250,29,181,32,1,0 // psubd 0x120b5(%rip),%xmm3 # 2b6d0 <_sk_srcover_rgba_8888_sse2_lowp+0x10fc> .byte 102,73,15,58,22,222,1 // pextrq $0x1,%xmm3,%r14 .byte 102,72,15,126,219 // movq %xmm3,%rbx .byte 65,137,223 // mov %ebx,%r15d .byte 72,193,235,32 // shr $0x20,%rbx .byte 69,137,244 // mov %r14d,%r12d .byte 243,66,15,16,28,184 // movss (%rax,%r15,4),%xmm3 .byte 102,15,58,33,28,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm3 .byte 243,66,15,16,52,160 // movss (%rax,%r12,4),%xmm6 .byte 102,15,58,33,222,32 // insertps $0x20,%xmm6,%xmm3 .byte 73,193,238,32 // shr $0x20,%r14 .byte 243,66,15,16,52,176 // movss (%rax,%r14,4),%xmm6 .byte 102,15,58,33,222,48 // insertps $0x30,%xmm6,%xmm3 .byte 102,65,15,126,205 // movd %xmm1,%r13d .byte 102,65,15,58,22,206,1 // pextrd $0x1,%xmm1,%r14d .byte 102,65,15,58,22,207,2 // pextrd $0x2,%xmm1,%r15d .byte 102,65,15,58,22,204,3 // pextrd $0x3,%xmm1,%r12d .byte 102,65,15,254,202 // paddd %xmm10,%xmm1 .byte 102,72,15,58,22,203,1 // pextrq $0x1,%xmm1,%rbx .byte 102,72,15,126,205 // movq %xmm1,%rbp .byte 137,233 // mov %ebp,%ecx .byte 72,193,237,32 // shr $0x20,%rbp .byte 243,15,16,12,136 // movss (%rax,%rcx,4),%xmm1 .byte 102,15,58,33,12,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm1 .byte 137,217 // mov %ebx,%ecx .byte 243,15,16,52,136 // movss (%rax,%rcx,4),%xmm6 .byte 102,15,58,33,206,32 // insertps $0x20,%xmm6,%xmm1 .byte 72,193,235,32 // shr $0x20,%rbx .byte 243,15,16,52,152 // movss (%rax,%rbx,4),%xmm6 .byte 102,15,58,33,206,48 // insertps $0x30,%xmm6,%xmm1 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 68,15,92,229 // subps %xmm5,%xmm12 .byte 243,66,15,16,44,128 // movss (%rax,%r8,4),%xmm5 .byte 102,66,15,58,33,44,136,16 // insertps $0x10,(%rax,%r9,4),%xmm5 .byte 102,66,15,58,33,44,144,32 // insertps $0x20,(%rax,%r10,4),%xmm5 .byte 102,66,15,58,33,44,152,48 // insertps $0x30,(%rax,%r11,4),%xmm5 .byte 243,66,15,16,52,168 // movss (%rax,%r13,4),%xmm6 .byte 102,66,15,58,33,52,176,16 // insertps $0x10,(%rax,%r14,4),%xmm6 .byte 102,66,15,58,33,52,184,32 // insertps $0x20,(%rax,%r15,4),%xmm6 .byte 102,66,15,58,33,52,160,48 // insertps $0x30,(%rax,%r12,4),%xmm6 .byte 15,92,245 // subps %xmm5,%xmm6 .byte 65,15,89,244 // mulps %xmm12,%xmm6 .byte 15,88,245 // addps %xmm5,%xmm6 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 65,15,89,220 // mulps %xmm12,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 65,15,89,204 // mulps %xmm12,%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 102,65,15,254,224 // paddd %xmm8,%xmm4 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,68,15,127,124,36,192 // movdqa %xmm15,-0x40(%rsp) .byte 102,65,15,254,199 // paddd %xmm15,%xmm0 .byte 102,65,15,56,64,195 // pmulld %xmm11,%xmm0 .byte 102,15,111,232 // movdqa %xmm0,%xmm5 .byte 102,15,250,45,149,31,1,0 // psubd 0x11f95(%rip),%xmm5 # 2b6d0 <_sk_srcover_rgba_8888_sse2_lowp+0x10fc> .byte 102,69,15,118,192 // pcmpeqd %xmm8,%xmm8 .byte 102,72,15,58,22,233,1 // pextrq $0x1,%xmm5,%rcx .byte 102,72,15,126,237 // movq %xmm5,%rbp .byte 65,137,232 // mov %ebp,%r8d .byte 72,193,237,32 // shr $0x20,%rbp .byte 137,203 // mov %ecx,%ebx .byte 243,66,15,16,60,128 // movss (%rax,%r8,4),%xmm7 .byte 102,15,58,33,60,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm7 .byte 243,15,16,44,152 // movss (%rax,%rbx,4),%xmm5 .byte 102,15,58,33,253,32 // insertps $0x20,%xmm5,%xmm7 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,44,136 // movss (%rax,%rcx,4),%xmm5 .byte 102,15,58,33,253,48 // insertps $0x30,%xmm5,%xmm7 .byte 102,65,15,126,193 // movd %xmm0,%r9d .byte 102,65,15,58,22,195,1 // pextrd $0x1,%xmm0,%r11d .byte 102,65,15,58,22,194,2 // pextrd $0x2,%xmm0,%r10d .byte 102,65,15,58,22,192,3 // pextrd $0x3,%xmm0,%r8d .byte 102,65,15,254,194 // paddd %xmm10,%xmm0 .byte 102,72,15,58,22,193,1 // pextrq $0x1,%xmm0,%rcx .byte 102,72,15,126,195 // movq %xmm0,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 137,205 // mov %ecx,%ebp .byte 243,66,15,16,4,176 // movss (%rax,%r14,4),%xmm0 .byte 102,15,58,33,4,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm0 .byte 243,15,16,44,168 // movss (%rax,%rbp,4),%xmm5 .byte 102,15,58,33,197,32 // insertps $0x20,%xmm5,%xmm0 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,44,136 // movss (%rax,%rcx,4),%xmm5 .byte 102,15,58,33,197,48 // insertps $0x30,%xmm5,%xmm0 .byte 102,65,15,254,225 // paddd %xmm9,%xmm4 .byte 102,65,15,56,64,227 // pmulld %xmm11,%xmm4 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,65,15,250,232 // psubd %xmm8,%xmm5 .byte 102,72,15,58,22,233,1 // pextrq $0x1,%xmm5,%rcx .byte 102,72,15,126,235 // movq %xmm5,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 137,205 // mov %ecx,%ebp .byte 243,70,15,16,4,176 // movss (%rax,%r14,4),%xmm8 .byte 102,68,15,58,33,4,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm8 .byte 243,15,16,44,168 // movss (%rax,%rbp,4),%xmm5 .byte 102,68,15,58,33,197,32 // insertps $0x20,%xmm5,%xmm8 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,44,136 // movss (%rax,%rcx,4),%xmm5 .byte 102,68,15,58,33,197,48 // insertps $0x30,%xmm5,%xmm8 .byte 102,65,15,126,231 // movd %xmm4,%r15d .byte 102,65,15,58,22,228,1 // pextrd $0x1,%xmm4,%r12d .byte 102,65,15,58,22,229,2 // pextrd $0x2,%xmm4,%r13d .byte 102,65,15,58,22,230,3 // pextrd $0x3,%xmm4,%r14d .byte 102,65,15,254,226 // paddd %xmm10,%xmm4 .byte 102,72,15,58,22,225,1 // pextrq $0x1,%xmm4,%rcx .byte 102,72,15,126,227 // movq %xmm4,%rbx .byte 137,221 // mov %ebx,%ebp .byte 72,193,235,32 // shr $0x20,%rbx .byte 243,68,15,16,12,168 // movss (%rax,%rbp,4),%xmm9 .byte 102,68,15,58,33,12,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm9 .byte 137,203 // mov %ecx,%ebx .byte 243,15,16,36,152 // movss (%rax,%rbx,4),%xmm4 .byte 102,68,15,58,33,204,32 // insertps $0x20,%xmm4,%xmm9 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,36,136 // movss (%rax,%rcx,4),%xmm4 .byte 102,68,15,58,33,204,48 // insertps $0x30,%xmm4,%xmm9 .byte 243,66,15,16,36,136 // movss (%rax,%r9,4),%xmm4 .byte 102,66,15,58,33,36,152,16 // insertps $0x10,(%rax,%r11,4),%xmm4 .byte 102,66,15,58,33,36,144,32 // insertps $0x20,(%rax,%r10,4),%xmm4 .byte 102,66,15,58,33,36,128,48 // insertps $0x30,(%rax,%r8,4),%xmm4 .byte 243,66,15,16,44,184 // movss (%rax,%r15,4),%xmm5 .byte 102,66,15,58,33,44,160,16 // insertps $0x10,(%rax,%r12,4),%xmm5 .byte 102,66,15,58,33,44,168,32 // insertps $0x20,(%rax,%r13,4),%xmm5 .byte 102,66,15,58,33,44,176,48 // insertps $0x30,(%rax,%r14,4),%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 65,15,89,236 // mulps %xmm12,%xmm5 .byte 15,88,236 // addps %xmm4,%xmm5 .byte 68,15,92,199 // subps %xmm7,%xmm8 .byte 69,15,89,196 // mulps %xmm12,%xmm8 .byte 68,15,88,199 // addps %xmm7,%xmm8 .byte 68,15,92,200 // subps %xmm0,%xmm9 .byte 69,15,89,204 // mulps %xmm12,%xmm9 .byte 68,15,88,200 // addps %xmm0,%xmm9 .byte 15,91,68,36,128 // cvtdq2ps -0x80(%rsp),%xmm0 .byte 15,92,208 // subps %xmm0,%xmm2 .byte 15,41,84,36,128 // movaps %xmm2,-0x80(%rsp) .byte 15,92,238 // subps %xmm6,%xmm5 .byte 15,89,234 // mulps %xmm2,%xmm5 .byte 15,88,238 // addps %xmm6,%xmm5 .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 68,15,89,194 // mulps %xmm2,%xmm8 .byte 68,15,88,195 // addps %xmm3,%xmm8 .byte 68,15,92,201 // subps %xmm1,%xmm9 .byte 68,15,89,202 // mulps %xmm2,%xmm9 .byte 68,15,88,201 // addps %xmm1,%xmm9 .byte 102,15,111,68,36,144 // movdqa -0x70(%rsp),%xmm0 .byte 102,15,254,68,36,16 // paddd 0x10(%rsp),%xmm0 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,65,15,254,206 // paddd %xmm14,%xmm1 .byte 102,15,111,217 // movdqa %xmm1,%xmm3 .byte 102,65,15,254,223 // paddd %xmm15,%xmm3 .byte 102,65,15,111,211 // movdqa %xmm11,%xmm2 .byte 102,15,56,64,218 // pmulld %xmm2,%xmm3 .byte 102,15,126,217 // movd %xmm3,%ecx .byte 102,15,58,22,221,1 // pextrd $0x1,%xmm3,%ebp .byte 102,65,15,58,22,216,2 // pextrd $0x2,%xmm3,%r8d .byte 102,15,58,22,219,3 // pextrd $0x3,%xmm3,%ebx .byte 243,68,15,16,20,136 // movss (%rax,%rcx,4),%xmm10 .byte 102,68,15,58,33,20,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm10 .byte 102,70,15,58,33,20,128,32 // insertps $0x20,(%rax,%r8,4),%xmm10 .byte 243,15,16,36,152 // movss (%rax,%rbx,4),%xmm4 .byte 102,68,15,58,33,212,48 // insertps $0x30,%xmm4,%xmm10 .byte 102,15,111,227 // movdqa %xmm3,%xmm4 .byte 102,15,118,246 // pcmpeqd %xmm6,%xmm6 .byte 102,15,250,230 // psubd %xmm6,%xmm4 .byte 102,72,15,58,22,225,1 // pextrq $0x1,%xmm4,%rcx .byte 102,72,15,126,229 // movq %xmm4,%rbp .byte 65,137,232 // mov %ebp,%r8d .byte 72,193,237,32 // shr $0x20,%rbp .byte 137,203 // mov %ecx,%ebx .byte 243,70,15,16,28,128 // movss (%rax,%r8,4),%xmm11 .byte 102,68,15,58,33,28,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm11 .byte 243,15,16,36,152 // movss (%rax,%rbx,4),%xmm4 .byte 102,68,15,58,33,220,32 // insertps $0x20,%xmm4,%xmm11 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,36,136 // movss (%rax,%rcx,4),%xmm4 .byte 102,68,15,58,33,220,48 // insertps $0x30,%xmm4,%xmm11 .byte 102,15,111,61,121,22,1,0 // movdqa 0x11679(%rip),%xmm7 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,15,254,223 // paddd %xmm7,%xmm3 .byte 102,72,15,58,22,217,1 // pextrq $0x1,%xmm3,%rcx .byte 102,72,15,126,221 // movq %xmm3,%rbp .byte 65,137,232 // mov %ebp,%r8d .byte 72,193,237,32 // shr $0x20,%rbp .byte 137,203 // mov %ecx,%ebx .byte 243,66,15,16,36,128 // movss (%rax,%r8,4),%xmm4 .byte 102,15,58,33,36,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm4 .byte 243,15,16,28,152 // movss (%rax,%rbx,4),%xmm3 .byte 102,15,58,33,227,32 // insertps $0x20,%xmm3,%xmm4 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,28,136 // movss (%rax,%rcx,4),%xmm3 .byte 102,15,58,33,227,48 // insertps $0x30,%xmm3,%xmm4 .byte 102,68,15,111,124,36,176 // movdqa -0x50(%rsp),%xmm15 .byte 102,65,15,254,207 // paddd %xmm15,%xmm1 .byte 102,15,56,64,202 // pmulld %xmm2,%xmm1 .byte 102,15,111,217 // movdqa %xmm1,%xmm3 .byte 102,15,250,222 // psubd %xmm6,%xmm3 .byte 102,72,15,58,22,217,1 // pextrq $0x1,%xmm3,%rcx .byte 102,72,15,126,221 // movq %xmm3,%rbp .byte 65,137,232 // mov %ebp,%r8d .byte 72,193,237,32 // shr $0x20,%rbp .byte 137,203 // mov %ecx,%ebx .byte 243,66,15,16,52,128 // movss (%rax,%r8,4),%xmm6 .byte 102,15,58,33,52,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm6 .byte 243,15,16,28,152 // movss (%rax,%rbx,4),%xmm3 .byte 102,15,58,33,243,32 // insertps $0x20,%xmm3,%xmm6 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,28,136 // movss (%rax,%rcx,4),%xmm3 .byte 102,15,58,33,243,48 // insertps $0x30,%xmm3,%xmm6 .byte 102,65,15,126,201 // movd %xmm1,%r9d .byte 102,65,15,58,22,203,1 // pextrd $0x1,%xmm1,%r11d .byte 102,65,15,58,22,202,2 // pextrd $0x2,%xmm1,%r10d .byte 102,65,15,58,22,200,3 // pextrd $0x3,%xmm1,%r8d .byte 102,15,254,207 // paddd %xmm7,%xmm1 .byte 102,72,15,58,22,201,1 // pextrq $0x1,%xmm1,%rcx .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 137,205 // mov %ecx,%ebp .byte 243,66,15,16,60,176 // movss (%rax,%r14,4),%xmm7 .byte 102,15,58,33,60,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm7 .byte 243,15,16,12,168 // movss (%rax,%rbp,4),%xmm1 .byte 102,15,58,33,249,32 // insertps $0x20,%xmm1,%xmm7 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,12,136 // movss (%rax,%rcx,4),%xmm1 .byte 102,15,58,33,249,48 // insertps $0x30,%xmm1,%xmm7 .byte 243,66,15,16,28,136 // movss (%rax,%r9,4),%xmm3 .byte 102,66,15,58,33,28,152,16 // insertps $0x10,(%rax,%r11,4),%xmm3 .byte 102,66,15,58,33,28,144,32 // insertps $0x20,(%rax,%r10,4),%xmm3 .byte 102,66,15,58,33,28,128,48 // insertps $0x30,(%rax,%r8,4),%xmm3 .byte 65,15,92,218 // subps %xmm10,%xmm3 .byte 68,15,41,36,36 // movaps %xmm12,(%rsp) .byte 65,15,89,220 // mulps %xmm12,%xmm3 .byte 65,15,88,218 // addps %xmm10,%xmm3 .byte 65,15,92,243 // subps %xmm11,%xmm6 .byte 65,15,89,244 // mulps %xmm12,%xmm6 .byte 65,15,88,243 // addps %xmm11,%xmm6 .byte 15,92,252 // subps %xmm4,%xmm7 .byte 65,15,89,252 // mulps %xmm12,%xmm7 .byte 15,88,252 // addps %xmm4,%xmm7 .byte 102,15,254,68,36,208 // paddd -0x30(%rsp),%xmm0 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,254,76,36,192 // paddd -0x40(%rsp),%xmm1 .byte 102,68,15,111,218 // movdqa %xmm2,%xmm11 .byte 102,65,15,56,64,203 // pmulld %xmm11,%xmm1 .byte 102,15,111,225 // movdqa %xmm1,%xmm4 .byte 102,69,15,118,228 // pcmpeqd %xmm12,%xmm12 .byte 102,65,15,250,228 // psubd %xmm12,%xmm4 .byte 102,72,15,58,22,225,1 // pextrq $0x1,%xmm4,%rcx .byte 102,72,15,126,229 // movq %xmm4,%rbp .byte 65,137,232 // mov %ebp,%r8d .byte 72,193,237,32 // shr $0x20,%rbp .byte 137,203 // mov %ecx,%ebx .byte 243,66,15,16,36,128 // movss (%rax,%r8,4),%xmm4 .byte 102,15,58,33,36,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm4 .byte 243,15,16,20,152 // movss (%rax,%rbx,4),%xmm2 .byte 102,15,58,33,226,32 // insertps $0x20,%xmm2,%xmm4 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,20,136 // movss (%rax,%rcx,4),%xmm2 .byte 102,15,58,33,226,48 // insertps $0x30,%xmm2,%xmm4 .byte 102,65,15,126,200 // movd %xmm1,%r8d .byte 102,65,15,58,22,201,1 // pextrd $0x1,%xmm1,%r9d .byte 102,65,15,58,22,202,2 // pextrd $0x2,%xmm1,%r10d .byte 102,65,15,58,22,203,3 // pextrd $0x3,%xmm1,%r11d .byte 102,68,15,111,21,189,20,1,0 // movdqa 0x114bd(%rip),%xmm10 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,65,15,254,202 // paddd %xmm10,%xmm1 .byte 102,72,15,58,22,201,1 // pextrq $0x1,%xmm1,%rcx .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 137,205 // mov %ecx,%ebp .byte 243,66,15,16,12,176 // movss (%rax,%r14,4),%xmm1 .byte 102,15,58,33,12,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm1 .byte 243,15,16,20,168 // movss (%rax,%rbp,4),%xmm2 .byte 102,15,58,33,202,32 // insertps $0x20,%xmm2,%xmm1 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,20,136 // movss (%rax,%rcx,4),%xmm2 .byte 102,15,58,33,202,48 // insertps $0x30,%xmm2,%xmm1 .byte 102,65,15,254,199 // paddd %xmm15,%xmm0 .byte 102,65,15,56,64,195 // pmulld %xmm11,%xmm0 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,65,15,250,212 // psubd %xmm12,%xmm2 .byte 102,72,15,58,22,209,1 // pextrq $0x1,%xmm2,%rcx .byte 102,72,15,126,211 // movq %xmm2,%rbx .byte 65,137,222 // mov %ebx,%r14d .byte 72,193,235,32 // shr $0x20,%rbx .byte 137,205 // mov %ecx,%ebp .byte 243,70,15,16,60,176 // movss (%rax,%r14,4),%xmm15 .byte 102,68,15,58,33,60,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm15 .byte 243,15,16,20,168 // movss (%rax,%rbp,4),%xmm2 .byte 102,68,15,58,33,250,32 // insertps $0x20,%xmm2,%xmm15 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,20,136 // movss (%rax,%rcx,4),%xmm2 .byte 102,68,15,58,33,250,48 // insertps $0x30,%xmm2,%xmm15 .byte 102,65,15,126,199 // movd %xmm0,%r15d .byte 102,65,15,58,22,196,1 // pextrd $0x1,%xmm0,%r12d .byte 102,65,15,58,22,197,2 // pextrd $0x2,%xmm0,%r13d .byte 102,65,15,58,22,198,3 // pextrd $0x3,%xmm0,%r14d .byte 102,65,15,254,194 // paddd %xmm10,%xmm0 .byte 102,72,15,58,22,193,1 // pextrq $0x1,%xmm0,%rcx .byte 102,72,15,126,195 // movq %xmm0,%rbx .byte 137,221 // mov %ebx,%ebp .byte 72,193,235,32 // shr $0x20,%rbx .byte 243,68,15,16,28,168 // movss (%rax,%rbp,4),%xmm11 .byte 102,68,15,58,33,28,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm11 .byte 137,203 // mov %ecx,%ebx .byte 243,15,16,4,152 // movss (%rax,%rbx,4),%xmm0 .byte 102,68,15,58,33,216,32 // insertps $0x20,%xmm0,%xmm11 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,4,136 // movss (%rax,%rcx,4),%xmm0 .byte 102,68,15,58,33,216,48 // insertps $0x30,%xmm0,%xmm11 .byte 243,66,15,16,4,128 // movss (%rax,%r8,4),%xmm0 .byte 102,66,15,58,33,4,136,16 // insertps $0x10,(%rax,%r9,4),%xmm0 .byte 102,66,15,58,33,4,144,32 // insertps $0x20,(%rax,%r10,4),%xmm0 .byte 102,66,15,58,33,4,152,48 // insertps $0x30,(%rax,%r11,4),%xmm0 .byte 243,70,15,16,20,184 // movss (%rax,%r15,4),%xmm10 .byte 102,70,15,58,33,20,160,16 // insertps $0x10,(%rax,%r12,4),%xmm10 .byte 102,70,15,58,33,20,168,32 // insertps $0x20,(%rax,%r13,4),%xmm10 .byte 102,70,15,58,33,20,176,48 // insertps $0x30,(%rax,%r14,4),%xmm10 .byte 68,15,92,208 // subps %xmm0,%xmm10 .byte 68,15,40,36,36 // movaps (%rsp),%xmm12 .byte 69,15,89,212 // mulps %xmm12,%xmm10 .byte 68,15,88,208 // addps %xmm0,%xmm10 .byte 68,15,92,252 // subps %xmm4,%xmm15 .byte 69,15,89,252 // mulps %xmm12,%xmm15 .byte 68,15,88,252 // addps %xmm4,%xmm15 .byte 68,15,92,217 // subps %xmm1,%xmm11 .byte 69,15,89,220 // mulps %xmm12,%xmm11 .byte 68,15,88,217 // addps %xmm1,%xmm11 .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 15,40,68,36,128 // movaps -0x80(%rsp),%xmm0 .byte 68,15,89,208 // mulps %xmm0,%xmm10 .byte 68,15,88,211 // addps %xmm3,%xmm10 .byte 68,15,92,254 // subps %xmm6,%xmm15 .byte 68,15,89,248 // mulps %xmm0,%xmm15 .byte 68,15,88,254 // addps %xmm6,%xmm15 .byte 68,15,92,223 // subps %xmm7,%xmm11 .byte 68,15,89,216 // mulps %xmm0,%xmm11 .byte 68,15,88,223 // addps %xmm7,%xmm11 .byte 15,91,68,36,32 // cvtdq2ps 0x20(%rsp),%xmm0 .byte 15,40,76,36,224 // movaps -0x20(%rsp),%xmm1 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,41,76,36,224 // movaps %xmm1,-0x20(%rsp) .byte 68,15,92,213 // subps %xmm5,%xmm10 .byte 68,15,89,209 // mulps %xmm1,%xmm10 .byte 68,15,88,213 // addps %xmm5,%xmm10 .byte 69,15,92,248 // subps %xmm8,%xmm15 .byte 68,15,89,249 // mulps %xmm1,%xmm15 .byte 69,15,88,248 // addps %xmm8,%xmm15 .byte 69,15,92,217 // subps %xmm9,%xmm11 .byte 68,15,89,217 // mulps %xmm1,%xmm11 .byte 69,15,88,217 // addps %xmm9,%xmm11 .byte 243,15,91,68,36,160 // cvttps2dq -0x60(%rsp),%xmm0 .byte 102,15,127,68,36,160 // movdqa %xmm0,-0x60(%rsp) .byte 102,68,15,254,232 // paddd %xmm0,%xmm13 .byte 102,65,15,111,222 // movdqa %xmm14,%xmm3 .byte 102,65,15,254,221 // paddd %xmm13,%xmm3 .byte 102,15,111,124,36,192 // movdqa -0x40(%rsp),%xmm7 .byte 102,15,111,199 // movdqa %xmm7,%xmm0 .byte 102,15,254,195 // paddd %xmm3,%xmm0 .byte 102,15,111,21,87,25,1,0 // movdqa 0x11957(%rip),%xmm2 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,15,56,64,194 // pmulld %xmm2,%xmm0 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,69,15,118,192 // pcmpeqd %xmm8,%xmm8 .byte 102,65,15,250,200 // psubd %xmm8,%xmm1 .byte 102,72,15,58,22,201,1 // pextrq $0x1,%xmm1,%rcx .byte 102,72,15,126,205 // movq %xmm1,%rbp .byte 137,235 // mov %ebp,%ebx .byte 72,193,237,32 // shr $0x20,%rbp .byte 65,137,200 // mov %ecx,%r8d .byte 243,15,16,44,152 // movss (%rax,%rbx,4),%xmm5 .byte 102,15,58,33,44,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm5 .byte 243,66,15,16,12,128 // movss (%rax,%r8,4),%xmm1 .byte 102,15,58,33,233,32 // insertps $0x20,%xmm1,%xmm5 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,12,136 // movss (%rax,%rcx,4),%xmm1 .byte 102,15,58,33,233,48 // insertps $0x30,%xmm1,%xmm5 .byte 102,65,15,126,192 // movd %xmm0,%r8d .byte 102,65,15,58,22,193,1 // pextrd $0x1,%xmm0,%r9d .byte 102,65,15,58,22,194,2 // pextrd $0x2,%xmm0,%r10d .byte 102,65,15,58,22,195,3 // pextrd $0x3,%xmm0,%r11d .byte 102,15,111,37,102,18,1,0 // movdqa 0x11266(%rip),%xmm4 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,15,254,196 // paddd %xmm4,%xmm0 .byte 102,72,15,58,22,193,1 // pextrq $0x1,%xmm0,%rcx .byte 102,72,15,126,195 // movq %xmm0,%rbx .byte 137,221 // mov %ebx,%ebp .byte 72,193,235,32 // shr $0x20,%rbx .byte 65,137,206 // mov %ecx,%r14d .byte 243,15,16,52,168 // movss (%rax,%rbp,4),%xmm6 .byte 102,15,58,33,52,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm6 .byte 243,66,15,16,4,176 // movss (%rax,%r14,4),%xmm0 .byte 102,15,58,33,240,32 // insertps $0x20,%xmm0,%xmm6 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,4,136 // movss (%rax,%rcx,4),%xmm0 .byte 102,15,58,33,240,48 // insertps $0x30,%xmm0,%xmm6 .byte 102,68,15,111,76,36,176 // movdqa -0x50(%rsp),%xmm9 .byte 102,65,15,254,217 // paddd %xmm9,%xmm3 .byte 102,15,56,64,218 // pmulld %xmm2,%xmm3 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,65,15,250,192 // psubd %xmm8,%xmm0 .byte 102,72,15,58,22,193,1 // pextrq $0x1,%xmm0,%rcx .byte 102,72,15,126,195 // movq %xmm0,%rbx .byte 137,221 // mov %ebx,%ebp .byte 72,193,235,32 // shr $0x20,%rbx .byte 65,137,206 // mov %ecx,%r14d .byte 243,15,16,4,168 // movss (%rax,%rbp,4),%xmm0 .byte 102,15,58,33,4,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm0 .byte 243,66,15,16,12,176 // movss (%rax,%r14,4),%xmm1 .byte 102,15,58,33,193,32 // insertps $0x20,%xmm1,%xmm0 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,12,136 // movss (%rax,%rcx,4),%xmm1 .byte 102,15,58,33,193,48 // insertps $0x30,%xmm1,%xmm0 .byte 102,65,15,126,221 // movd %xmm3,%r13d .byte 102,65,15,58,22,223,1 // pextrd $0x1,%xmm3,%r15d .byte 102,65,15,58,22,220,2 // pextrd $0x2,%xmm3,%r12d .byte 102,65,15,58,22,222,3 // pextrd $0x3,%xmm3,%r14d .byte 102,15,254,220 // paddd %xmm4,%xmm3 .byte 102,68,15,111,196 // movdqa %xmm4,%xmm8 .byte 102,72,15,58,22,219,1 // pextrq $0x1,%xmm3,%rbx .byte 102,72,15,126,221 // movq %xmm3,%rbp .byte 137,233 // mov %ebp,%ecx .byte 72,193,237,32 // shr $0x20,%rbp .byte 243,15,16,28,136 // movss (%rax,%rcx,4),%xmm3 .byte 102,15,58,33,28,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm3 .byte 137,217 // mov %ebx,%ecx .byte 243,15,16,12,136 // movss (%rax,%rcx,4),%xmm1 .byte 102,15,58,33,217,32 // insertps $0x20,%xmm1,%xmm3 .byte 72,193,235,32 // shr $0x20,%rbx .byte 243,15,16,12,152 // movss (%rax,%rbx,4),%xmm1 .byte 102,15,58,33,217,48 // insertps $0x30,%xmm1,%xmm3 .byte 243,66,15,16,12,128 // movss (%rax,%r8,4),%xmm1 .byte 102,66,15,58,33,12,136,16 // insertps $0x10,(%rax,%r9,4),%xmm1 .byte 102,66,15,58,33,12,144,32 // insertps $0x20,(%rax,%r10,4),%xmm1 .byte 102,66,15,58,33,12,152,48 // insertps $0x30,(%rax,%r11,4),%xmm1 .byte 243,66,15,16,36,168 // movss (%rax,%r13,4),%xmm4 .byte 102,66,15,58,33,36,184,16 // insertps $0x10,(%rax,%r15,4),%xmm4 .byte 102,66,15,58,33,36,160,32 // insertps $0x20,(%rax,%r12,4),%xmm4 .byte 102,66,15,58,33,36,176,48 // insertps $0x30,(%rax,%r14,4),%xmm4 .byte 15,92,225 // subps %xmm1,%xmm4 .byte 65,15,89,228 // mulps %xmm12,%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 65,15,89,196 // mulps %xmm12,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,92,222 // subps %xmm6,%xmm3 .byte 65,15,89,220 // mulps %xmm12,%xmm3 .byte 15,88,222 // addps %xmm6,%xmm3 .byte 102,68,15,254,108,36,208 // paddd -0x30(%rsp),%xmm13 .byte 102,65,15,111,205 // movdqa %xmm13,%xmm1 .byte 102,15,254,207 // paddd %xmm7,%xmm1 .byte 102,68,15,111,226 // movdqa %xmm2,%xmm12 .byte 102,65,15,56,64,204 // pmulld %xmm12,%xmm1 .byte 102,15,111,209 // movdqa %xmm1,%xmm2 .byte 102,15,250,21,130,23,1,0 // psubd 0x11782(%rip),%xmm2 # 2b6d0 <_sk_srcover_rgba_8888_sse2_lowp+0x10fc> .byte 102,72,15,58,22,209,1 // pextrq $0x1,%xmm2,%rcx .byte 102,72,15,126,213 // movq %xmm2,%rbp .byte 137,235 // mov %ebp,%ebx .byte 72,193,237,32 // shr $0x20,%rbp .byte 65,137,200 // mov %ecx,%r8d .byte 243,15,16,44,152 // movss (%rax,%rbx,4),%xmm5 .byte 102,15,58,33,44,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm5 .byte 243,66,15,16,20,128 // movss (%rax,%r8,4),%xmm2 .byte 102,15,58,33,234,32 // insertps $0x20,%xmm2,%xmm5 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,20,136 // movss (%rax,%rcx,4),%xmm2 .byte 102,15,58,33,234,48 // insertps $0x30,%xmm2,%xmm5 .byte 102,65,15,126,200 // movd %xmm1,%r8d .byte 102,65,15,58,22,201,1 // pextrd $0x1,%xmm1,%r9d .byte 102,65,15,58,22,202,2 // pextrd $0x2,%xmm1,%r10d .byte 102,65,15,58,22,203,3 // pextrd $0x3,%xmm1,%r11d .byte 102,65,15,254,200 // paddd %xmm8,%xmm1 .byte 102,72,15,58,22,201,1 // pextrq $0x1,%xmm1,%rcx .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 137,221 // mov %ebx,%ebp .byte 72,193,235,32 // shr $0x20,%rbx .byte 65,137,206 // mov %ecx,%r14d .byte 243,15,16,52,168 // movss (%rax,%rbp,4),%xmm6 .byte 102,15,58,33,52,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm6 .byte 243,66,15,16,12,176 // movss (%rax,%r14,4),%xmm1 .byte 102,15,58,33,241,32 // insertps $0x20,%xmm1,%xmm6 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,12,136 // movss (%rax,%rcx,4),%xmm1 .byte 102,15,58,33,241,48 // insertps $0x30,%xmm1,%xmm6 .byte 102,69,15,254,233 // paddd %xmm9,%xmm13 .byte 102,65,15,111,249 // movdqa %xmm9,%xmm7 .byte 102,69,15,56,64,236 // pmulld %xmm12,%xmm13 .byte 102,65,15,111,205 // movdqa %xmm13,%xmm1 .byte 102,15,250,13,206,22,1,0 // psubd 0x116ce(%rip),%xmm1 # 2b6d0 <_sk_srcover_rgba_8888_sse2_lowp+0x10fc> .byte 102,72,15,58,22,201,1 // pextrq $0x1,%xmm1,%rcx .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 137,221 // mov %ebx,%ebp .byte 72,193,235,32 // shr $0x20,%rbx .byte 65,137,206 // mov %ecx,%r14d .byte 243,68,15,16,12,168 // movss (%rax,%rbp,4),%xmm9 .byte 102,68,15,58,33,12,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm9 .byte 243,66,15,16,12,176 // movss (%rax,%r14,4),%xmm1 .byte 102,68,15,58,33,201,32 // insertps $0x20,%xmm1,%xmm9 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,12,136 // movss (%rax,%rcx,4),%xmm1 .byte 102,68,15,58,33,201,48 // insertps $0x30,%xmm1,%xmm9 .byte 102,69,15,126,237 // movd %xmm13,%r13d .byte 102,69,15,58,22,239,1 // pextrd $0x1,%xmm13,%r15d .byte 102,69,15,58,22,236,2 // pextrd $0x2,%xmm13,%r12d .byte 102,69,15,58,22,238,3 // pextrd $0x3,%xmm13,%r14d .byte 102,69,15,254,232 // paddd %xmm8,%xmm13 .byte 102,76,15,58,22,235,1 // pextrq $0x1,%xmm13,%rbx .byte 102,76,15,126,237 // movq %xmm13,%rbp .byte 137,233 // mov %ebp,%ecx .byte 72,193,237,32 // shr $0x20,%rbp .byte 243,68,15,16,4,136 // movss (%rax,%rcx,4),%xmm8 .byte 102,68,15,58,33,4,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm8 .byte 137,217 // mov %ebx,%ecx .byte 243,15,16,12,136 // movss (%rax,%rcx,4),%xmm1 .byte 102,68,15,58,33,193,32 // insertps $0x20,%xmm1,%xmm8 .byte 72,193,235,32 // shr $0x20,%rbx .byte 243,15,16,12,152 // movss (%rax,%rbx,4),%xmm1 .byte 102,68,15,58,33,193,48 // insertps $0x30,%xmm1,%xmm8 .byte 243,66,15,16,12,128 // movss (%rax,%r8,4),%xmm1 .byte 102,66,15,58,33,12,136,16 // insertps $0x10,(%rax,%r9,4),%xmm1 .byte 102,66,15,58,33,12,144,32 // insertps $0x20,(%rax,%r10,4),%xmm1 .byte 102,66,15,58,33,12,152,48 // insertps $0x30,(%rax,%r11,4),%xmm1 .byte 243,70,15,16,36,168 // movss (%rax,%r13,4),%xmm12 .byte 102,70,15,58,33,36,184,16 // insertps $0x10,(%rax,%r15,4),%xmm12 .byte 102,70,15,58,33,36,160,32 // insertps $0x20,(%rax,%r12,4),%xmm12 .byte 102,70,15,58,33,36,176,48 // insertps $0x30,(%rax,%r14,4),%xmm12 .byte 68,15,92,225 // subps %xmm1,%xmm12 .byte 68,15,40,44,36 // movaps (%rsp),%xmm13 .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 68,15,88,225 // addps %xmm1,%xmm12 .byte 68,15,92,205 // subps %xmm5,%xmm9 .byte 69,15,89,205 // mulps %xmm13,%xmm9 .byte 68,15,88,205 // addps %xmm5,%xmm9 .byte 68,15,92,198 // subps %xmm6,%xmm8 .byte 69,15,89,197 // mulps %xmm13,%xmm8 .byte 68,15,88,198 // addps %xmm6,%xmm8 .byte 68,15,92,228 // subps %xmm4,%xmm12 .byte 15,40,76,36,128 // movaps -0x80(%rsp),%xmm1 .byte 68,15,89,225 // mulps %xmm1,%xmm12 .byte 68,15,88,228 // addps %xmm4,%xmm12 .byte 68,15,92,200 // subps %xmm0,%xmm9 .byte 68,15,89,201 // mulps %xmm1,%xmm9 .byte 68,15,88,200 // addps %xmm0,%xmm9 .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 68,15,89,193 // mulps %xmm1,%xmm8 .byte 68,15,88,195 // addps %xmm3,%xmm8 .byte 102,15,111,68,36,144 // movdqa -0x70(%rsp),%xmm0 .byte 102,15,254,68,36,160 // paddd -0x60(%rsp),%xmm0 .byte 102,15,127,68,36,144 // movdqa %xmm0,-0x70(%rsp) .byte 102,68,15,254,240 // paddd %xmm0,%xmm14 .byte 102,65,15,111,206 // movdqa %xmm14,%xmm1 .byte 102,15,111,108,36,192 // movdqa -0x40(%rsp),%xmm5 .byte 102,15,254,205 // paddd %xmm5,%xmm1 .byte 102,15,111,37,101,21,1,0 // movdqa 0x11565(%rip),%xmm4 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,15,56,64,204 // pmulld %xmm4,%xmm1 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,118,246 // pcmpeqd %xmm6,%xmm6 .byte 102,15,250,198 // psubd %xmm6,%xmm0 .byte 102,72,15,58,22,193,1 // pextrq $0x1,%xmm0,%rcx .byte 102,72,15,126,197 // movq %xmm0,%rbp .byte 137,235 // mov %ebp,%ebx .byte 72,193,237,32 // shr $0x20,%rbp .byte 65,137,200 // mov %ecx,%r8d .byte 243,15,16,4,152 // movss (%rax,%rbx,4),%xmm0 .byte 102,15,58,33,4,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm0 .byte 243,66,15,16,20,128 // movss (%rax,%r8,4),%xmm2 .byte 102,15,58,33,194,32 // insertps $0x20,%xmm2,%xmm0 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,20,136 // movss (%rax,%rcx,4),%xmm2 .byte 102,15,58,33,194,48 // insertps $0x30,%xmm2,%xmm0 .byte 102,65,15,126,200 // movd %xmm1,%r8d .byte 102,65,15,58,22,201,1 // pextrd $0x1,%xmm1,%r9d .byte 102,65,15,58,22,202,2 // pextrd $0x2,%xmm1,%r10d .byte 102,65,15,58,22,203,3 // pextrd $0x3,%xmm1,%r11d .byte 102,15,111,29,118,14,1,0 // movdqa 0x10e76(%rip),%xmm3 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,15,254,203 // paddd %xmm3,%xmm1 .byte 102,72,15,58,22,201,1 // pextrq $0x1,%xmm1,%rcx .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 137,221 // mov %ebx,%ebp .byte 72,193,235,32 // shr $0x20,%rbx .byte 65,137,206 // mov %ecx,%r14d .byte 243,15,16,12,168 // movss (%rax,%rbp,4),%xmm1 .byte 102,15,58,33,12,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm1 .byte 243,66,15,16,20,176 // movss (%rax,%r14,4),%xmm2 .byte 102,15,58,33,202,32 // insertps $0x20,%xmm2,%xmm1 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,20,136 // movss (%rax,%rcx,4),%xmm2 .byte 102,15,58,33,202,48 // insertps $0x30,%xmm2,%xmm1 .byte 102,68,15,254,247 // paddd %xmm7,%xmm14 .byte 102,68,15,56,64,244 // pmulld %xmm4,%xmm14 .byte 102,15,111,252 // movdqa %xmm4,%xmm7 .byte 102,65,15,111,214 // movdqa %xmm14,%xmm2 .byte 102,15,250,214 // psubd %xmm6,%xmm2 .byte 102,72,15,58,22,209,1 // pextrq $0x1,%xmm2,%rcx .byte 102,72,15,126,211 // movq %xmm2,%rbx .byte 137,221 // mov %ebx,%ebp .byte 72,193,235,32 // shr $0x20,%rbx .byte 65,137,206 // mov %ecx,%r14d .byte 243,15,16,52,168 // movss (%rax,%rbp,4),%xmm6 .byte 102,15,58,33,52,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm6 .byte 243,66,15,16,20,176 // movss (%rax,%r14,4),%xmm2 .byte 102,15,58,33,242,32 // insertps $0x20,%xmm2,%xmm6 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,20,136 // movss (%rax,%rcx,4),%xmm2 .byte 102,15,58,33,242,48 // insertps $0x30,%xmm2,%xmm6 .byte 102,69,15,126,245 // movd %xmm14,%r13d .byte 102,69,15,58,22,247,1 // pextrd $0x1,%xmm14,%r15d .byte 102,69,15,58,22,244,2 // pextrd $0x2,%xmm14,%r12d .byte 102,69,15,58,22,246,3 // pextrd $0x3,%xmm14,%r14d .byte 102,68,15,254,243 // paddd %xmm3,%xmm14 .byte 102,76,15,58,22,243,1 // pextrq $0x1,%xmm14,%rbx .byte 102,76,15,126,245 // movq %xmm14,%rbp .byte 137,233 // mov %ebp,%ecx .byte 72,193,237,32 // shr $0x20,%rbp .byte 243,15,16,36,136 // movss (%rax,%rcx,4),%xmm4 .byte 102,15,58,33,36,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm4 .byte 137,217 // mov %ebx,%ecx .byte 243,15,16,20,136 // movss (%rax,%rcx,4),%xmm2 .byte 102,15,58,33,226,32 // insertps $0x20,%xmm2,%xmm4 .byte 72,193,235,32 // shr $0x20,%rbx .byte 243,15,16,20,152 // movss (%rax,%rbx,4),%xmm2 .byte 102,15,58,33,226,48 // insertps $0x30,%xmm2,%xmm4 .byte 243,66,15,16,20,128 // movss (%rax,%r8,4),%xmm2 .byte 102,66,15,58,33,20,136,16 // insertps $0x10,(%rax,%r9,4),%xmm2 .byte 102,66,15,58,33,20,144,32 // insertps $0x20,(%rax,%r10,4),%xmm2 .byte 102,66,15,58,33,20,152,48 // insertps $0x30,(%rax,%r11,4),%xmm2 .byte 243,66,15,16,28,168 // movss (%rax,%r13,4),%xmm3 .byte 102,66,15,58,33,28,184,16 // insertps $0x10,(%rax,%r15,4),%xmm3 .byte 102,66,15,58,33,28,160,32 // insertps $0x20,(%rax,%r12,4),%xmm3 .byte 102,66,15,58,33,28,176,48 // insertps $0x30,(%rax,%r14,4),%xmm3 .byte 15,92,218 // subps %xmm2,%xmm3 .byte 65,15,89,221 // mulps %xmm13,%xmm3 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 15,92,240 // subps %xmm0,%xmm6 .byte 65,15,89,245 // mulps %xmm13,%xmm6 .byte 15,88,240 // addps %xmm0,%xmm6 .byte 15,92,225 // subps %xmm1,%xmm4 .byte 65,15,89,229 // mulps %xmm13,%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 102,15,111,68,36,144 // movdqa -0x70(%rsp),%xmm0 .byte 102,15,254,68,36,208 // paddd -0x30(%rsp),%xmm0 .byte 102,15,254,232 // paddd %xmm0,%xmm5 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,15,56,64,239 // pmulld %xmm7,%xmm5 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,250,5,150,19,1,0 // psubd 0x11396(%rip),%xmm0 # 2b6d0 <_sk_srcover_rgba_8888_sse2_lowp+0x10fc> .byte 102,72,15,58,22,193,1 // pextrq $0x1,%xmm0,%rcx .byte 102,72,15,126,197 // movq %xmm0,%rbp .byte 137,235 // mov %ebp,%ebx .byte 72,193,237,32 // shr $0x20,%rbp .byte 65,137,200 // mov %ecx,%r8d .byte 243,15,16,44,152 // movss (%rax,%rbx,4),%xmm5 .byte 102,15,58,33,44,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm5 .byte 243,66,15,16,4,128 // movss (%rax,%r8,4),%xmm0 .byte 102,15,58,33,232,32 // insertps $0x20,%xmm0,%xmm5 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,4,136 // movss (%rax,%rcx,4),%xmm0 .byte 102,15,58,33,232,48 // insertps $0x30,%xmm0,%xmm5 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,65,15,126,192 // movd %xmm0,%r8d .byte 102,65,15,58,22,193,1 // pextrd $0x1,%xmm0,%r9d .byte 102,65,15,58,22,194,2 // pextrd $0x2,%xmm0,%r10d .byte 102,65,15,58,22,195,3 // pextrd $0x3,%xmm0,%r11d .byte 102,15,254,5,164,12,1,0 // paddd 0x10ca4(%rip),%xmm0 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,72,15,58,22,193,1 // pextrq $0x1,%xmm0,%rcx .byte 102,72,15,126,195 // movq %xmm0,%rbx .byte 137,221 // mov %ebx,%ebp .byte 72,193,235,32 // shr $0x20,%rbx .byte 65,137,206 // mov %ecx,%r14d .byte 243,68,15,16,52,168 // movss (%rax,%rbp,4),%xmm14 .byte 102,68,15,58,33,52,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm14 .byte 243,66,15,16,4,176 // movss (%rax,%r14,4),%xmm0 .byte 102,68,15,58,33,240,32 // insertps $0x20,%xmm0,%xmm14 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,4,136 // movss (%rax,%rcx,4),%xmm0 .byte 102,68,15,58,33,240,48 // insertps $0x30,%xmm0,%xmm14 .byte 102,15,254,84,36,176 // paddd -0x50(%rsp),%xmm2 .byte 102,15,56,64,215 // pmulld %xmm7,%xmm2 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,250,5,221,18,1,0 // psubd 0x112dd(%rip),%xmm0 # 2b6d0 <_sk_srcover_rgba_8888_sse2_lowp+0x10fc> .byte 102,72,15,58,22,193,1 // pextrq $0x1,%xmm0,%rcx .byte 102,72,15,126,195 // movq %xmm0,%rbx .byte 137,221 // mov %ebx,%ebp .byte 72,193,235,32 // shr $0x20,%rbx .byte 65,137,206 // mov %ecx,%r14d .byte 243,15,16,12,168 // movss (%rax,%rbp,4),%xmm1 .byte 102,15,58,33,12,152,16 // insertps $0x10,(%rax,%rbx,4),%xmm1 .byte 243,66,15,16,4,176 // movss (%rax,%r14,4),%xmm0 .byte 102,15,58,33,200,32 // insertps $0x20,%xmm0,%xmm1 .byte 72,193,233,32 // shr $0x20,%rcx .byte 243,15,16,4,136 // movss (%rax,%rcx,4),%xmm0 .byte 102,15,58,33,200,48 // insertps $0x30,%xmm0,%xmm1 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,65,15,126,197 // movd %xmm0,%r13d .byte 102,65,15,58,22,199,1 // pextrd $0x1,%xmm0,%r15d .byte 102,65,15,58,22,196,2 // pextrd $0x2,%xmm0,%r12d .byte 102,65,15,58,22,198,3 // pextrd $0x3,%xmm0,%r14d .byte 102,15,254,5,235,11,1,0 // paddd 0x10beb(%rip),%xmm0 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,72,15,58,22,195,1 // pextrq $0x1,%xmm0,%rbx .byte 102,72,15,126,197 // movq %xmm0,%rbp .byte 137,233 // mov %ebp,%ecx .byte 72,193,237,32 // shr $0x20,%rbp .byte 243,15,16,20,136 // movss (%rax,%rcx,4),%xmm2 .byte 102,15,58,33,20,168,16 // insertps $0x10,(%rax,%rbp,4),%xmm2 .byte 137,217 // mov %ebx,%ecx .byte 243,15,16,4,136 // movss (%rax,%rcx,4),%xmm0 .byte 102,15,58,33,208,32 // insertps $0x20,%xmm0,%xmm2 .byte 72,193,235,32 // shr $0x20,%rbx .byte 243,15,16,4,152 // movss (%rax,%rbx,4),%xmm0 .byte 102,15,58,33,208,48 // insertps $0x30,%xmm0,%xmm2 .byte 243,66,15,16,60,128 // movss (%rax,%r8,4),%xmm7 .byte 102,66,15,58,33,60,136,16 // insertps $0x10,(%rax,%r9,4),%xmm7 .byte 102,66,15,58,33,60,144,32 // insertps $0x20,(%rax,%r10,4),%xmm7 .byte 102,66,15,58,33,60,152,48 // insertps $0x30,(%rax,%r11,4),%xmm7 .byte 243,66,15,16,4,168 // movss (%rax,%r13,4),%xmm0 .byte 102,66,15,58,33,4,184,16 // insertps $0x10,(%rax,%r15,4),%xmm0 .byte 102,66,15,58,33,4,160,32 // insertps $0x20,(%rax,%r12,4),%xmm0 .byte 102,66,15,58,33,4,176,48 // insertps $0x30,(%rax,%r14,4),%xmm0 .byte 15,92,199 // subps %xmm7,%xmm0 .byte 65,15,89,197 // mulps %xmm13,%xmm0 .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,92,205 // subps %xmm5,%xmm1 .byte 65,15,89,205 // mulps %xmm13,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 65,15,92,214 // subps %xmm14,%xmm2 .byte 65,15,89,213 // mulps %xmm13,%xmm2 .byte 65,15,88,214 // addps %xmm14,%xmm2 .byte 15,92,195 // subps %xmm3,%xmm0 .byte 15,40,108,36,128 // movaps -0x80(%rsp),%xmm5 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 15,92,206 // subps %xmm6,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,92,212 // subps %xmm4,%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,212 // addps %xmm4,%xmm2 .byte 65,15,92,196 // subps %xmm12,%xmm0 .byte 15,40,92,36,224 // movaps -0x20(%rsp),%xmm3 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 65,15,88,196 // addps %xmm12,%xmm0 .byte 65,15,92,201 // subps %xmm9,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 65,15,88,201 // addps %xmm9,%xmm1 .byte 65,15,92,208 // subps %xmm8,%xmm2 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 65,15,88,208 // addps %xmm8,%xmm2 .byte 15,91,92,36,16 // cvtdq2ps 0x10(%rsp),%xmm3 .byte 15,40,100,36,48 // movaps 0x30(%rsp),%xmm4 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 65,15,92,194 // subps %xmm10,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 65,15,92,207 // subps %xmm15,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 65,15,88,207 // addps %xmm15,%xmm1 .byte 65,15,92,211 // subps %xmm11,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 65,15,88,211 // addps %xmm11,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,168,10,1,0 // movaps 0x10aa8(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 72,139,76,36,248 // mov -0x8(%rsp),%rcx .byte 15,40,100,36,64 // movaps 0x40(%rsp),%xmm4 .byte 15,40,108,36,80 // movaps 0x50(%rsp),%xmm5 .byte 15,40,116,36,96 // movaps 0x60(%rsp),%xmm6 .byte 15,40,124,36,112 // movaps 0x70(%rsp),%xmm7 .byte 72,129,196,136,0,0,0 // add $0x88,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_start_pipeline_sse2 .globl _sk_start_pipeline_sse2 FUNCTION(_sk_start_pipeline_sse2) _sk_start_pipeline_sse2: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,131,236,24 // sub $0x18,%rsp .byte 73,137,215 // mov %rdx,%r15 .byte 72,137,243 // mov %rsi,%rbx .byte 72,137,125,208 // mov %rdi,-0x30(%rbp) .byte 76,137,198 // mov %r8,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,197 // mov %rax,%r13 .byte 73,137,246 // mov %rsi,%r14 .byte 72,137,77,192 // mov %rcx,-0x40(%rbp) .byte 72,57,203 // cmp %rcx,%rbx .byte 115,83 // jae 1a616 <_sk_start_pipeline_sse2+0x82> .byte 72,139,69,208 // mov -0x30(%rbp),%rax .byte 72,141,64,4 // lea 0x4(%rax),%rax .byte 72,137,69,200 // mov %rax,-0x38(%rbp) .byte 76,57,125,200 // cmp %r15,-0x38(%rbp) .byte 72,139,85,208 // mov -0x30(%rbp),%rdx .byte 119,35 // ja 1a5fc <_sk_start_pipeline_sse2+0x68> .byte 76,139,101,208 // mov -0x30(%rbp),%r12 .byte 49,255 // xor %edi,%edi .byte 76,137,246 // mov %r14,%rsi .byte 76,137,226 // mov %r12,%rdx .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 73,141,84,36,4 // lea 0x4(%r12),%rdx .byte 73,131,196,8 // add $0x8,%r12 .byte 77,57,252 // cmp %r15,%r12 .byte 73,137,212 // mov %rdx,%r12 .byte 118,225 // jbe 1a5dd <_sk_start_pipeline_sse2+0x49> .byte 76,137,255 // mov %r15,%rdi .byte 72,41,215 // sub %rdx,%rdi .byte 116,9 // je 1a60d <_sk_start_pipeline_sse2+0x79> .byte 76,137,246 // mov %r14,%rsi .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 72,255,195 // inc %rbx .byte 72,59,93,192 // cmp -0x40(%rbp),%rbx .byte 117,185 // jne 1a5cf <_sk_start_pipeline_sse2+0x3b> .byte 72,131,196,24 // add $0x18,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 195 // retq HIDDEN _sk_just_return_sse2 .globl _sk_just_return_sse2 FUNCTION(_sk_just_return_sse2) _sk_just_return_sse2: .byte 195 // retq HIDDEN _sk_seed_shader_sse2 .globl _sk_seed_shader_sse2 FUNCTION(_sk_seed_shader_sse2) _sk_seed_shader_sse2: .byte 102,15,110,194 // movd %edx,%xmm0 .byte 102,15,112,192,0 // pshufd $0x0,%xmm0,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,88,5,183,9,1,0 // addps 0x109b7(%rip),%xmm0 # 2aff0 <_sk_srcover_rgba_8888_sse2_lowp+0xa1c> .byte 102,15,110,201 // movd %ecx,%xmm1 .byte 102,15,112,201,0 // pshufd $0x0,%xmm1,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,88,13,180,9,1,0 // addps 0x109b4(%rip),%xmm1 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,21,187,9,1,0 // movaps 0x109bb(%rip),%xmm2 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_dither_sse2 .globl _sk_dither_sse2 FUNCTION(_sk_dither_sse2) _sk_dither_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,68,15,110,194 // movd %edx,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 102,68,15,254,5,84,9,1,0 // paddd 0x10954(%rip),%xmm8 # 2afd0 <_sk_srcover_rgba_8888_sse2_lowp+0x9fc> .byte 102,68,15,110,201 // movd %ecx,%xmm9 .byte 102,69,15,112,201,0 // pshufd $0x0,%xmm9,%xmm9 .byte 102,69,15,239,200 // pxor %xmm8,%xmm9 .byte 102,68,15,111,21,139,9,1,0 // movdqa 0x1098b(%rip),%xmm10 # 2b020 <_sk_srcover_rgba_8888_sse2_lowp+0xa4c> .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .byte 102,69,15,219,218 // pand %xmm10,%xmm11 .byte 102,65,15,114,243,5 // pslld $0x5,%xmm11 .byte 102,69,15,219,208 // pand %xmm8,%xmm10 .byte 102,65,15,114,242,4 // pslld $0x4,%xmm10 .byte 102,68,15,111,37,119,9,1,0 // movdqa 0x10977(%rip),%xmm12 # 2b030 <_sk_srcover_rgba_8888_sse2_lowp+0xa5c> .byte 102,68,15,111,45,126,9,1,0 // movdqa 0x1097e(%rip),%xmm13 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,69,15,111,241 // movdqa %xmm9,%xmm14 .byte 102,69,15,219,245 // pand %xmm13,%xmm14 .byte 102,65,15,114,246,2 // pslld $0x2,%xmm14 .byte 102,69,15,235,243 // por %xmm11,%xmm14 .byte 102,69,15,219,232 // pand %xmm8,%xmm13 .byte 102,69,15,254,237 // paddd %xmm13,%xmm13 .byte 102,69,15,235,234 // por %xmm10,%xmm13 .byte 102,69,15,219,204 // pand %xmm12,%xmm9 .byte 102,65,15,114,209,1 // psrld $0x1,%xmm9 .byte 102,69,15,219,196 // pand %xmm12,%xmm8 .byte 102,65,15,114,208,2 // psrld $0x2,%xmm8 .byte 102,69,15,235,197 // por %xmm13,%xmm8 .byte 102,69,15,235,198 // por %xmm14,%xmm8 .byte 102,69,15,235,193 // por %xmm9,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,5,57,9,1,0 // mulps 0x10939(%rip),%xmm8 # 2b050 <_sk_srcover_rgba_8888_sse2_lowp+0xa7c> .byte 68,15,88,5,65,9,1,0 // addps 0x10941(%rip),%xmm8 # 2b060 <_sk_srcover_rgba_8888_sse2_lowp+0xa8c> .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,119,8,1,0 // movaps 0x10877(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,99,8,1,0 // movaps 0x10863(%rip),%xmm0 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,19,8,1,0 // movaps 0x10813(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,198,7,1,0 // movaps 0x107c6(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,90,7,1,0 // movaps 0x1075a(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,58,7,1,0 // movaps 0x1073a(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,13,7,1,0 // movaps 0x1070d(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,209,6,1,0 // movaps 0x106d1(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,149,6,1,0 // movaps 0x10695(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,92,207 // subps %xmm7,%xmm9 .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 68,15,89,208 // mulps %xmm0,%xmm10 .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,89,220 // mulps %xmm4,%xmm11 .byte 69,15,88,218 // addps %xmm10,%xmm11 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 65,15,88,195 // addps %xmm11,%xmm0 .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 68,15,89,209 // mulps %xmm1,%xmm10 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,89,221 // mulps %xmm5,%xmm11 .byte 69,15,88,218 // addps %xmm10,%xmm11 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 65,15,88,203 // addps %xmm11,%xmm1 .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 68,15,89,210 // mulps %xmm2,%xmm10 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,89,222 // mulps %xmm6,%xmm11 .byte 69,15,88,218 // addps %xmm10,%xmm11 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 65,15,88,211 // addps %xmm11,%xmm2 .byte 68,15,89,203 // mulps %xmm3,%xmm9 .byte 68,15,89,199 // mulps %xmm7,%xmm8 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 65,15,88,216 // addps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_plus__sse2 .globl _sk_plus__sse2 FUNCTION(_sk_plus__sse2) _sk_plus__sse2: .byte 15,88,196 // addps %xmm4,%xmm0 .byte 68,15,40,5,22,6,1,0 // movaps 0x10616(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 65,15,93,192 // minps %xmm8,%xmm0 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 65,15,93,200 // minps %xmm8,%xmm1 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 65,15,93,208 // minps %xmm8,%xmm2 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 65,15,93,216 // minps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_screen_sse2 .globl _sk_screen_sse2 FUNCTION(_sk_screen_sse2) _sk_screen_sse2: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 68,15,89,196 // mulps %xmm4,%xmm8 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 68,15,40,193 // movaps %xmm1,%xmm8 .byte 68,15,88,197 // addps %xmm5,%xmm8 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 68,15,92,193 // subps %xmm1,%xmm8 .byte 68,15,40,202 // movaps %xmm2,%xmm9 .byte 68,15,88,206 // addps %xmm6,%xmm9 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 68,15,92,202 // subps %xmm2,%xmm9 .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 68,15,88,215 // addps %xmm7,%xmm10 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 65,15,40,209 // movaps %xmm9,%xmm2 .byte 65,15,40,218 // movaps %xmm10,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_xor__sse2 .globl _sk_xor__sse2 FUNCTION(_sk_xor__sse2) _sk_xor__sse2: .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 15,40,29,162,5,1,0 // movaps 0x105a2(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,253,4,1,0 // movaps 0x104fd(%rip),%xmm2 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,146,4,1,0 // movaps 0x10492(%rip),%xmm2 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,28,4,1,0 // movaps 0x1041c(%rip),%xmm2 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,204,3,1,0 // movaps 0x103cc(%rip),%xmm2 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_colorburn_sse2 .globl _sk_colorburn_sse2 FUNCTION(_sk_colorburn_sse2) _sk_colorburn_sse2: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 68,15,40,13,175,3,1,0 // movaps 0x103af(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,40,209 // movaps %xmm9,%xmm10 .byte 68,15,92,215 // subps %xmm7,%xmm10 .byte 69,15,40,218 // movaps %xmm10,%xmm11 .byte 69,15,89,216 // mulps %xmm8,%xmm11 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 69,15,83,224 // rcpps %xmm8,%xmm12 .byte 68,15,89,224 // mulps %xmm0,%xmm12 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 65,15,93,196 // minps %xmm12,%xmm0 .byte 68,15,40,231 // movaps %xmm7,%xmm12 .byte 68,15,92,224 // subps %xmm0,%xmm12 .byte 68,15,89,227 // mulps %xmm3,%xmm12 .byte 69,15,88,227 // addps %xmm11,%xmm12 .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 69,15,87,219 // xorps %xmm11,%xmm11 .byte 68,15,92,203 // subps %xmm3,%xmm9 .byte 69,15,40,233 // movaps %xmm9,%xmm13 .byte 68,15,89,236 // mulps %xmm4,%xmm13 .byte 69,15,194,195,0 // cmpeqps %xmm11,%xmm8 .byte 69,15,88,229 // addps %xmm13,%xmm12 .byte 69,15,84,232 // andps %xmm8,%xmm13 .byte 69,15,85,196 // andnps %xmm12,%xmm8 .byte 68,15,40,228 // movaps %xmm4,%xmm12 .byte 68,15,194,231,0 // cmpeqps %xmm7,%xmm12 .byte 69,15,86,197 // orps %xmm13,%xmm8 .byte 65,15,84,196 // andps %xmm12,%xmm0 .byte 69,15,85,224 // andnps %xmm8,%xmm12 .byte 65,15,86,196 // orps %xmm12,%xmm0 .byte 69,15,40,194 // movaps %xmm10,%xmm8 .byte 68,15,89,193 // mulps %xmm1,%xmm8 .byte 68,15,40,231 // movaps %xmm7,%xmm12 .byte 68,15,92,229 // subps %xmm5,%xmm12 .byte 68,15,89,227 // mulps %xmm3,%xmm12 .byte 68,15,83,233 // rcpps %xmm1,%xmm13 .byte 69,15,89,236 // mulps %xmm12,%xmm13 .byte 68,15,40,231 // movaps %xmm7,%xmm12 .byte 69,15,93,229 // minps %xmm13,%xmm12 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 69,15,92,236 // subps %xmm12,%xmm13 .byte 69,15,40,225 // movaps %xmm9,%xmm12 .byte 68,15,89,229 // mulps %xmm5,%xmm12 .byte 65,15,194,203,0 // cmpeqps %xmm11,%xmm1 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 69,15,88,232 // addps %xmm8,%xmm13 .byte 69,15,88,236 // addps %xmm12,%xmm13 .byte 68,15,84,225 // andps %xmm1,%xmm12 .byte 65,15,85,205 // andnps %xmm13,%xmm1 .byte 68,15,88,197 // addps %xmm5,%xmm8 .byte 65,15,86,204 // orps %xmm12,%xmm1 .byte 68,15,40,229 // movaps %xmm5,%xmm12 .byte 68,15,194,231,0 // cmpeqps %xmm7,%xmm12 .byte 69,15,84,196 // andps %xmm12,%xmm8 .byte 68,15,85,225 // andnps %xmm1,%xmm12 .byte 69,15,86,196 // orps %xmm12,%xmm8 .byte 68,15,89,210 // mulps %xmm2,%xmm10 .byte 68,15,194,218,0 // cmpeqps %xmm2,%xmm11 .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 15,92,206 // subps %xmm6,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,83,210 // rcpps %xmm2,%xmm2 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 15,93,202 // minps %xmm2,%xmm1 .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 15,92,209 // subps %xmm1,%xmm2 .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 65,15,88,210 // addps %xmm10,%xmm2 .byte 15,88,209 // addps %xmm1,%xmm2 .byte 65,15,84,203 // andps %xmm11,%xmm1 .byte 68,15,85,218 // andnps %xmm2,%xmm11 .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 68,15,86,217 // orps %xmm1,%xmm11 .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,194,207,0 // cmpeqps %xmm7,%xmm1 .byte 15,84,209 // andps %xmm1,%xmm2 .byte 65,15,85,203 // andnps %xmm11,%xmm1 .byte 15,86,209 // orps %xmm1,%xmm2 .byte 68,15,89,207 // mulps %xmm7,%xmm9 .byte 65,15,88,217 // addps %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,200 // movaps %xmm8,%xmm1 .byte 255,224 // jmpq *%rax HIDDEN _sk_colordodge_sse2 .globl _sk_colordodge_sse2 FUNCTION(_sk_colordodge_sse2) _sk_colordodge_sse2: .byte 68,15,40,200 // movaps %xmm0,%xmm9 .byte 68,15,40,21,87,2,1,0 // movaps 0x10257(%rip),%xmm10 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,40,218 // movaps %xmm10,%xmm11 .byte 68,15,92,223 // subps %xmm7,%xmm11 .byte 65,15,40,195 // movaps %xmm11,%xmm0 .byte 65,15,89,193 // mulps %xmm9,%xmm0 .byte 68,15,40,227 // movaps %xmm3,%xmm12 .byte 68,15,89,228 // mulps %xmm4,%xmm12 .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 69,15,92,193 // subps %xmm9,%xmm8 .byte 69,15,83,192 // rcpps %xmm8,%xmm8 .byte 69,15,89,196 // mulps %xmm12,%xmm8 .byte 68,15,40,231 // movaps %xmm7,%xmm12 .byte 68,15,40,239 // movaps %xmm7,%xmm13 .byte 69,15,93,232 // minps %xmm8,%xmm13 .byte 69,15,40,241 // movaps %xmm9,%xmm14 .byte 68,15,194,243,0 // cmpeqps %xmm3,%xmm14 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 68,15,88,232 // addps %xmm0,%xmm13 .byte 69,15,84,206 // andps %xmm14,%xmm9 .byte 69,15,85,245 // andnps %xmm13,%xmm14 .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,92,211 // subps %xmm3,%xmm10 .byte 69,15,86,241 // orps %xmm9,%xmm14 .byte 69,15,40,202 // movaps %xmm10,%xmm9 .byte 68,15,89,204 // mulps %xmm4,%xmm9 .byte 69,15,88,241 // addps %xmm9,%xmm14 .byte 68,15,40,204 // movaps %xmm4,%xmm9 .byte 69,15,194,200,0 // cmpeqps %xmm8,%xmm9 .byte 65,15,84,193 // andps %xmm9,%xmm0 .byte 69,15,85,206 // andnps %xmm14,%xmm9 .byte 65,15,86,193 // orps %xmm9,%xmm0 .byte 68,15,40,203 // movaps %xmm3,%xmm9 .byte 68,15,89,205 // mulps %xmm5,%xmm9 .byte 68,15,40,235 // movaps %xmm3,%xmm13 .byte 68,15,92,233 // subps %xmm1,%xmm13 .byte 69,15,83,237 // rcpps %xmm13,%xmm13 .byte 69,15,89,233 // mulps %xmm9,%xmm13 .byte 69,15,40,203 // movaps %xmm11,%xmm9 .byte 68,15,89,201 // mulps %xmm1,%xmm9 .byte 69,15,93,229 // minps %xmm13,%xmm12 .byte 68,15,40,233 // movaps %xmm1,%xmm13 .byte 68,15,194,235,0 // cmpeqps %xmm3,%xmm13 .byte 68,15,89,227 // mulps %xmm3,%xmm12 .byte 69,15,88,225 // addps %xmm9,%xmm12 .byte 65,15,84,205 // andps %xmm13,%xmm1 .byte 69,15,85,236 // andnps %xmm12,%xmm13 .byte 68,15,86,233 // orps %xmm1,%xmm13 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 68,15,88,233 // addps %xmm1,%xmm13 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 65,15,194,200,0 // cmpeqps %xmm8,%xmm1 .byte 68,15,84,201 // andps %xmm1,%xmm9 .byte 65,15,85,205 // andnps %xmm13,%xmm1 .byte 68,15,86,201 // orps %xmm1,%xmm9 .byte 68,15,40,227 // movaps %xmm3,%xmm12 .byte 68,15,89,230 // mulps %xmm6,%xmm12 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,92,202 // subps %xmm2,%xmm1 .byte 68,15,83,233 // rcpps %xmm1,%xmm13 .byte 69,15,89,236 // mulps %xmm12,%xmm13 .byte 68,15,40,231 // movaps %xmm7,%xmm12 .byte 68,15,89,218 // mulps %xmm2,%xmm11 .byte 69,15,93,229 // minps %xmm13,%xmm12 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,194,203,0 // cmpeqps %xmm3,%xmm1 .byte 68,15,89,227 // mulps %xmm3,%xmm12 .byte 69,15,88,227 // addps %xmm11,%xmm12 .byte 15,84,209 // andps %xmm1,%xmm2 .byte 65,15,85,204 // andnps %xmm12,%xmm1 .byte 15,86,202 // orps %xmm2,%xmm1 .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 68,15,194,198,0 // cmpeqps %xmm6,%xmm8 .byte 69,15,84,216 // andps %xmm8,%xmm11 .byte 68,15,85,193 // andnps %xmm1,%xmm8 .byte 69,15,86,195 // orps %xmm11,%xmm8 .byte 68,15,89,215 // mulps %xmm7,%xmm10 .byte 65,15,88,218 // addps %xmm10,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_hardlight_sse2 .globl _sk_hardlight_sse2 FUNCTION(_sk_hardlight_sse2) _sk_hardlight_sse2: .byte 15,41,116,36,232 // movaps %xmm6,-0x18(%rsp) .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 68,15,40,29,0,1,1,0 // movaps 0x10100(%rip),%xmm11 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,190,255,0,0 // movaps 0xffbe(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,107,254,0,0 // movaps 0xfe6b(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,149,254,0,0 // movaps 0xfe95(%rip),%xmm14 # 2b070 <_sk_srcover_rgba_8888_sse2_lowp+0xa9c> .byte 69,15,88,222 // addps %xmm14,%xmm11 .byte 68,15,89,216 // mulps %xmm0,%xmm11 .byte 68,15,40,21,149,254,0,0 // movaps 0xfe95(%rip),%xmm10 # 2b080 <_sk_srcover_rgba_8888_sse2_lowp+0xaac> .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,40,252,0,0 // movaps 0xfc28(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,229,251,0,0 // movaps 0xfbe5(%rip),%xmm15 # 2b090 <_sk_srcover_rgba_8888_sse2_lowp+0xabc> .byte 65,15,89,231 // mulps %xmm15,%xmm4 .byte 15,40,5,234,251,0,0 // movaps 0xfbea(%rip),%xmm0 # 2b0a0 <_sk_srcover_rgba_8888_sse2_lowp+0xacc> .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 68,15,40,53,236,251,0,0 // movaps 0xfbec(%rip),%xmm14 # 2b0b0 <_sk_srcover_rgba_8888_sse2_lowp+0xadc> .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,62,249,0,0 // movaps 0xf93e(%rip),%xmm8 # 2b090 <_sk_srcover_rgba_8888_sse2_lowp+0xabc> .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,40,13,64,249,0,0 // movaps 0xf940(%rip),%xmm1 # 2b0a0 <_sk_srcover_rgba_8888_sse2_lowp+0xacc> .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,63,249,0,0 // movaps 0xf93f(%rip),%xmm12 # 2b0b0 <_sk_srcover_rgba_8888_sse2_lowp+0xadc> .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,244,247,0,0 // movaps 0xf7f4(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,2,247,0,0 // movaps 0xf702(%rip),%xmm13 # 2b090 <_sk_srcover_rgba_8888_sse2_lowp+0xabc> .byte 68,15,40,198 // movaps %xmm6,%xmm8 .byte 69,15,89,197 // mulps %xmm13,%xmm8 .byte 68,15,40,53,2,247,0,0 // movaps 0xf702(%rip),%xmm14 # 2b0a0 <_sk_srcover_rgba_8888_sse2_lowp+0xacc> .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,254,246,0,0 // movaps 0xf6fe(%rip),%xmm11 # 2b0b0 <_sk_srcover_rgba_8888_sse2_lowp+0xadc> .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,58,246,0,0 // movaps 0xf63a(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,193,244,0,0 // movaps 0xf4c1(%rip),%xmm12 # 2b090 <_sk_srcover_rgba_8888_sse2_lowp+0xabc> .byte 68,15,40,199 // movaps %xmm7,%xmm8 .byte 69,15,89,196 // mulps %xmm12,%xmm8 .byte 68,15,40,45,193,244,0,0 // movaps 0xf4c1(%rip),%xmm13 # 2b0a0 <_sk_srcover_rgba_8888_sse2_lowp+0xacc> .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,189,244,0,0 // movaps 0xf4bd(%rip),%xmm11 # 2b0b0 <_sk_srcover_rgba_8888_sse2_lowp+0xadc> .byte 68,15,40,5,21,244,0,0 // movaps 0xf415(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 15,133,228,0,0,0 // jne 1bee6 <_sk_srcover_rgba_8888_sse2+0x104> .byte 243,69,15,111,4,128 // movdqu (%r8,%rax,4),%xmm8 .byte 72,133,255 // test %rdi,%rdi .byte 102,15,111,53,173,242,0,0 // movdqa 0xf2ad(%rip),%xmm6 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .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,189,241,0,0 // movaps 0xf1bd(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 68,15,40,37,145,242,0,0 // movaps 0xf291(%rip),%xmm12 # 2b0f0 <_sk_srcover_rgba_8888_sse2_lowp+0xb1c> .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,84 // jne 1bf20 <_sk_srcover_rgba_8888_sse2+0x13e> .byte 243,65,15,127,4,128 // movdqu %xmm0,(%r8,%rax,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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,90 // je 1bf4d <_sk_srcover_rgba_8888_sse2+0x16b> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,23 // je 1bf15 <_sk_srcover_rgba_8888_sse2+0x133> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 15,133,0,255,255,255 // jne 1be08 <_sk_srcover_rgba_8888_sse2+0x26> .byte 102,65,15,110,100,128,8 // movd 0x8(%r8,%rax,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 102,69,15,18,4,128 // movlpd (%r8,%rax,4),%xmm8 .byte 233,232,254,255,255 // jmpq 1be08 <_sk_srcover_rgba_8888_sse2+0x26> .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,43 // je 1bf58 <_sk_srcover_rgba_8888_sse2+0x176> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,18 // je 1bf45 <_sk_srcover_rgba_8888_sse2+0x163> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,153 // jne 1bed2 <_sk_srcover_rgba_8888_sse2+0xf0> .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,65,15,126,76,128,8 // movd %xmm1,0x8(%r8,%rax,4) .byte 102,65,15,214,4,128 // movq %xmm0,(%r8,%rax,4) .byte 235,133 // jmp 1bed2 <_sk_srcover_rgba_8888_sse2+0xf0> .byte 102,69,15,110,4,128 // movd (%r8,%rax,4),%xmm8 .byte 233,176,254,255,255 // jmpq 1be08 <_sk_srcover_rgba_8888_sse2+0x26> .byte 102,65,15,126,4,128 // movd %xmm0,(%r8,%rax,4) .byte 233,111,255,255,255 // jmpq 1bed2 <_sk_srcover_rgba_8888_sse2+0xf0> 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,141,240,0,0 // movaps 0xf08d(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,114,240,0,0 // minps 0xf072(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,94,240,0,0 // minps 0xf05e(%rip),%xmm7 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 15,93,231 // minps %xmm7,%xmm4 .byte 15,93,239 // minps %xmm7,%xmm5 .byte 15,93,247 // minps %xmm7,%xmm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_set_rgb_sse2 .globl _sk_set_rgb_sse2 FUNCTION(_sk_set_rgb_sse2) _sk_set_rgb_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,80,8 // movss 0x8(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_swap_rb_sse2 .globl _sk_swap_rb_sse2 FUNCTION(_sk_swap_rb_sse2) _sk_swap_rb_sse2: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_invert_sse2 .globl _sk_invert_sse2 FUNCTION(_sk_invert_sse2) _sk_invert_sse2: .byte 68,15,40,5,26,240,0,0 // movaps 0xf01a(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 68,15,92,200 // subps %xmm0,%xmm9 .byte 69,15,40,208 // movaps %xmm8,%xmm10 .byte 68,15,92,209 // subps %xmm1,%xmm10 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,92,218 // subps %xmm2,%xmm11 .byte 68,15,92,195 // subps %xmm3,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 65,15,40,211 // movaps %xmm11,%xmm2 .byte 65,15,40,216 // movaps %xmm8,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_src_dst_sse2 .globl _sk_move_src_dst_sse2 FUNCTION(_sk_move_src_dst_sse2) _sk_move_src_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_dst_src_sse2 .globl _sk_move_dst_src_sse2 FUNCTION(_sk_move_dst_src_sse2) _sk_move_dst_src_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_sse2 .globl _sk_premul_sse2 FUNCTION(_sk_premul_sse2) _sk_premul_sse2: .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_dst_sse2 .globl _sk_premul_dst_sse2 FUNCTION(_sk_premul_dst_sse2) _sk_premul_dst_sse2: .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,89,247 // mulps %xmm7,%xmm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_unpremul_sse2 .globl _sk_unpremul_sse2 FUNCTION(_sk_unpremul_sse2) _sk_unpremul_sse2: .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 68,15,40,13,164,239,0,0 // movaps 0xefa4(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,111,240,0,0 // movaps 0xf06f(%rip),%xmm8 # 2b100 <_sk_srcover_rgba_8888_sse2_lowp+0xb2c> .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,231,239,0,0 // movaps 0xefe7(%rip),%xmm9 # 2b090 <_sk_srcover_rgba_8888_sse2_lowp+0xabc> .byte 68,15,40,240 // movaps %xmm0,%xmm14 .byte 69,15,89,241 // mulps %xmm9,%xmm14 .byte 68,15,40,21,87,240,0,0 // movaps 0xf057(%rip),%xmm10 # 2b110 <_sk_srcover_rgba_8888_sse2_lowp+0xb3c> .byte 69,15,88,242 // addps %xmm10,%xmm14 .byte 69,15,89,243 // mulps %xmm11,%xmm14 .byte 68,15,40,29,87,240,0,0 // movaps 0xf057(%rip),%xmm11 # 2b120 <_sk_srcover_rgba_8888_sse2_lowp+0xb4c> .byte 69,15,88,243 // addps %xmm11,%xmm14 .byte 68,15,40,37,91,240,0,0 // movaps 0xf05b(%rip),%xmm12 # 2b130 <_sk_srcover_rgba_8888_sse2_lowp+0xb5c> .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,172,239,0,0 // movaps 0xefac(%rip),%xmm8 # 2b100 <_sk_srcover_rgba_8888_sse2_lowp+0xb2c> .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,36,239,0,0 // movaps 0xef24(%rip),%xmm9 # 2b090 <_sk_srcover_rgba_8888_sse2_lowp+0xabc> .byte 68,15,40,244 // movaps %xmm4,%xmm14 .byte 69,15,89,241 // mulps %xmm9,%xmm14 .byte 68,15,40,21,148,239,0,0 // movaps 0xef94(%rip),%xmm10 # 2b110 <_sk_srcover_rgba_8888_sse2_lowp+0xb3c> .byte 69,15,88,242 // addps %xmm10,%xmm14 .byte 69,15,89,243 // mulps %xmm11,%xmm14 .byte 68,15,40,29,148,239,0,0 // movaps 0xef94(%rip),%xmm11 # 2b120 <_sk_srcover_rgba_8888_sse2_lowp+0xb4c> .byte 69,15,88,243 // addps %xmm11,%xmm14 .byte 68,15,40,37,152,239,0,0 // movaps 0xef98(%rip),%xmm12 # 2b130 <_sk_srcover_rgba_8888_sse2_lowp+0xb5c> .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,37,239,0,0 // movaps 0xef25(%rip),%xmm8 # 2b140 <_sk_srcover_rgba_8888_sse2_lowp+0xb6c> .byte 68,15,40,240 // movaps %xmm0,%xmm14 .byte 69,15,89,240 // mulps %xmm8,%xmm14 .byte 68,15,40,13,37,239,0,0 // movaps 0xef25(%rip),%xmm9 # 2b150 <_sk_srcover_rgba_8888_sse2_lowp+0xb7c> .byte 69,15,40,253 // movaps %xmm13,%xmm15 .byte 69,15,89,249 // mulps %xmm9,%xmm15 .byte 68,15,40,21,37,239,0,0 // movaps 0xef25(%rip),%xmm10 # 2b160 <_sk_srcover_rgba_8888_sse2_lowp+0xb8c> .byte 69,15,88,250 // addps %xmm10,%xmm15 .byte 69,15,89,253 // mulps %xmm13,%xmm15 .byte 68,15,40,29,37,239,0,0 // movaps 0xef25(%rip),%xmm11 # 2b170 <_sk_srcover_rgba_8888_sse2_lowp+0xb9c> .byte 69,15,88,251 // addps %xmm11,%xmm15 .byte 68,15,40,37,41,239,0,0 // movaps 0xef29(%rip),%xmm12 # 2b180 <_sk_srcover_rgba_8888_sse2_lowp+0xbac> .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,37,239,0,0 // movaps 0xef25(%rip),%xmm15 # 2b190 <_sk_srcover_rgba_8888_sse2_lowp+0xbbc> .byte 65,15,194,199,1 // cmpltps %xmm15,%xmm0 .byte 68,15,84,240 // andps %xmm0,%xmm14 .byte 65,15,85,197 // andnps %xmm13,%xmm0 .byte 65,15,86,198 // orps %xmm14,%xmm0 .byte 68,15,82,233 // rsqrtps %xmm1,%xmm13 .byte 69,15,40,245 // movaps %xmm13,%xmm14 .byte 69,15,89,241 // mulps %xmm9,%xmm14 .byte 69,15,88,242 // addps %xmm10,%xmm14 .byte 69,15,89,245 // mulps %xmm13,%xmm14 .byte 69,15,88,243 // addps %xmm11,%xmm14 .byte 69,15,88,236 // addps %xmm12,%xmm13 .byte 69,15,83,237 // rcpps %xmm13,%xmm13 .byte 69,15,89,238 // mulps %xmm14,%xmm13 .byte 68,15,40,241 // movaps %xmm1,%xmm14 .byte 69,15,89,240 // mulps %xmm8,%xmm14 .byte 65,15,194,207,1 // cmpltps %xmm15,%xmm1 .byte 68,15,84,241 // andps %xmm1,%xmm14 .byte 65,15,85,205 // andnps %xmm13,%xmm1 .byte 65,15,86,206 // orps %xmm14,%xmm1 .byte 68,15,82,234 // rsqrtps %xmm2,%xmm13 .byte 69,15,89,205 // mulps %xmm13,%xmm9 .byte 69,15,88,202 // addps %xmm10,%xmm9 .byte 69,15,89,205 // mulps %xmm13,%xmm9 .byte 69,15,88,203 // addps %xmm11,%xmm9 .byte 69,15,88,236 // addps %xmm12,%xmm13 .byte 69,15,83,213 // rcpps %xmm13,%xmm10 .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 68,15,89,194 // mulps %xmm2,%xmm8 .byte 65,15,194,215,1 // cmpltps %xmm15,%xmm2 .byte 68,15,84,194 // andps %xmm2,%xmm8 .byte 65,15,85,210 // andnps %xmm10,%xmm2 .byte 65,15,86,208 // orps %xmm8,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_rgb_to_hsl_sse2 .globl _sk_rgb_to_hsl_sse2 FUNCTION(_sk_rgb_to_hsl_sse2) _sk_rgb_to_hsl_sse2: .byte 68,15,40,201 // movaps %xmm1,%xmm9 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,95,194 // maxps %xmm2,%xmm0 .byte 69,15,40,208 // movaps %xmm8,%xmm10 .byte 68,15,95,208 // maxps %xmm0,%xmm10 .byte 65,15,40,193 // movaps %xmm9,%xmm0 .byte 15,93,194 // minps %xmm2,%xmm0 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,93,216 // minps %xmm0,%xmm11 .byte 65,15,40,202 // movaps %xmm10,%xmm1 .byte 65,15,92,203 // subps %xmm11,%xmm1 .byte 68,15,40,45,232,236,0,0 // movaps 0xece8(%rip),%xmm13 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,78,238,0,0 // andps 0xee4e(%rip),%xmm14 # 2b1a0 <_sk_srcover_rgba_8888_sse2_lowp+0xbcc> .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,65,238,0,0 // movaps 0xee41(%rip),%xmm12 # 2b1b0 <_sk_srcover_rgba_8888_sse2_lowp+0xbdc> .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,61,238,0,0 // addps 0xee3d(%rip),%xmm8 # 2b1c0 <_sk_srcover_rgba_8888_sse2_lowp+0xbec> .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,46,238,0,0 // mulps 0xee2e(%rip),%xmm0 # 2b1d0 <_sk_srcover_rgba_8888_sse2_lowp+0xbfc> .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,65,236,0,0 // movaps 0xec41(%rip),%xmm9 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,240,235,0,0 // movaps 0xebf0(%rip),%xmm9 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,137,237,0,0 // movaps 0xed89(%rip),%xmm0 # 2b1e0 <_sk_srcover_rgba_8888_sse2_lowp+0xc0c> .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,161,235,0,0 // andps 0xeba1(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 68,15,40,45,115,237,0,0 // movaps 0xed73(%rip),%xmm13 # 2b1f0 <_sk_srcover_rgba_8888_sse2_lowp+0xc1c> .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,51,237,0,0 // movaps 0xed33(%rip),%xmm2 # 2b1d0 <_sk_srcover_rgba_8888_sse2_lowp+0xbfc> .byte 68,15,40,250 // movaps %xmm2,%xmm15 .byte 68,15,194,248,2 // cmpleps %xmm0,%xmm15 .byte 15,40,13,243,236,0,0 // movaps 0xecf3(%rip),%xmm1 # 2b1a0 <_sk_srcover_rgba_8888_sse2_lowp+0xbcc> .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,40,45,9,237,0,0 // movaps 0xed09(%rip),%xmm5 # 2b1c0 <_sk_srcover_rgba_8888_sse2_lowp+0xbec> .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,254,234,0,0 // andps 0xeafe(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,118,236,0,0 // addps 0xec76(%rip),%xmm6 # 2b200 <_sk_srcover_rgba_8888_sse2_lowp+0xc2c> .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,113,234,0,0 // andps 0xea71(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 15,92,195 // subps %xmm3,%xmm0 .byte 15,92,240 // subps %xmm0,%xmm6 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 65,15,89,238 // mulps %xmm14,%xmm5 .byte 65,15,89,206 // mulps %xmm14,%xmm1 .byte 65,15,88,235 // addps %xmm11,%xmm5 .byte 65,15,88,203 // addps %xmm11,%xmm1 .byte 68,15,194,238,2 // cmpleps %xmm6,%xmm13 .byte 69,15,84,221 // andps %xmm13,%xmm11 .byte 68,15,85,237 // andnps %xmm5,%xmm13 .byte 69,15,86,235 // orps %xmm11,%xmm13 .byte 68,15,194,206,2 // cmpleps %xmm6,%xmm9 .byte 69,15,84,233 // andps %xmm9,%xmm13 .byte 69,15,85,202 // andnps %xmm10,%xmm9 .byte 69,15,86,205 // orps %xmm13,%xmm9 .byte 15,194,214,2 // cmpleps %xmm6,%xmm2 .byte 68,15,84,202 // andps %xmm2,%xmm9 .byte 15,85,209 // andnps %xmm1,%xmm2 .byte 65,15,86,209 // orps %xmm9,%xmm2 .byte 15,40,68,36,152 // movaps -0x68(%rsp),%xmm0 .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 15,84,193 // andps %xmm1,%xmm0 .byte 15,85,202 // andnps %xmm2,%xmm1 .byte 68,15,86,192 // orps %xmm0,%xmm8 .byte 15,86,224 // orps %xmm0,%xmm4 .byte 15,86,193 // orps %xmm1,%xmm0 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,40,92,36,168 // movaps -0x58(%rsp),%xmm3 .byte 15,40,100,36,184 // movaps -0x48(%rsp),%xmm4 .byte 15,40,108,36,200 // movaps -0x38(%rsp),%xmm5 .byte 15,40,116,36,216 // movaps -0x28(%rsp),%xmm6 .byte 15,40,124,36,232 // movaps -0x18(%rsp),%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_1_float_sse2 .globl _sk_scale_1_float_sse2 FUNCTION(_sk_scale_1_float_sse2) _sk_scale_1_float_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_u8_sse2 .globl _sk_scale_u8_sse2 FUNCTION(_sk_scale_u8_sse2) _sk_scale_u8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,61 // jne 1c6a0 <_sk_scale_u8_sse2+0x55> .byte 102,71,15,110,4,16 // movd (%r8,%r10,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,68,234,0,0 // pand 0xea44(%rip),%xmm8 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,5,136,235,0,0 // mulps 0xeb88(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,61 // je 1c6ea <_sk_scale_u8_sse2+0x9f> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,23 // je 1c6cf <_sk_scale_u8_sse2+0x84> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,181 // jne 1c673 <_sk_scale_u8_sse2+0x28> .byte 67,15,182,68,16,2 // movzbl 0x2(%r8,%r10,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,69 // pshufd $0x45,%xmm8,%xmm8 .byte 67,15,183,4,16 // movzwl (%r8,%r10,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 1c673 <_sk_scale_u8_sse2+0x28> .byte 67,15,182,4,16 // movzbl (%r8,%r10,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 233,122,255,255,255 // jmpq 1c673 <_sk_scale_u8_sse2+0x28> HIDDEN _sk_scale_565_sse2 .globl _sk_scale_565_sse2 FUNCTION(_sk_scale_565_sse2) _sk_scale_565_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,173,0,0,0 // jne 1c7c5 <_sk_scale_565_sse2+0xcc> .byte 243,71,15,126,20,80 // movq (%r8,%r10,2),%xmm10 .byte 102,68,15,97,208 // punpcklwd %xmm0,%xmm10 .byte 102,68,15,111,5,244,234,0,0 // movdqa 0xeaf4(%rip),%xmm8 # 2b220 <_sk_srcover_rgba_8888_sse2_lowp+0xc4c> .byte 102,69,15,219,194 // pand %xmm10,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,5,243,234,0,0 // mulps 0xeaf3(%rip),%xmm8 # 2b230 <_sk_srcover_rgba_8888_sse2_lowp+0xc5c> .byte 102,68,15,111,13,250,234,0,0 // movdqa 0xeafa(%rip),%xmm9 # 2b240 <_sk_srcover_rgba_8888_sse2_lowp+0xc6c> .byte 102,69,15,219,202 // pand %xmm10,%xmm9 .byte 69,15,91,201 // cvtdq2ps %xmm9,%xmm9 .byte 68,15,89,13,249,234,0,0 // mulps 0xeaf9(%rip),%xmm9 # 2b250 <_sk_srcover_rgba_8888_sse2_lowp+0xc7c> .byte 102,68,15,219,21,0,235,0,0 // pand 0xeb00(%rip),%xmm10 # 2b260 <_sk_srcover_rgba_8888_sse2_lowp+0xc8c> .byte 69,15,91,210 // cvtdq2ps %xmm10,%xmm10 .byte 68,15,89,21,4,235,0,0 // mulps 0xeb04(%rip),%xmm10 # 2b270 <_sk_srcover_rgba_8888_sse2_lowp+0xc9c> .byte 68,15,40,219 // movaps %xmm3,%xmm11 .byte 68,15,194,223,1 // cmpltps %xmm7,%xmm11 .byte 69,15,40,225 // movaps %xmm9,%xmm12 .byte 69,15,93,226 // minps %xmm10,%xmm12 .byte 69,15,40,232 // movaps %xmm8,%xmm13 .byte 69,15,93,236 // minps %xmm12,%xmm13 .byte 69,15,40,225 // movaps %xmm9,%xmm12 .byte 69,15,95,226 // maxps %xmm10,%xmm12 .byte 69,15,40,240 // movaps %xmm8,%xmm14 .byte 69,15,95,244 // maxps %xmm12,%xmm14 .byte 69,15,84,235 // andps %xmm11,%xmm13 .byte 69,15,85,222 // andnps %xmm14,%xmm11 .byte 69,15,86,221 // orps %xmm13,%xmm11 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 68,15,89,201 // mulps %xmm1,%xmm9 .byte 68,15,89,210 // mulps %xmm2,%xmm10 .byte 68,15,89,219 // mulps %xmm3,%xmm11 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 65,15,40,201 // movaps %xmm9,%xmm1 .byte 65,15,40,210 // movaps %xmm10,%xmm2 .byte 65,15,40,219 // movaps %xmm11,%xmm3 .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,60 // je 1c80e <_sk_scale_565_sse2+0x115> .byte 102,69,15,239,210 // pxor %xmm10,%xmm10 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,27 // je 1c7f8 <_sk_scale_565_sse2+0xff> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 15,133,60,255,255,255 // jne 1c723 <_sk_scale_565_sse2+0x2a> .byte 67,15,183,68,80,4 // movzwl 0x4(%r8,%r10,2),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,208,69 // pshufd $0x45,%xmm8,%xmm10 .byte 102,71,15,110,4,80 // movd (%r8,%r10,2),%xmm8 .byte 242,69,15,112,192,212 // pshuflw $0xd4,%xmm8,%xmm8 .byte 242,69,15,16,208 // movsd %xmm8,%xmm10 .byte 233,21,255,255,255 // jmpq 1c723 <_sk_scale_565_sse2+0x2a> .byte 67,15,183,4,80 // movzwl (%r8,%r10,2),%eax .byte 102,68,15,110,208 // movd %eax,%xmm10 .byte 233,6,255,255,255 // jmpq 1c723 <_sk_scale_565_sse2+0x2a> HIDDEN _sk_lerp_1_float_sse2 .globl _sk_lerp_1_float_sse2 FUNCTION(_sk_lerp_1_float_sse2) _sk_lerp_1_float_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 69,15,198,192,0 // shufps $0x0,%xmm8,%xmm8 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,92,205 // subps %xmm5,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lerp_u8_sse2 .globl _sk_lerp_u8_sse2 FUNCTION(_sk_lerp_u8_sse2) _sk_lerp_u8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,81 // jne 1c8be <_sk_lerp_u8_sse2+0x69> .byte 102,71,15,110,4,16 // movd (%r8,%r10,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,58,232,0,0 // pand 0xe83a(%rip),%xmm8 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,5,126,233,0,0 // mulps 0xe97e(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,64 // je 1c90b <_sk_lerp_u8_sse2+0xb6> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,23 // je 1c8ed <_sk_lerp_u8_sse2+0x98> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,161 // jne 1c87d <_sk_lerp_u8_sse2+0x28> .byte 67,15,182,68,16,2 // movzbl 0x2(%r8,%r10,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,69 // pshufd $0x45,%xmm8,%xmm8 .byte 67,15,183,4,16 // movzwl (%r8,%r10,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 1c87d <_sk_lerp_u8_sse2+0x28> .byte 67,15,182,4,16 // movzbl (%r8,%r10,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 233,99,255,255,255 // jmpq 1c87d <_sk_lerp_u8_sse2+0x28> HIDDEN _sk_lerp_565_sse2 .globl _sk_lerp_565_sse2 FUNCTION(_sk_lerp_565_sse2) _sk_lerp_565_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,173,0,0,0 // jne 1c9e6 <_sk_lerp_565_sse2+0xcc> .byte 243,71,15,126,4,80 // movq (%r8,%r10,2),%xmm8 .byte 102,68,15,97,192 // punpcklwd %xmm0,%xmm8 .byte 102,68,15,111,13,211,232,0,0 // movdqa 0xe8d3(%rip),%xmm9 # 2b220 <_sk_srcover_rgba_8888_sse2_lowp+0xc4c> .byte 102,69,15,219,200 // pand %xmm8,%xmm9 .byte 69,15,91,201 // cvtdq2ps %xmm9,%xmm9 .byte 68,15,89,13,210,232,0,0 // mulps 0xe8d2(%rip),%xmm9 # 2b230 <_sk_srcover_rgba_8888_sse2_lowp+0xc5c> .byte 102,68,15,111,21,217,232,0,0 // movdqa 0xe8d9(%rip),%xmm10 # 2b240 <_sk_srcover_rgba_8888_sse2_lowp+0xc6c> .byte 102,69,15,219,208 // pand %xmm8,%xmm10 .byte 69,15,91,218 // cvtdq2ps %xmm10,%xmm11 .byte 68,15,89,29,216,232,0,0 // mulps 0xe8d8(%rip),%xmm11 # 2b250 <_sk_srcover_rgba_8888_sse2_lowp+0xc7c> .byte 102,68,15,219,5,223,232,0,0 // pand 0xe8df(%rip),%xmm8 # 2b260 <_sk_srcover_rgba_8888_sse2_lowp+0xc8c> .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 68,15,89,5,227,232,0,0 // mulps 0xe8e3(%rip),%xmm8 # 2b270 <_sk_srcover_rgba_8888_sse2_lowp+0xc9c> .byte 68,15,40,211 // movaps %xmm3,%xmm10 .byte 68,15,194,215,1 // cmpltps %xmm7,%xmm10 .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 15,92,205 // subps %xmm5,%xmm1 .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 69,15,93,216 // minps %xmm8,%xmm11 .byte 69,15,40,233 // movaps %xmm9,%xmm13 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 65,15,89,193 // mulps %xmm9,%xmm0 .byte 69,15,93,203 // minps %xmm11,%xmm9 .byte 69,15,95,224 // maxps %xmm8,%xmm12 .byte 69,15,95,236 // maxps %xmm12,%xmm13 .byte 69,15,84,202 // andps %xmm10,%xmm9 .byte 69,15,85,213 // andnps %xmm13,%xmm10 .byte 69,15,86,209 // orps %xmm9,%xmm10 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 65,15,89,218 // mulps %xmm10,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,60 // je 1ca2f <_sk_lerp_565_sse2+0x115> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,27 // je 1ca19 <_sk_lerp_565_sse2+0xff> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 15,133,60,255,255,255 // jne 1c944 <_sk_lerp_565_sse2+0x2a> .byte 67,15,183,68,80,4 // movzwl 0x4(%r8,%r10,2),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,69 // pshufd $0x45,%xmm8,%xmm8 .byte 102,71,15,110,12,80 // movd (%r8,%r10,2),%xmm9 .byte 242,69,15,112,201,212 // pshuflw $0xd4,%xmm9,%xmm9 .byte 242,69,15,16,193 // movsd %xmm9,%xmm8 .byte 233,21,255,255,255 // jmpq 1c944 <_sk_lerp_565_sse2+0x2a> .byte 67,15,183,4,80 // movzwl (%r8,%r10,2),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 233,6,255,255,255 // jmpq 1c944 <_sk_lerp_565_sse2+0x2a> HIDDEN _sk_load_tables_sse2 .globl _sk_load_tables_sse2 FUNCTION(_sk_load_tables_sse2) _sk_load_tables_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,34,1,0,0 // jne 1cb6e <_sk_load_tables_sse2+0x130> .byte 243,69,15,111,12,144 // movdqu (%r8,%rdx,4),%xmm9 .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 102,68,15,111,5,98,230,0,0 // movdqa 0xe662(%rip),%xmm8 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,65,15,219,192 // pand %xmm8,%xmm0 .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,73,15,126,200 // movq %xmm1,%r8 .byte 102,73,15,126,193 // movq %xmm0,%r9 .byte 69,15,182,209 // movzbl %r9b,%r10d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 69,15,182,216 // movzbl %r8b,%r11d .byte 73,193,232,30 // shr $0x1e,%r8 .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,112,16 // mov 0x10(%rax),%r14 .byte 243,66,15,16,12,11 // movss (%rbx,%r9,1),%xmm1 .byte 243,66,15,16,4,147 // movss (%rbx,%r10,4),%xmm0 .byte 15,20,193 // unpcklps %xmm1,%xmm0 .byte 243,66,15,16,12,3 // movss (%rbx,%r8,1),%xmm1 .byte 243,66,15,16,20,155 // movss (%rbx,%r11,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 102,15,20,194 // unpcklpd %xmm2,%xmm0 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,65,15,219,200 // pand %xmm8,%xmm1 .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,73,15,126,208 // movq %xmm2,%r8 .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 68,15,182,203 // movzbl %bl,%r9d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 69,15,182,208 // movzbl %r8b,%r10d .byte 73,193,232,30 // shr $0x1e,%r8 .byte 243,65,15,16,20,30 // movss (%r14,%rbx,1),%xmm2 .byte 243,67,15,16,12,142 // movss (%r14,%r9,4),%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 243,67,15,16,20,6 // movss (%r14,%r8,1),%xmm2 .byte 243,67,15,16,28,150 // movss (%r14,%r10,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 102,15,20,203 // unpcklpd %xmm3,%xmm1 .byte 76,139,64,24 // mov 0x18(%rax),%r8 .byte 102,65,15,111,209 // movdqa %xmm9,%xmm2 .byte 102,15,114,210,16 // psrld $0x10,%xmm2 .byte 102,65,15,219,208 // pand %xmm8,%xmm2 .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,72,15,126,219 // movq %xmm3,%rbx .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 68,15,182,200 // movzbl %al,%r9d .byte 72,193,232,30 // shr $0x1e,%rax .byte 68,15,182,211 // movzbl %bl,%r10d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 243,65,15,16,28,0 // movss (%r8,%rax,1),%xmm3 .byte 243,67,15,16,20,136 // movss (%r8,%r9,4),%xmm2 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 243,69,15,16,4,24 // movss (%r8,%rbx,1),%xmm8 .byte 243,67,15,16,28,144 // movss (%r8,%r10,4),%xmm3 .byte 65,15,20,216 // unpcklps %xmm8,%xmm3 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 102,65,15,114,209,24 // psrld $0x18,%xmm9 .byte 65,15,91,217 // cvtdq2ps %xmm9,%xmm3 .byte 15,89,29,169,230,0,0 // mulps 0xe6a9(%rip),%xmm3 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,45 // je 1cba8 <_sk_load_tables_sse2+0x16a> .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,23 // je 1cb9d <_sk_load_tables_sse2+0x15f> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 15,133,194,254,255,255 // jne 1ca52 <_sk_load_tables_sse2+0x14> .byte 102,65,15,110,68,144,8 // movd 0x8(%r8,%rdx,4),%xmm0 .byte 102,68,15,112,200,69 // pshufd $0x45,%xmm0,%xmm9 .byte 102,69,15,18,12,144 // movlpd (%r8,%rdx,4),%xmm9 .byte 233,170,254,255,255 // jmpq 1ca52 <_sk_load_tables_sse2+0x14> .byte 102,69,15,110,12,144 // movd (%r8,%rdx,4),%xmm9 .byte 233,159,254,255,255 // jmpq 1ca52 <_sk_load_tables_sse2+0x14> HIDDEN _sk_load_tables_u16_be_sse2 .globl _sk_load_tables_u16_be_sse2 FUNCTION(_sk_load_tables_u16_be_sse2) _sk_load_tables_u16_be_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 76,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,93,1,0,0 // jne 1cd26 <_sk_load_tables_u16_be_sse2+0x173> .byte 102,67,15,16,4,72 // movupd (%r8,%r9,2),%xmm0 .byte 243,67,15,111,76,72,16 // movdqu 0x10(%r8,%r9,2),%xmm1 .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 102,68,15,40,200 // movapd %xmm0,%xmm9 .byte 102,68,15,97,201 // punpcklwd %xmm1,%xmm9 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,68,15,105,200 // punpckhwd %xmm0,%xmm9 .byte 102,15,111,21,131,230,0,0 // movdqa 0xe683(%rip),%xmm2 # 2b280 <_sk_srcover_rgba_8888_sse2_lowp+0xcac> .byte 102,15,112,217,238 // pshufd $0xee,%xmm1,%xmm3 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,65,15,97,200 // punpcklwd %xmm8,%xmm1 .byte 102,15,112,193,78 // pshufd $0x4e,%xmm1,%xmm0 .byte 102,73,15,126,192 // movq %xmm0,%r8 .byte 102,73,15,126,201 // movq %xmm1,%r9 .byte 69,15,182,209 // movzbl %r9b,%r10d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 69,15,182,216 // movzbl %r8b,%r11d .byte 73,193,232,30 // shr $0x1e,%r8 .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,112,16 // mov 0x10(%rax),%r14 .byte 243,66,15,16,12,11 // movss (%rbx,%r9,1),%xmm1 .byte 243,66,15,16,4,147 // movss (%rbx,%r10,4),%xmm0 .byte 15,20,193 // unpcklps %xmm1,%xmm0 .byte 243,70,15,16,20,3 // movss (%rbx,%r8,1),%xmm10 .byte 243,66,15,16,12,155 // movss (%rbx,%r11,4),%xmm1 .byte 65,15,20,202 // unpcklps %xmm10,%xmm1 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 102,15,219,218 // pand %xmm2,%xmm3 .byte 102,65,15,97,216 // punpcklwd %xmm8,%xmm3 .byte 102,15,112,203,78 // pshufd $0x4e,%xmm3,%xmm1 .byte 102,73,15,126,200 // movq %xmm1,%r8 .byte 102,72,15,126,219 // movq %xmm3,%rbx .byte 68,15,182,203 // movzbl %bl,%r9d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 69,15,182,208 // movzbl %r8b,%r10d .byte 73,193,232,30 // shr $0x1e,%r8 .byte 243,65,15,16,28,30 // movss (%r14,%rbx,1),%xmm3 .byte 243,67,15,16,12,142 // movss (%r14,%r9,4),%xmm1 .byte 15,20,203 // unpcklps %xmm3,%xmm1 .byte 243,71,15,16,20,6 // movss (%r14,%r8,1),%xmm10 .byte 243,67,15,16,28,150 // movss (%r14,%r10,4),%xmm3 .byte 65,15,20,218 // unpcklps %xmm10,%xmm3 .byte 102,15,20,203 // unpcklpd %xmm3,%xmm1 .byte 76,139,64,24 // mov 0x18(%rax),%r8 .byte 102,65,15,219,209 // pand %xmm9,%xmm2 .byte 102,65,15,97,208 // punpcklwd %xmm8,%xmm2 .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,72,15,126,219 // movq %xmm3,%rbx .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 68,15,182,200 // movzbl %al,%r9d .byte 72,193,232,30 // shr $0x1e,%rax .byte 68,15,182,211 // movzbl %bl,%r10d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 243,65,15,16,28,0 // movss (%r8,%rax,1),%xmm3 .byte 243,67,15,16,20,136 // movss (%r8,%r9,4),%xmm2 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 243,69,15,16,20,24 // movss (%r8,%rbx,1),%xmm10 .byte 243,67,15,16,28,144 // movss (%r8,%r10,4),%xmm3 .byte 65,15,20,218 // unpcklps %xmm10,%xmm3 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 102,65,15,112,217,78 // pshufd $0x4e,%xmm9,%xmm3 .byte 102,68,15,111,203 // movdqa %xmm3,%xmm9 .byte 102,65,15,113,241,8 // psllw $0x8,%xmm9 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,65,15,235,217 // por %xmm9,%xmm3 .byte 102,65,15,97,216 // punpcklwd %xmm8,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,29,129,229,0,0 // mulps 0xe581(%rip),%xmm3 # 2b2a0 <_sk_srcover_rgba_8888_sse2_lowp+0xccc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax .byte 242,67,15,16,4,72 // movsd (%r8,%r9,2),%xmm0 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,13 // jne 1cd3f <_sk_load_tables_u16_be_sse2+0x18c> .byte 243,15,126,192 // movq %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 233,151,254,255,255 // jmpq 1cbd6 <_sk_load_tables_u16_be_sse2+0x23> .byte 102,67,15,22,68,72,8 // movhpd 0x8(%r8,%r9,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 15,130,130,254,255,255 // jb 1cbd6 <_sk_load_tables_u16_be_sse2+0x23> .byte 243,67,15,126,76,72,16 // movq 0x10(%r8,%r9,2),%xmm1 .byte 233,118,254,255,255 // jmpq 1cbd6 <_sk_load_tables_u16_be_sse2+0x23> HIDDEN _sk_load_tables_rgb_u16_be_sse2 .globl _sk_load_tables_rgb_u16_be_sse2 FUNCTION(_sk_load_tables_rgb_u16_be_sse2) _sk_load_tables_rgb_u16_be_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 76,141,12,82 // lea (%rdx,%rdx,2),%r9 .byte 72,133,255 // test %rdi,%rdi .byte 15,133,81,1,0,0 // jne 1cec3 <_sk_load_tables_rgb_u16_be_sse2+0x163> .byte 243,67,15,111,20,72 // movdqu (%r8,%r9,2),%xmm2 .byte 243,67,15,111,76,72,8 // movdqu 0x8(%r8,%r9,2),%xmm1 .byte 102,15,115,217,4 // psrldq $0x4,%xmm1 .byte 102,68,15,111,210 // movdqa %xmm2,%xmm10 .byte 102,65,15,115,218,6 // psrldq $0x6,%xmm10 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,115,216,6 // psrldq $0x6,%xmm0 .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 102,68,15,97,208 // punpcklwd %xmm0,%xmm10 .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,65,15,97,194 // punpcklwd %xmm10,%xmm0 .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,68,15,111,5,197,228,0,0 // movdqa 0xe4c5(%rip),%xmm8 # 2b280 <_sk_srcover_rgba_8888_sse2_lowp+0xcac> .byte 102,65,15,219,192 // pand %xmm8,%xmm0 .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 102,65,15,97,193 // punpcklwd %xmm9,%xmm0 .byte 102,15,112,216,78 // pshufd $0x4e,%xmm0,%xmm3 .byte 102,73,15,126,216 // movq %xmm3,%r8 .byte 102,73,15,126,193 // movq %xmm0,%r9 .byte 69,15,182,209 // movzbl %r9b,%r10d .byte 73,193,233,30 // shr $0x1e,%r9 .byte 69,15,182,216 // movzbl %r8b,%r11d .byte 73,193,232,30 // shr $0x1e,%r8 .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,112,16 // mov 0x10(%rax),%r14 .byte 243,66,15,16,28,11 // movss (%rbx,%r9,1),%xmm3 .byte 243,66,15,16,4,147 // movss (%rbx,%r10,4),%xmm0 .byte 15,20,195 // unpcklps %xmm3,%xmm0 .byte 243,70,15,16,28,3 // movss (%rbx,%r8,1),%xmm11 .byte 243,66,15,16,28,155 // movss (%rbx,%r11,4),%xmm3 .byte 65,15,20,219 // unpcklps %xmm11,%xmm3 .byte 102,15,20,195 // unpcklpd %xmm3,%xmm0 .byte 102,65,15,219,200 // pand %xmm8,%xmm1 .byte 102,65,15,97,201 // punpcklwd %xmm9,%xmm1 .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,73,15,126,216 // movq %xmm3,%r8 .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 68,15,182,203 // movzbl %bl,%r9d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 69,15,182,208 // movzbl %r8b,%r10d .byte 73,193,232,30 // shr $0x1e,%r8 .byte 243,65,15,16,28,30 // movss (%r14,%rbx,1),%xmm3 .byte 243,67,15,16,12,142 // movss (%r14,%r9,4),%xmm1 .byte 15,20,203 // unpcklps %xmm3,%xmm1 .byte 243,71,15,16,28,6 // movss (%r14,%r8,1),%xmm11 .byte 243,67,15,16,28,150 // movss (%r14,%r10,4),%xmm3 .byte 65,15,20,219 // unpcklps %xmm11,%xmm3 .byte 102,15,20,203 // unpcklpd %xmm3,%xmm1 .byte 76,139,64,24 // mov 0x18(%rax),%r8 .byte 102,65,15,105,210 // punpckhwd %xmm10,%xmm2 .byte 102,65,15,219,208 // pand %xmm8,%xmm2 .byte 102,65,15,97,209 // punpcklwd %xmm9,%xmm2 .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,72,15,126,219 // movq %xmm3,%rbx .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 68,15,182,200 // movzbl %al,%r9d .byte 72,193,232,30 // shr $0x1e,%rax .byte 68,15,182,211 // movzbl %bl,%r10d .byte 72,193,235,30 // shr $0x1e,%rbx .byte 243,65,15,16,28,0 // movss (%r8,%rax,1),%xmm3 .byte 243,67,15,16,20,136 // movss (%r8,%r9,4),%xmm2 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 243,69,15,16,4,24 // movss (%r8,%rbx,1),%xmm8 .byte 243,67,15,16,28,144 // movss (%r8,%r10,4),%xmm3 .byte 65,15,20,216 // unpcklps %xmm8,%xmm3 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,82,225,0,0 // movaps 0xe152(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax .byte 102,67,15,110,20,72 // movd (%r8,%r9,2),%xmm2 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,67,15,196,84,72,4,2 // pinsrw $0x2,0x4(%r8,%r9,2),%xmm2 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,14 // jne 1cee9 <_sk_load_tables_rgb_u16_be_sse2+0x189> .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,69,15,239,210 // pxor %xmm10,%xmm10 .byte 233,175,254,255,255 // jmpq 1cd98 <_sk_load_tables_rgb_u16_be_sse2+0x38> .byte 102,71,15,110,84,72,6 // movd 0x6(%r8,%r9,2),%xmm10 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,71,15,196,84,72,10,2 // pinsrw $0x2,0xa(%r8,%r9,2),%xmm10 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,24 // jb 1cf1a <_sk_load_tables_rgb_u16_be_sse2+0x1ba> .byte 102,67,15,110,76,72,12 // movd 0xc(%r8,%r9,2),%xmm1 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,67,15,196,76,72,16,2 // pinsrw $0x2,0x10(%r8,%r9,2),%xmm1 .byte 233,126,254,255,255 // jmpq 1cd98 <_sk_load_tables_rgb_u16_be_sse2+0x38> .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 233,117,254,255,255 // jmpq 1cd98 <_sk_load_tables_rgb_u16_be_sse2+0x38> HIDDEN _sk_byte_tables_sse2 .globl _sk_byte_tables_sse2 FUNCTION(_sk_byte_tables_sse2) _sk_byte_tables_sse2: .byte 85 // push %rbp .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,40,5,191,225,0,0 // movaps 0xe1bf(%rip),%xmm8 # 2b0f0 <_sk_srcover_rgba_8888_sse2_lowp+0xb1c> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,15,91,192 // cvtps2dq %xmm0,%xmm0 .byte 102,73,15,126,192 // movq %xmm0,%r8 .byte 69,137,193 // mov %r8d,%r9d .byte 77,137,194 // mov %r8,%r10 .byte 73,193,234,32 // shr $0x20,%r10 .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 .byte 102,73,15,126,192 // movq %xmm0,%r8 .byte 69,137,195 // mov %r8d,%r11d .byte 77,137,198 // mov %r8,%r14 .byte 73,193,238,32 // shr $0x20,%r14 .byte 72,139,24 // mov (%rax),%rbx .byte 76,139,64,8 // mov 0x8(%rax),%r8 .byte 70,15,182,28,27 // movzbl (%rbx,%r11,1),%r11d .byte 66,15,182,44,51 // movzbl (%rbx,%r14,1),%ebp .byte 193,229,8 // shl $0x8,%ebp .byte 68,9,221 // or %r11d,%ebp .byte 70,15,182,12,11 // movzbl (%rbx,%r9,1),%r9d .byte 66,15,182,28,19 // movzbl (%rbx,%r10,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,203 // or %r9d,%ebx .byte 102,15,110,195 // movd %ebx,%xmm0 .byte 102,15,196,197,1 // pinsrw $0x1,%ebp,%xmm0 .byte 102,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,106,226,0,0 // movaps 0xe26a(%rip),%xmm10 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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,233 // mov %ebp,%r9d .byte 72,193,237,32 // shr $0x20,%rbp .byte 102,15,112,201,78 // pshufd $0x4e,%xmm1,%xmm1 .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 65,137,218 // mov %ebx,%r10d .byte 72,193,235,32 // shr $0x20,%rbx .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 65,15,182,28,24 // movzbl (%r8,%rbx,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,211 // or %r10d,%ebx .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 65,15,182,44,40 // movzbl (%r8,%rbp,1),%ebp .byte 193,229,8 // shl $0x8,%ebp .byte 68,9,205 // or %r9d,%ebp .byte 102,15,110,205 // movd %ebp,%xmm1 .byte 102,15,196,203,1 // pinsrw $0x1,%ebx,%xmm1 .byte 102,65,15,96,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,72,16 // mov 0x10(%rax),%r9 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,15,91,210 // cvtps2dq %xmm2,%xmm2 .byte 102,72,15,126,211 // movq %xmm2,%rbx .byte 65,137,216 // mov %ebx,%r8d .byte 72,193,235,32 // shr $0x20,%rbx .byte 102,15,112,210,78 // pshufd $0x4e,%xmm2,%xmm2 .byte 102,72,15,126,213 // movq %xmm2,%rbp .byte 65,137,234 // mov %ebp,%r10d .byte 72,193,237,32 // shr $0x20,%rbp .byte 71,15,182,20,17 // movzbl (%r9,%r10,1),%r10d .byte 65,15,182,44,41 // movzbl (%r9,%rbp,1),%ebp .byte 193,229,8 // shl $0x8,%ebp .byte 68,9,213 // or %r10d,%ebp .byte 71,15,182,4,1 // movzbl (%r9,%r8,1),%r8d .byte 65,15,182,28,25 // movzbl (%r9,%rbx,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,195 // or %r8d,%ebx .byte 102,15,110,211 // movd %ebx,%xmm2 .byte 102,15,196,213,1 // pinsrw $0x1,%ebp,%xmm2 .byte 102,65,15,96,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,232 // mov %ebp,%r8d .byte 72,193,237,32 // shr $0x20,%rbp .byte 102,15,112,219,78 // pshufd $0x4e,%xmm3,%xmm3 .byte 102,72,15,126,219 // movq %xmm3,%rbx .byte 65,137,217 // mov %ebx,%r9d .byte 72,193,235,32 // shr $0x20,%rbx .byte 70,15,182,12,8 // movzbl (%rax,%r9,1),%r9d .byte 15,182,28,24 // movzbl (%rax,%rbx,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,203 // or %r9d,%ebx .byte 70,15,182,4,0 // movzbl (%rax,%r8,1),%r8d .byte 15,182,4,40 // movzbl (%rax,%rbp,1),%eax .byte 193,224,8 // shl $0x8,%eax .byte 68,9,192 // or %r8d,%eax .byte 102,15,110,216 // movd %eax,%xmm3 .byte 102,15,196,219,1 // pinsrw $0x1,%ebx,%xmm3 .byte 102,65,15,96,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 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_byte_tables_rgb_sse2 .globl _sk_byte_tables_rgb_sse2 FUNCTION(_sk_byte_tables_rgb_sse2) _sk_byte_tables_rgb_sse2: .byte 85 // push %rbp .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,139,64,24 // mov 0x18(%rax),%r8d .byte 65,255,200 // dec %r8d .byte 102,69,15,110,192 // movd %r8d,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,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,192 // movq %xmm0,%r8 .byte 69,137,193 // mov %r8d,%r9d .byte 77,137,194 // mov %r8,%r10 .byte 73,193,234,32 // shr $0x20,%r10 .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 .byte 102,73,15,126,192 // movq %xmm0,%r8 .byte 69,137,195 // mov %r8d,%r11d .byte 77,137,198 // mov %r8,%r14 .byte 73,193,238,32 // shr $0x20,%r14 .byte 72,139,24 // mov (%rax),%rbx .byte 76,139,64,8 // mov 0x8(%rax),%r8 .byte 70,15,182,28,27 // movzbl (%rbx,%r11,1),%r11d .byte 66,15,182,44,51 // movzbl (%rbx,%r14,1),%ebp .byte 193,229,8 // shl $0x8,%ebp .byte 68,9,221 // or %r11d,%ebp .byte 70,15,182,12,11 // movzbl (%rbx,%r9,1),%r9d .byte 66,15,182,28,19 // movzbl (%rbx,%r10,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,203 // or %r9d,%ebx .byte 102,15,110,195 // movd %ebx,%xmm0 .byte 102,15,196,197,1 // pinsrw $0x1,%ebp,%xmm0 .byte 102,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,170,224,0,0 // movaps 0xe0aa(%rip),%xmm10 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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,233 // mov %ebp,%r9d .byte 72,193,237,32 // shr $0x20,%rbp .byte 102,15,112,201,78 // pshufd $0x4e,%xmm1,%xmm1 .byte 102,72,15,126,203 // movq %xmm1,%rbx .byte 65,137,218 // mov %ebx,%r10d .byte 72,193,235,32 // shr $0x20,%rbx .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 65,15,182,28,24 // movzbl (%r8,%rbx,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,211 // or %r10d,%ebx .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 65,15,182,44,40 // movzbl (%r8,%rbp,1),%ebp .byte 193,229,8 // shl $0x8,%ebp .byte 68,9,205 // or %r9d,%ebp .byte 102,15,110,205 // movd %ebp,%xmm1 .byte 102,15,196,203,1 // pinsrw $0x1,%ebx,%xmm1 .byte 102,65,15,96,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,232 // mov %ebp,%r8d .byte 72,193,237,32 // shr $0x20,%rbp .byte 102,15,112,210,78 // pshufd $0x4e,%xmm2,%xmm2 .byte 102,72,15,126,211 // movq %xmm2,%rbx .byte 65,137,217 // mov %ebx,%r9d .byte 72,193,235,32 // shr $0x20,%rbx .byte 70,15,182,12,8 // movzbl (%rax,%r9,1),%r9d .byte 15,182,28,24 // movzbl (%rax,%rbx,1),%ebx .byte 193,227,8 // shl $0x8,%ebx .byte 68,9,203 // or %r9d,%ebx .byte 70,15,182,4,0 // movzbl (%rax,%r8,1),%r8d .byte 15,182,4,40 // movzbl (%rax,%rbp,1),%eax .byte 193,224,8 // shl $0x8,%eax .byte 68,9,192 // or %r8d,%eax .byte 102,15,110,208 // movd %eax,%xmm2 .byte 102,15,196,211,1 // pinsrw $0x1,%ebx,%xmm2 .byte 102,65,15,96,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 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_table_r_sse2 .globl _sk_table_r_sse2 FUNCTION(_sk_table_r_sse2) _sk_table_r_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,77,15,126,194 // movq %xmm8,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 243,71,15,16,4,144 // movss (%r8,%r10,4),%xmm8 .byte 243,67,15,16,4,152 // movss (%r8,%r11,4),%xmm0 .byte 65,15,20,192 // unpcklps %xmm8,%xmm0 .byte 243,69,15,16,4,128 // movss (%r8,%rax,4),%xmm8 .byte 243,71,15,16,12,136 // movss (%r8,%r9,4),%xmm9 .byte 69,15,20,200 // unpcklps %xmm8,%xmm9 .byte 102,65,15,20,193 // unpcklpd %xmm9,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_table_g_sse2 .globl _sk_table_g_sse2 FUNCTION(_sk_table_g_sse2) _sk_table_g_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,77,15,126,194 // movq %xmm8,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 243,71,15,16,4,144 // movss (%r8,%r10,4),%xmm8 .byte 243,67,15,16,12,152 // movss (%r8,%r11,4),%xmm1 .byte 65,15,20,200 // unpcklps %xmm8,%xmm1 .byte 243,69,15,16,4,128 // movss (%r8,%rax,4),%xmm8 .byte 243,71,15,16,12,136 // movss (%r8,%r9,4),%xmm9 .byte 69,15,20,200 // unpcklps %xmm8,%xmm9 .byte 102,65,15,20,201 // unpcklpd %xmm9,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_table_b_sse2 .globl _sk_table_b_sse2 FUNCTION(_sk_table_b_sse2) _sk_table_b_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,77,15,126,194 // movq %xmm8,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 243,71,15,16,4,144 // movss (%r8,%r10,4),%xmm8 .byte 243,67,15,16,20,152 // movss (%r8,%r11,4),%xmm2 .byte 65,15,20,208 // unpcklps %xmm8,%xmm2 .byte 243,69,15,16,4,128 // movss (%r8,%rax,4),%xmm8 .byte 243,71,15,16,12,136 // movss (%r8,%r9,4),%xmm9 .byte 69,15,20,200 // unpcklps %xmm8,%xmm9 .byte 102,65,15,20,209 // unpcklpd %xmm9,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_table_a_sse2 .globl _sk_table_a_sse2 FUNCTION(_sk_table_a_sse2) _sk_table_a_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 139,64,8 // mov 0x8(%rax),%eax .byte 255,200 // dec %eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,112,192,0 // pshufd $0x0,%xmm8,%xmm8 .byte 69,15,91,192 // cvtdq2ps %xmm8,%xmm8 .byte 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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,77,15,126,194 // movq %xmm8,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 243,71,15,16,4,144 // movss (%r8,%r10,4),%xmm8 .byte 243,67,15,16,28,152 // movss (%r8,%r11,4),%xmm3 .byte 65,15,20,216 // unpcklps %xmm8,%xmm3 .byte 243,69,15,16,4,128 // movss (%r8,%rax,4),%xmm8 .byte 243,71,15,16,12,136 // movss (%r8,%r9,4),%xmm9 .byte 69,15,20,200 // unpcklps %xmm8,%xmm9 .byte 102,65,15,20,217 // unpcklpd %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_parametric_r_sse2 .globl _sk_parametric_r_sse2 FUNCTION(_sk_parametric_r_sse2) _sk_parametric_r_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,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,118,222,0,0 // mulps 0xde76(%rip),%xmm9 # 2b2b0 <_sk_srcover_rgba_8888_sse2_lowp+0xcdc> .byte 68,15,84,21,126,222,0,0 // andps 0xde7e(%rip),%xmm10 # 2b2c0 <_sk_srcover_rgba_8888_sse2_lowp+0xcec> .byte 68,15,86,21,182,219,0,0 // orps 0xdbb6(%rip),%xmm10 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 68,15,88,13,126,222,0,0 // addps 0xde7e(%rip),%xmm9 # 2b2d0 <_sk_srcover_rgba_8888_sse2_lowp+0xcfc> .byte 68,15,40,37,134,222,0,0 // movaps 0xde86(%rip),%xmm12 # 2b2e0 <_sk_srcover_rgba_8888_sse2_lowp+0xd0c> .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,88,21,134,222,0,0 // addps 0xde86(%rip),%xmm10 # 2b2f0 <_sk_srcover_rgba_8888_sse2_lowp+0xd1c> .byte 68,15,40,37,142,222,0,0 // movaps 0xde8e(%rip),%xmm12 # 2b300 <_sk_srcover_rgba_8888_sse2_lowp+0xd2c> .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,120,219,0,0 // movaps 0xdb78(%rip),%xmm10 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,92,222,0,0 // addps 0xde5c(%rip),%xmm9 # 2b310 <_sk_srcover_rgba_8888_sse2_lowp+0xd3c> .byte 68,15,40,37,100,222,0,0 // movaps 0xde64(%rip),%xmm12 # 2b320 <_sk_srcover_rgba_8888_sse2_lowp+0xd4c> .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,40,37,100,222,0,0 // movaps 0xde64(%rip),%xmm12 # 2b330 <_sk_srcover_rgba_8888_sse2_lowp+0xd5c> .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 68,15,40,45,104,222,0,0 // movaps 0xde68(%rip),%xmm13 # 2b340 <_sk_srcover_rgba_8888_sse2_lowp+0xd6c> .byte 69,15,94,236 // divps %xmm12,%xmm13 .byte 69,15,88,233 // addps %xmm9,%xmm13 .byte 68,15,89,45,104,222,0,0 // mulps 0xde68(%rip),%xmm13 # 2b350 <_sk_srcover_rgba_8888_sse2_lowp+0xd7c> .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,56,221,0,0 // mulps 0xdd38(%rip),%xmm9 # 2b2b0 <_sk_srcover_rgba_8888_sse2_lowp+0xcdc> .byte 68,15,84,21,64,221,0,0 // andps 0xdd40(%rip),%xmm10 # 2b2c0 <_sk_srcover_rgba_8888_sse2_lowp+0xcec> .byte 68,15,86,21,120,218,0,0 // orps 0xda78(%rip),%xmm10 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 68,15,88,13,64,221,0,0 // addps 0xdd40(%rip),%xmm9 # 2b2d0 <_sk_srcover_rgba_8888_sse2_lowp+0xcfc> .byte 68,15,40,37,72,221,0,0 // movaps 0xdd48(%rip),%xmm12 # 2b2e0 <_sk_srcover_rgba_8888_sse2_lowp+0xd0c> .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,88,21,72,221,0,0 // addps 0xdd48(%rip),%xmm10 # 2b2f0 <_sk_srcover_rgba_8888_sse2_lowp+0xd1c> .byte 68,15,40,37,80,221,0,0 // movaps 0xdd50(%rip),%xmm12 # 2b300 <_sk_srcover_rgba_8888_sse2_lowp+0xd2c> .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,58,218,0,0 // movaps 0xda3a(%rip),%xmm10 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,30,221,0,0 // addps 0xdd1e(%rip),%xmm9 # 2b310 <_sk_srcover_rgba_8888_sse2_lowp+0xd3c> .byte 68,15,40,37,38,221,0,0 // movaps 0xdd26(%rip),%xmm12 # 2b320 <_sk_srcover_rgba_8888_sse2_lowp+0xd4c> .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,40,37,38,221,0,0 // movaps 0xdd26(%rip),%xmm12 # 2b330 <_sk_srcover_rgba_8888_sse2_lowp+0xd5c> .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 68,15,40,45,42,221,0,0 // movaps 0xdd2a(%rip),%xmm13 # 2b340 <_sk_srcover_rgba_8888_sse2_lowp+0xd6c> .byte 69,15,94,236 // divps %xmm12,%xmm13 .byte 69,15,88,233 // addps %xmm9,%xmm13 .byte 68,15,89,45,42,221,0,0 // mulps 0xdd2a(%rip),%xmm13 # 2b350 <_sk_srcover_rgba_8888_sse2_lowp+0xd7c> .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,250,219,0,0 // mulps 0xdbfa(%rip),%xmm9 # 2b2b0 <_sk_srcover_rgba_8888_sse2_lowp+0xcdc> .byte 68,15,84,21,2,220,0,0 // andps 0xdc02(%rip),%xmm10 # 2b2c0 <_sk_srcover_rgba_8888_sse2_lowp+0xcec> .byte 68,15,86,21,58,217,0,0 // orps 0xd93a(%rip),%xmm10 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 68,15,88,13,2,220,0,0 // addps 0xdc02(%rip),%xmm9 # 2b2d0 <_sk_srcover_rgba_8888_sse2_lowp+0xcfc> .byte 68,15,40,37,10,220,0,0 // movaps 0xdc0a(%rip),%xmm12 # 2b2e0 <_sk_srcover_rgba_8888_sse2_lowp+0xd0c> .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,88,21,10,220,0,0 // addps 0xdc0a(%rip),%xmm10 # 2b2f0 <_sk_srcover_rgba_8888_sse2_lowp+0xd1c> .byte 68,15,40,37,18,220,0,0 // movaps 0xdc12(%rip),%xmm12 # 2b300 <_sk_srcover_rgba_8888_sse2_lowp+0xd2c> .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,252,216,0,0 // movaps 0xd8fc(%rip),%xmm10 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,224,219,0,0 // addps 0xdbe0(%rip),%xmm9 # 2b310 <_sk_srcover_rgba_8888_sse2_lowp+0xd3c> .byte 68,15,40,37,232,219,0,0 // movaps 0xdbe8(%rip),%xmm12 # 2b320 <_sk_srcover_rgba_8888_sse2_lowp+0xd4c> .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,40,37,232,219,0,0 // movaps 0xdbe8(%rip),%xmm12 # 2b330 <_sk_srcover_rgba_8888_sse2_lowp+0xd5c> .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 68,15,40,45,236,219,0,0 // movaps 0xdbec(%rip),%xmm13 # 2b340 <_sk_srcover_rgba_8888_sse2_lowp+0xd6c> .byte 69,15,94,236 // divps %xmm12,%xmm13 .byte 69,15,88,233 // addps %xmm9,%xmm13 .byte 68,15,89,45,236,219,0,0 // mulps 0xdbec(%rip),%xmm13 # 2b350 <_sk_srcover_rgba_8888_sse2_lowp+0xd7c> .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,188,218,0,0 // mulps 0xdabc(%rip),%xmm9 # 2b2b0 <_sk_srcover_rgba_8888_sse2_lowp+0xcdc> .byte 68,15,84,21,196,218,0,0 // andps 0xdac4(%rip),%xmm10 # 2b2c0 <_sk_srcover_rgba_8888_sse2_lowp+0xcec> .byte 68,15,86,21,252,215,0,0 // orps 0xd7fc(%rip),%xmm10 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 68,15,88,13,196,218,0,0 // addps 0xdac4(%rip),%xmm9 # 2b2d0 <_sk_srcover_rgba_8888_sse2_lowp+0xcfc> .byte 68,15,40,37,204,218,0,0 // movaps 0xdacc(%rip),%xmm12 # 2b2e0 <_sk_srcover_rgba_8888_sse2_lowp+0xd0c> .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,88,21,204,218,0,0 // addps 0xdacc(%rip),%xmm10 # 2b2f0 <_sk_srcover_rgba_8888_sse2_lowp+0xd1c> .byte 68,15,40,37,212,218,0,0 // movaps 0xdad4(%rip),%xmm12 # 2b300 <_sk_srcover_rgba_8888_sse2_lowp+0xd2c> .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,190,215,0,0 // movaps 0xd7be(%rip),%xmm10 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,162,218,0,0 // addps 0xdaa2(%rip),%xmm9 # 2b310 <_sk_srcover_rgba_8888_sse2_lowp+0xd3c> .byte 68,15,40,37,170,218,0,0 // movaps 0xdaaa(%rip),%xmm12 # 2b320 <_sk_srcover_rgba_8888_sse2_lowp+0xd4c> .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 69,15,92,204 // subps %xmm12,%xmm9 .byte 68,15,40,37,170,218,0,0 // movaps 0xdaaa(%rip),%xmm12 # 2b330 <_sk_srcover_rgba_8888_sse2_lowp+0xd5c> .byte 69,15,92,229 // subps %xmm13,%xmm12 .byte 68,15,40,45,174,218,0,0 // movaps 0xdaae(%rip),%xmm13 # 2b340 <_sk_srcover_rgba_8888_sse2_lowp+0xd6c> .byte 69,15,94,236 // divps %xmm12,%xmm13 .byte 69,15,88,233 // addps %xmm9,%xmm13 .byte 68,15,89,45,174,218,0,0 // mulps 0xdaae(%rip),%xmm13 # 2b350 <_sk_srcover_rgba_8888_sse2_lowp+0xd7c> .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_gamma_sse2 .globl _sk_gamma_sse2 FUNCTION(_sk_gamma_sse2) _sk_gamma_sse2: .byte 15,41,124,36,232 // movaps %xmm7,-0x18(%rsp) .byte 15,41,116,36,216 // movaps %xmm6,-0x28(%rsp) .byte 15,41,108,36,200 // movaps %xmm5,-0x38(%rsp) .byte 15,41,100,36,184 // movaps %xmm4,-0x48(%rsp) .byte 15,41,92,36,168 // movaps %xmm3,-0x58(%rsp) .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,91,194 // cvtdq2ps %xmm2,%xmm0 .byte 15,89,5,185,217,0,0 // mulps 0xd9b9(%rip),%xmm0 # 2b2b0 <_sk_srcover_rgba_8888_sse2_lowp+0xcdc> .byte 15,84,21,194,217,0,0 // andps 0xd9c2(%rip),%xmm2 # 2b2c0 <_sk_srcover_rgba_8888_sse2_lowp+0xcec> .byte 68,15,40,53,250,214,0,0 // movaps 0xd6fa(%rip),%xmm14 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 65,15,86,214 // orps %xmm14,%xmm2 .byte 68,15,40,37,190,217,0,0 // movaps 0xd9be(%rip),%xmm12 # 2b2d0 <_sk_srcover_rgba_8888_sse2_lowp+0xcfc> .byte 65,15,88,196 // addps %xmm12,%xmm0 .byte 68,15,40,29,194,217,0,0 // movaps 0xd9c2(%rip),%xmm11 # 2b2e0 <_sk_srcover_rgba_8888_sse2_lowp+0xd0c> .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 65,15,89,227 // mulps %xmm11,%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 68,15,40,21,192,217,0,0 // movaps 0xd9c0(%rip),%xmm10 # 2b2f0 <_sk_srcover_rgba_8888_sse2_lowp+0xd1c> .byte 65,15,88,210 // addps %xmm10,%xmm2 .byte 68,15,40,45,196,217,0,0 // movaps 0xd9c4(%rip),%xmm13 # 2b300 <_sk_srcover_rgba_8888_sse2_lowp+0xd2c> .byte 65,15,40,229 // movaps %xmm13,%xmm4 .byte 15,94,226 // divps %xmm2,%xmm4 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,92,196 // subps %xmm4,%xmm0 .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 243,15,91,208 // cvttps2dq %xmm0,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,194,226,1 // cmpltps %xmm2,%xmm4 .byte 68,15,40,13,164,214,0,0 // movaps 0xd6a4(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 65,15,84,225 // andps %xmm9,%xmm4 .byte 15,92,212 // subps %xmm4,%xmm2 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 15,40,53,144,217,0,0 // movaps 0xd990(%rip),%xmm6 # 2b310 <_sk_srcover_rgba_8888_sse2_lowp+0xd3c> .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,40,61,166,217,0,0 // movaps 0xd9a6(%rip),%xmm7 # 2b330 <_sk_srcover_rgba_8888_sse2_lowp+0xd5c> .byte 15,40,239 // movaps %xmm7,%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 15,40,37,134,217,0,0 // movaps 0xd986(%rip),%xmm4 # 2b320 <_sk_srcover_rgba_8888_sse2_lowp+0xd4c> .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,92,194 // subps %xmm2,%xmm0 .byte 68,15,40,61,152,217,0,0 // movaps 0xd998(%rip),%xmm15 # 2b340 <_sk_srcover_rgba_8888_sse2_lowp+0xd6c> .byte 65,15,40,215 // movaps %xmm15,%xmm2 .byte 15,94,213 // divps %xmm5,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 15,91,193 // cvtdq2ps %xmm1,%xmm0 .byte 15,89,5,244,216,0,0 // mulps 0xd8f4(%rip),%xmm0 # 2b2b0 <_sk_srcover_rgba_8888_sse2_lowp+0xcdc> .byte 15,84,13,253,216,0,0 // andps 0xd8fd(%rip),%xmm1 # 2b2c0 <_sk_srcover_rgba_8888_sse2_lowp+0xcec> .byte 65,15,86,206 // orps %xmm14,%xmm1 .byte 65,15,88,196 // addps %xmm12,%xmm0 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 65,15,89,235 // mulps %xmm11,%xmm5 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 69,15,40,242 // movaps %xmm10,%xmm14 .byte 65,15,40,237 // movaps %xmm13,%xmm5 .byte 15,94,233 // divps %xmm1,%xmm5 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 243,15,91,200 // cvttps2dq %xmm0,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,194,233,1 // cmpltps %xmm1,%xmm5 .byte 65,15,84,233 // andps %xmm9,%xmm5 .byte 15,92,205 // subps %xmm5,%xmm1 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 68,15,40,214 // movaps %xmm6,%xmm10 .byte 15,40,247 // movaps %xmm7,%xmm6 .byte 15,92,245 // subps %xmm5,%xmm6 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 65,15,40,207 // movaps %xmm15,%xmm1 .byte 15,94,206 // divps %xmm6,%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,91,195 // cvtdq2ps %xmm3,%xmm0 .byte 15,89,5,131,216,0,0 // mulps 0xd883(%rip),%xmm0 # 2b2b0 <_sk_srcover_rgba_8888_sse2_lowp+0xcdc> .byte 15,84,29,140,216,0,0 // andps 0xd88c(%rip),%xmm3 # 2b2c0 <_sk_srcover_rgba_8888_sse2_lowp+0xcec> .byte 15,86,29,197,213,0,0 // orps 0xd5c5(%rip),%xmm3 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 65,15,88,196 // addps %xmm12,%xmm0 .byte 68,15,89,219 // mulps %xmm3,%xmm11 .byte 65,15,92,195 // subps %xmm11,%xmm0 .byte 65,15,88,222 // addps %xmm14,%xmm3 .byte 68,15,94,235 // divps %xmm3,%xmm13 .byte 65,15,92,197 // subps %xmm13,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 243,15,91,216 // cvttps2dq %xmm0,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,194,235,1 // cmpltps %xmm3,%xmm5 .byte 65,15,84,233 // andps %xmm9,%xmm5 .byte 15,92,221 // subps %xmm5,%xmm3 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,92,235 // subps %xmm3,%xmm5 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,92,253 // subps %xmm5,%xmm7 .byte 68,15,94,255 // divps %xmm7,%xmm15 .byte 68,15,88,248 // addps %xmm0,%xmm15 .byte 15,40,5,194,216,0,0 // movaps 0xd8c2(%rip),%xmm0 # 2b350 <_sk_srcover_rgba_8888_sse2_lowp+0xd7c> .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 68,15,89,248 // mulps %xmm0,%xmm15 .byte 102,15,91,194 // cvtps2dq %xmm2,%xmm0 .byte 102,15,91,201 // cvtps2dq %xmm1,%xmm1 .byte 102,65,15,91,215 // cvtps2dq %xmm15,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .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_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,151,216,0,0 // mulps 0xd897(%rip),%xmm0 # 2b360 <_sk_srcover_rgba_8888_sse2_lowp+0xd8c> .byte 68,15,40,5,31,214,0,0 // movaps 0xd61f(%rip),%xmm8 # 2b0f0 <_sk_srcover_rgba_8888_sse2_lowp+0xb1c> .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 68,15,40,13,147,216,0,0 // movaps 0xd893(%rip),%xmm9 # 2b370 <_sk_srcover_rgba_8888_sse2_lowp+0xd9c> .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,144,216,0,0 // addps 0xd890(%rip),%xmm0 # 2b380 <_sk_srcover_rgba_8888_sse2_lowp+0xdac> .byte 15,89,5,153,216,0,0 // mulps 0xd899(%rip),%xmm0 # 2b390 <_sk_srcover_rgba_8888_sse2_lowp+0xdbc> .byte 15,89,13,162,216,0,0 // mulps 0xd8a2(%rip),%xmm1 # 2b3a0 <_sk_srcover_rgba_8888_sse2_lowp+0xdcc> .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,89,21,168,216,0,0 // mulps 0xd8a8(%rip),%xmm2 # 2b3b0 <_sk_srcover_rgba_8888_sse2_lowp+0xddc> .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,157,216,0,0 // movaps 0xd89d(%rip),%xmm2 # 2b3c0 <_sk_srcover_rgba_8888_sse2_lowp+0xdec> .byte 68,15,40,194 // movaps %xmm2,%xmm8 .byte 69,15,194,196,1 // cmpltps %xmm12,%xmm8 .byte 68,15,40,21,156,216,0,0 // movaps 0xd89c(%rip),%xmm10 # 2b3d0 <_sk_srcover_rgba_8888_sse2_lowp+0xdfc> .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 68,15,40,29,160,216,0,0 // movaps 0xd8a0(%rip),%xmm11 # 2b3e0 <_sk_srcover_rgba_8888_sse2_lowp+0xe0c> .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,80,216,0,0 // mulps 0xd850(%rip),%xmm8 # 2b3f0 <_sk_srcover_rgba_8888_sse2_lowp+0xe1c> .byte 15,89,21,89,216,0,0 // mulps 0xd859(%rip),%xmm2 # 2b400 <_sk_srcover_rgba_8888_sse2_lowp+0xe2c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_load_a8_sse2 .globl _sk_load_a8_sse2 FUNCTION(_sk_load_a8_sse2) _sk_load_a8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,46 // jne 1dbf5 <_sk_load_a8_sse2+0x46> .byte 102,67,15,110,4,16 // movd (%r8,%r10,1),%xmm0 .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 .byte 102,15,97,192 // punpcklwd %xmm0,%xmm0 .byte 102,15,219,5,227,212,0,0 // pand 0xd4e3(%rip),%xmm0 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 15,91,216 // cvtdq2ps %xmm0,%xmm3 .byte 15,89,29,41,214,0,0 // mulps 0xd629(%rip),%xmm3 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,54 // je 1dc38 <_sk_load_a8_sse2+0x89> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 1dc21 <_sk_load_a8_sse2+0x72> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,195 // jne 1dbd5 <_sk_load_a8_sse2+0x26> .byte 67,15,182,68,16,2 // movzbl 0x2(%r8,%r10,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,192,69 // pshufd $0x45,%xmm0,%xmm0 .byte 67,15,183,4,16 // movzwl (%r8,%r10,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 1dbd5 <_sk_load_a8_sse2+0x26> .byte 67,15,182,4,16 // movzbl (%r8,%r10,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 235,146 // jmp 1dbd5 <_sk_load_a8_sse2+0x26> HIDDEN _sk_load_a8_dst_sse2 .globl _sk_load_a8_dst_sse2 FUNCTION(_sk_load_a8_dst_sse2) _sk_load_a8_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,46 // jne 1dc89 <_sk_load_a8_dst_sse2+0x46> .byte 102,67,15,110,36,16 // movd (%r8,%r10,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,219,37,79,212,0,0 // pand 0xd44f(%rip),%xmm4 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 15,91,252 // cvtdq2ps %xmm4,%xmm7 .byte 15,89,61,149,213,0,0 // mulps 0xd595(%rip),%xmm7 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,54 // je 1dccc <_sk_load_a8_dst_sse2+0x89> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 1dcb5 <_sk_load_a8_dst_sse2+0x72> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,195 // jne 1dc69 <_sk_load_a8_dst_sse2+0x26> .byte 67,15,182,68,16,2 // movzbl 0x2(%r8,%r10,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 67,15,183,4,16 // movzwl (%r8,%r10,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 1dc69 <_sk_load_a8_dst_sse2+0x26> .byte 67,15,182,4,16 // movzbl (%r8,%r10,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 235,146 // jmp 1dc69 <_sk_load_a8_dst_sse2+0x26> HIDDEN _sk_gather_a8_sse2 .globl _sk_gather_a8_sse2 FUNCTION(_sk_gather_a8_sse2) _sk_gather_a8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,8 // movd 0x8(%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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 .byte 102,73,15,126,194 // movq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,28,24 // movzbl (%r8,%r11,1),%r11d .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 65,193,226,8 // shl $0x8,%r10d .byte 69,9,218 // or %r11d,%r10d .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 65,15,182,4,0 // movzbl (%r8,%rax,1),%eax .byte 193,224,8 // shl $0x8,%eax .byte 68,9,200 // or %r9d,%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,65,15,196,194,1 // pinsrw $0x1,%r10d,%xmm0 .byte 102,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,165,212,0,0 // mulps 0xd4a5(%rip),%xmm3 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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 255,224 // jmpq *%rax HIDDEN _sk_store_a8_sse2 .globl _sk_store_a8_sse2 FUNCTION(_sk_store_a8_sse2) _sk_store_a8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 68,15,40,5,91,211,0,0 // movaps 0xd35b(%rip),%xmm8 # 2b0f0 <_sk_srcover_rgba_8888_sse2_lowp+0xb1c> .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,68,15,107,192 // packssdw %xmm0,%xmm8 .byte 102,68,15,103,192 // packuswb %xmm0,%xmm8 .byte 72,133,255 // test %rdi,%rdi .byte 117,13 // jne 1ddc6 <_sk_store_a8_sse2+0x4c> .byte 102,68,15,126,192 // movd %xmm8,%eax .byte 67,137,4,16 // mov %eax,(%r8,%r10,1) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,68,15,96,192 // punpcklbw %xmm0,%xmm8 .byte 102,68,15,97,192 // punpcklwd %xmm0,%xmm8 .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,54 // je 1de13 <_sk_store_a8_sse2+0x99> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,17 // je 1ddf4 <_sk_store_a8_sse2+0x7a> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,217 // jne 1ddc2 <_sk_store_a8_sse2+0x48> .byte 102,65,15,197,192,4 // pextrw $0x4,%xmm8,%eax .byte 67,136,68,16,2 // mov %al,0x2(%r8,%r10,1) .byte 102,68,15,219,5,195,210,0,0 // pand 0xd2c3(%rip),%xmm8 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .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,67,137,4,16 // mov %ax,(%r8,%r10,1) .byte 235,175 // jmp 1ddc2 <_sk_store_a8_sse2+0x48> .byte 102,68,15,126,192 // movd %xmm8,%eax .byte 67,136,4,16 // mov %al,(%r8,%r10,1) .byte 235,164 // jmp 1ddc2 <_sk_store_a8_sse2+0x48> HIDDEN _sk_load_g8_sse2 .globl _sk_load_g8_sse2 FUNCTION(_sk_load_g8_sse2) _sk_load_g8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,49 // jne 1de67 <_sk_load_g8_sse2+0x49> .byte 102,67,15,110,4,16 // movd (%r8,%r10,1),%xmm0 .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 .byte 102,15,97,192 // punpcklwd %xmm0,%xmm0 .byte 102,15,219,5,116,210,0,0 // pand 0xd274(%rip),%xmm0 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,186,211,0,0 // mulps 0xd3ba(%rip),%xmm0 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,177,209,0,0 // movaps 0xd1b1(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,54 // je 1deaa <_sk_load_g8_sse2+0x8c> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 1de93 <_sk_load_g8_sse2+0x75> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,192 // jne 1de44 <_sk_load_g8_sse2+0x26> .byte 67,15,182,68,16,2 // movzbl 0x2(%r8,%r10,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,192,69 // pshufd $0x45,%xmm0,%xmm0 .byte 67,15,183,4,16 // movzwl (%r8,%r10,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 1de44 <_sk_load_g8_sse2+0x26> .byte 67,15,182,4,16 // movzbl (%r8,%r10,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 235,143 // jmp 1de44 <_sk_load_g8_sse2+0x26> HIDDEN _sk_load_g8_dst_sse2 .globl _sk_load_g8_dst_sse2 FUNCTION(_sk_load_g8_dst_sse2) _sk_load_g8_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,49 // jne 1defe <_sk_load_g8_dst_sse2+0x49> .byte 102,67,15,110,36,16 // movd (%r8,%r10,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,219,37,221,209,0,0 // pand 0xd1dd(%rip),%xmm4 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,37,35,211,0,0 // mulps 0xd323(%rip),%xmm4 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,61,26,209,0,0 // movaps 0xd11a(%rip),%xmm7 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,40,244 // movaps %xmm4,%xmm6 .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,54 // je 1df41 <_sk_load_g8_dst_sse2+0x8c> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 1df2a <_sk_load_g8_dst_sse2+0x75> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,192 // jne 1dedb <_sk_load_g8_dst_sse2+0x26> .byte 67,15,182,68,16,2 // movzbl 0x2(%r8,%r10,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 67,15,183,4,16 // movzwl (%r8,%r10,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 1dedb <_sk_load_g8_dst_sse2+0x26> .byte 67,15,182,4,16 // movzbl (%r8,%r10,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 235,143 // jmp 1dedb <_sk_load_g8_dst_sse2+0x26> HIDDEN _sk_gather_g8_sse2 .globl _sk_gather_g8_sse2 FUNCTION(_sk_gather_g8_sse2) _sk_gather_g8_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,8 // movd 0x8(%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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 .byte 102,73,15,126,194 // movq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,182,28,24 // movzbl (%r8,%r11,1),%r11d .byte 71,15,182,20,16 // movzbl (%r8,%r10,1),%r10d .byte 65,193,226,8 // shl $0x8,%r10d .byte 69,9,218 // or %r11d,%r10d .byte 71,15,182,12,8 // movzbl (%r8,%r9,1),%r9d .byte 65,15,182,4,0 // movzbl (%r8,%rax,1),%eax .byte 193,224,8 // shl $0x8,%eax .byte 68,9,200 // or %r9d,%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,65,15,196,194,1 // pinsrw $0x1,%r10d,%xmm0 .byte 102,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,48,210,0,0 // mulps 0xd230(%rip),%xmm0 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,39,208,0,0 // movaps 0xd027(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_load_565_sse2 .globl _sk_load_565_sse2 FUNCTION(_sk_load_565_sse2) _sk_load_565_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,83 // jne 1e05f <_sk_load_565_sse2+0x6e> .byte 243,67,15,126,20,80 // movq (%r8,%r10,2),%xmm2 .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 .byte 102,15,111,5,2,210,0,0 // movdqa 0xd202(%rip),%xmm0 # 2b220 <_sk_srcover_rgba_8888_sse2_lowp+0xc4c> .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,4,210,0,0 // mulps 0xd204(%rip),%xmm0 # 2b230 <_sk_srcover_rgba_8888_sse2_lowp+0xc5c> .byte 102,15,111,13,12,210,0,0 // movdqa 0xd20c(%rip),%xmm1 # 2b240 <_sk_srcover_rgba_8888_sse2_lowp+0xc6c> .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,14,210,0,0 // mulps 0xd20e(%rip),%xmm1 # 2b250 <_sk_srcover_rgba_8888_sse2_lowp+0xc7c> .byte 102,15,219,21,22,210,0,0 // pand 0xd216(%rip),%xmm2 # 2b260 <_sk_srcover_rgba_8888_sse2_lowp+0xc8c> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,28,210,0,0 // mulps 0xd21c(%rip),%xmm2 # 2b270 <_sk_srcover_rgba_8888_sse2_lowp+0xc9c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,179,207,0,0 // movaps 0xcfb3(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,51 // je 1e09f <_sk_load_565_sse2+0xae> .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 1e08b <_sk_load_565_sse2+0x9a> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,154 // jne 1e016 <_sk_load_565_sse2+0x25> .byte 67,15,183,68,80,4 // movzwl 0x4(%r8,%r10,2),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,208,69 // pshufd $0x45,%xmm0,%xmm2 .byte 102,67,15,110,4,80 // movd (%r8,%r10,2),%xmm0 .byte 242,15,112,192,212 // pshuflw $0xd4,%xmm0,%xmm0 .byte 242,15,16,208 // movsd %xmm0,%xmm2 .byte 233,119,255,255,255 // jmpq 1e016 <_sk_load_565_sse2+0x25> .byte 67,15,183,4,80 // movzwl (%r8,%r10,2),%eax .byte 102,15,110,208 // movd %eax,%xmm2 .byte 233,105,255,255,255 // jmpq 1e016 <_sk_load_565_sse2+0x25> HIDDEN _sk_load_565_dst_sse2 .globl _sk_load_565_dst_sse2 FUNCTION(_sk_load_565_dst_sse2) _sk_load_565_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,83 // jne 1e11b <_sk_load_565_dst_sse2+0x6e> .byte 243,67,15,126,52,80 // movq (%r8,%r10,2),%xmm6 .byte 102,15,97,240 // punpcklwd %xmm0,%xmm6 .byte 102,15,111,37,70,209,0,0 // movdqa 0xd146(%rip),%xmm4 # 2b220 <_sk_srcover_rgba_8888_sse2_lowp+0xc4c> .byte 102,15,219,230 // pand %xmm6,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,37,72,209,0,0 // mulps 0xd148(%rip),%xmm4 # 2b230 <_sk_srcover_rgba_8888_sse2_lowp+0xc5c> .byte 102,15,111,45,80,209,0,0 // movdqa 0xd150(%rip),%xmm5 # 2b240 <_sk_srcover_rgba_8888_sse2_lowp+0xc6c> .byte 102,15,219,238 // pand %xmm6,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,45,82,209,0,0 // mulps 0xd152(%rip),%xmm5 # 2b250 <_sk_srcover_rgba_8888_sse2_lowp+0xc7c> .byte 102,15,219,53,90,209,0,0 // pand 0xd15a(%rip),%xmm6 # 2b260 <_sk_srcover_rgba_8888_sse2_lowp+0xc8c> .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,89,53,96,209,0,0 // mulps 0xd160(%rip),%xmm6 # 2b270 <_sk_srcover_rgba_8888_sse2_lowp+0xc9c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,61,247,206,0,0 // movaps 0xcef7(%rip),%xmm7 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,51 // je 1e15b <_sk_load_565_dst_sse2+0xae> .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 1e147 <_sk_load_565_dst_sse2+0x9a> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,154 // jne 1e0d2 <_sk_load_565_dst_sse2+0x25> .byte 67,15,183,68,80,4 // movzwl 0x4(%r8,%r10,2),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,244,69 // pshufd $0x45,%xmm4,%xmm6 .byte 102,67,15,110,36,80 // movd (%r8,%r10,2),%xmm4 .byte 242,15,112,228,212 // pshuflw $0xd4,%xmm4,%xmm4 .byte 242,15,16,244 // movsd %xmm4,%xmm6 .byte 233,119,255,255,255 // jmpq 1e0d2 <_sk_load_565_dst_sse2+0x25> .byte 67,15,183,4,80 // movzwl (%r8,%r10,2),%eax .byte 102,15,110,240 // movd %eax,%xmm6 .byte 233,105,255,255,255 // jmpq 1e0d2 <_sk_load_565_dst_sse2+0x25> HIDDEN _sk_gather_565_sse2 .globl _sk_gather_565_sse2 FUNCTION(_sk_gather_565_sse2) _sk_gather_565_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,8 // movd 0x8(%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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,194 // movq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,183,20,80 // movzwl (%r8,%r10,2),%r10d .byte 71,15,183,28,88 // movzwl (%r8,%r11,2),%r11d .byte 102,65,15,110,211 // movd %r11d,%xmm2 .byte 102,65,15,196,210,1 // pinsrw $0x1,%r10d,%xmm2 .byte 71,15,183,12,72 // movzwl (%r8,%r9,2),%r9d .byte 102,65,15,196,209,2 // pinsrw $0x2,%r9d,%xmm2 .byte 65,15,183,4,64 // movzwl (%r8,%rax,2),%eax .byte 102,15,196,208,3 // pinsrw $0x3,%eax,%xmm2 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 .byte 102,15,111,5,42,208,0,0 // movdqa 0xd02a(%rip),%xmm0 # 2b220 <_sk_srcover_rgba_8888_sse2_lowp+0xc4c> .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,44,208,0,0 // mulps 0xd02c(%rip),%xmm0 # 2b230 <_sk_srcover_rgba_8888_sse2_lowp+0xc5c> .byte 102,15,111,13,52,208,0,0 // movdqa 0xd034(%rip),%xmm1 # 2b240 <_sk_srcover_rgba_8888_sse2_lowp+0xc6c> .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,54,208,0,0 // mulps 0xd036(%rip),%xmm1 # 2b250 <_sk_srcover_rgba_8888_sse2_lowp+0xc7c> .byte 102,15,219,21,62,208,0,0 // pand 0xd03e(%rip),%xmm2 # 2b260 <_sk_srcover_rgba_8888_sse2_lowp+0xc8c> .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,68,208,0,0 // mulps 0xd044(%rip),%xmm2 # 2b270 <_sk_srcover_rgba_8888_sse2_lowp+0xc9c> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,219,205,0,0 // movaps 0xcddb(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 255,224 // jmpq *%rax HIDDEN _sk_store_565_sse2 .globl _sk_store_565_sse2 FUNCTION(_sk_store_565_sse2) _sk_store_565_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 68,15,40,5,203,209,0,0 // movaps 0xd1cb(%rip),%xmm8 # 2b420 <_sk_srcover_rgba_8888_sse2_lowp+0xe4c> .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,192,209,0,0 // movaps 0xd1c0(%rip),%xmm10 # 2b430 <_sk_srcover_rgba_8888_sse2_lowp+0xe5c> .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,68,15,107,192 // packssdw %xmm0,%xmm8 .byte 72,133,255 // test %rdi,%rdi .byte 117,10 // jne 1e2b2 <_sk_store_565_sse2+0x7b> .byte 102,71,15,214,4,80 // movq %xmm8,(%r8,%r10,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,68,15,97,192 // punpcklwd %xmm0,%xmm8 .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,38 // je 1e2ea <_sk_store_565_sse2+0xb3> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,18 // je 1e2dc <_sk_store_565_sse2+0xa5> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,222 // jne 1e2ae <_sk_store_565_sse2+0x77> .byte 102,65,15,197,192,4 // pextrw $0x4,%xmm8,%eax .byte 102,67,137,68,80,4 // mov %ax,0x4(%r8,%r10,2) .byte 242,69,15,112,192,232 // pshuflw $0xe8,%xmm8,%xmm8 .byte 102,71,15,126,4,80 // movd %xmm8,(%r8,%r10,2) .byte 235,196 // jmp 1e2ae <_sk_store_565_sse2+0x77> .byte 102,68,15,126,192 // movd %xmm8,%eax .byte 102,67,137,4,80 // mov %ax,(%r8,%r10,2) .byte 235,184 // jmp 1e2ae <_sk_store_565_sse2+0x77> HIDDEN _sk_load_4444_sse2 .globl _sk_load_4444_sse2 FUNCTION(_sk_load_4444_sse2) _sk_load_4444_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,98 // jne 1e373 <_sk_load_4444_sse2+0x7d> .byte 243,67,15,126,28,80 // movq (%r8,%r10,2),%xmm3 .byte 102,15,97,216 // punpcklwd %xmm0,%xmm3 .byte 102,15,111,5,29,209,0,0 // movdqa 0xd11d(%rip),%xmm0 # 2b440 <_sk_srcover_rgba_8888_sse2_lowp+0xe6c> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,31,209,0,0 // mulps 0xd11f(%rip),%xmm0 # 2b450 <_sk_srcover_rgba_8888_sse2_lowp+0xe7c> .byte 102,15,111,13,39,209,0,0 // movdqa 0xd127(%rip),%xmm1 # 2b460 <_sk_srcover_rgba_8888_sse2_lowp+0xe8c> .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,41,209,0,0 // mulps 0xd129(%rip),%xmm1 # 2b470 <_sk_srcover_rgba_8888_sse2_lowp+0xe9c> .byte 102,15,111,21,49,209,0,0 // movdqa 0xd131(%rip),%xmm2 # 2b480 <_sk_srcover_rgba_8888_sse2_lowp+0xeac> .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,51,209,0,0 // mulps 0xd133(%rip),%xmm2 # 2b490 <_sk_srcover_rgba_8888_sse2_lowp+0xebc> .byte 102,15,219,29,59,209,0,0 // pand 0xd13b(%rip),%xmm3 # 2b4a0 <_sk_srcover_rgba_8888_sse2_lowp+0xecc> .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,29,65,209,0,0 // mulps 0xd141(%rip),%xmm3 # 2b4b0 <_sk_srcover_rgba_8888_sse2_lowp+0xedc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,51 // je 1e3b3 <_sk_load_4444_sse2+0xbd> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 1e39f <_sk_load_4444_sse2+0xa9> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,139 // jne 1e31b <_sk_load_4444_sse2+0x25> .byte 67,15,183,68,80,4 // movzwl 0x4(%r8,%r10,2),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 102,67,15,110,4,80 // movd (%r8,%r10,2),%xmm0 .byte 242,15,112,192,212 // pshuflw $0xd4,%xmm0,%xmm0 .byte 242,15,16,216 // movsd %xmm0,%xmm3 .byte 233,104,255,255,255 // jmpq 1e31b <_sk_load_4444_sse2+0x25> .byte 67,15,183,4,80 // movzwl (%r8,%r10,2),%eax .byte 102,15,110,216 // movd %eax,%xmm3 .byte 233,90,255,255,255 // jmpq 1e31b <_sk_load_4444_sse2+0x25> HIDDEN _sk_load_4444_dst_sse2 .globl _sk_load_4444_dst_sse2 FUNCTION(_sk_load_4444_dst_sse2) _sk_load_4444_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 72,133,255 // test %rdi,%rdi .byte 117,98 // jne 1e43e <_sk_load_4444_dst_sse2+0x7d> .byte 243,67,15,126,60,80 // movq (%r8,%r10,2),%xmm7 .byte 102,15,97,248 // punpcklwd %xmm0,%xmm7 .byte 102,15,111,37,82,208,0,0 // movdqa 0xd052(%rip),%xmm4 # 2b440 <_sk_srcover_rgba_8888_sse2_lowp+0xe6c> .byte 102,15,219,231 // pand %xmm7,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,37,84,208,0,0 // mulps 0xd054(%rip),%xmm4 # 2b450 <_sk_srcover_rgba_8888_sse2_lowp+0xe7c> .byte 102,15,111,45,92,208,0,0 // movdqa 0xd05c(%rip),%xmm5 # 2b460 <_sk_srcover_rgba_8888_sse2_lowp+0xe8c> .byte 102,15,219,239 // pand %xmm7,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,45,94,208,0,0 // mulps 0xd05e(%rip),%xmm5 # 2b470 <_sk_srcover_rgba_8888_sse2_lowp+0xe9c> .byte 102,15,111,53,102,208,0,0 // movdqa 0xd066(%rip),%xmm6 # 2b480 <_sk_srcover_rgba_8888_sse2_lowp+0xeac> .byte 102,15,219,247 // pand %xmm7,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,89,53,104,208,0,0 // mulps 0xd068(%rip),%xmm6 # 2b490 <_sk_srcover_rgba_8888_sse2_lowp+0xebc> .byte 102,15,219,61,112,208,0,0 // pand 0xd070(%rip),%xmm7 # 2b4a0 <_sk_srcover_rgba_8888_sse2_lowp+0xecc> .byte 15,91,255 // cvtdq2ps %xmm7,%xmm7 .byte 15,89,61,118,208,0,0 // mulps 0xd076(%rip),%xmm7 # 2b4b0 <_sk_srcover_rgba_8888_sse2_lowp+0xedc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,51 // je 1e47e <_sk_load_4444_dst_sse2+0xbd> .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,21 // je 1e46a <_sk_load_4444_dst_sse2+0xa9> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,139 // jne 1e3e6 <_sk_load_4444_dst_sse2+0x25> .byte 67,15,183,68,80,4 // movzwl 0x4(%r8,%r10,2),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,112,252,69 // pshufd $0x45,%xmm4,%xmm7 .byte 102,67,15,110,36,80 // movd (%r8,%r10,2),%xmm4 .byte 242,15,112,228,212 // pshuflw $0xd4,%xmm4,%xmm4 .byte 242,15,16,252 // movsd %xmm4,%xmm7 .byte 233,104,255,255,255 // jmpq 1e3e6 <_sk_load_4444_dst_sse2+0x25> .byte 67,15,183,4,80 // movzwl (%r8,%r10,2),%eax .byte 102,15,110,248 // movd %eax,%xmm7 .byte 233,90,255,255,255 // jmpq 1e3e6 <_sk_load_4444_dst_sse2+0x25> HIDDEN _sk_gather_4444_sse2 .globl _sk_gather_4444_sse2 FUNCTION(_sk_gather_4444_sse2) _sk_gather_4444_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,8 // movd 0x8(%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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,194 // movq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 71,15,183,20,80 // movzwl (%r8,%r10,2),%r10d .byte 71,15,183,28,88 // movzwl (%r8,%r11,2),%r11d .byte 102,65,15,110,219 // movd %r11d,%xmm3 .byte 102,65,15,196,218,1 // pinsrw $0x1,%r10d,%xmm3 .byte 71,15,183,12,72 // movzwl (%r8,%r9,2),%r9d .byte 102,65,15,196,217,2 // pinsrw $0x2,%r9d,%xmm3 .byte 65,15,183,4,64 // movzwl (%r8,%rax,2),%eax .byte 102,15,196,216,3 // pinsrw $0x3,%eax,%xmm3 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,97,216 // punpcklwd %xmm0,%xmm3 .byte 102,15,111,5,39,207,0,0 // movdqa 0xcf27(%rip),%xmm0 # 2b440 <_sk_srcover_rgba_8888_sse2_lowp+0xe6c> .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,5,41,207,0,0 // mulps 0xcf29(%rip),%xmm0 # 2b450 <_sk_srcover_rgba_8888_sse2_lowp+0xe7c> .byte 102,15,111,13,49,207,0,0 // movdqa 0xcf31(%rip),%xmm1 # 2b460 <_sk_srcover_rgba_8888_sse2_lowp+0xe8c> .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,13,51,207,0,0 // mulps 0xcf33(%rip),%xmm1 # 2b470 <_sk_srcover_rgba_8888_sse2_lowp+0xe9c> .byte 102,15,111,21,59,207,0,0 // movdqa 0xcf3b(%rip),%xmm2 # 2b480 <_sk_srcover_rgba_8888_sse2_lowp+0xeac> .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,21,61,207,0,0 // mulps 0xcf3d(%rip),%xmm2 # 2b490 <_sk_srcover_rgba_8888_sse2_lowp+0xebc> .byte 102,15,219,29,69,207,0,0 // pand 0xcf45(%rip),%xmm3 # 2b4a0 <_sk_srcover_rgba_8888_sse2_lowp+0xecc> .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,29,75,207,0,0 // mulps 0xcf4b(%rip),%xmm3 # 2b4b0 <_sk_srcover_rgba_8888_sse2_lowp+0xedc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_4444_sse2 .globl _sk_store_4444_sse2 FUNCTION(_sk_store_4444_sse2) _sk_store_4444_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 76,99,210 // movslq %edx,%r10 .byte 68,15,40,5,57,207,0,0 // movaps 0xcf39(%rip),%xmm8 # 2b4c0 <_sk_srcover_rgba_8888_sse2_lowp+0xeec> .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,68,15,107,192 // packssdw %xmm0,%xmm8 .byte 72,133,255 // test %rdi,%rdi .byte 117,10 // jne 1e5f8 <_sk_store_4444_sse2+0x8f> .byte 102,71,15,214,4,80 // movq %xmm8,(%r8,%r10,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,68,15,97,192 // punpcklwd %xmm0,%xmm8 .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,38 // je 1e630 <_sk_store_4444_sse2+0xc7> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,18 // je 1e622 <_sk_store_4444_sse2+0xb9> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,222 // jne 1e5f4 <_sk_store_4444_sse2+0x8b> .byte 102,65,15,197,192,4 // pextrw $0x4,%xmm8,%eax .byte 102,67,137,68,80,4 // mov %ax,0x4(%r8,%r10,2) .byte 242,69,15,112,192,232 // pshuflw $0xe8,%xmm8,%xmm8 .byte 102,71,15,126,4,80 // movd %xmm8,(%r8,%r10,2) .byte 235,196 // jmp 1e5f4 <_sk_store_4444_sse2+0x8b> .byte 102,68,15,126,192 // movd %xmm8,%eax .byte 102,67,137,4,80 // mov %ax,(%r8,%r10,2) .byte 235,184 // jmp 1e5f4 <_sk_store_4444_sse2+0x8b> HIDDEN _sk_load_8888_sse2 .globl _sk_load_8888_sse2 FUNCTION(_sk_load_8888_sse2) _sk_load_8888_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 117,98 // jne 1e6ba <_sk_load_8888_sse2+0x7e> .byte 243,69,15,111,12,128 // movdqu (%r8,%rax,4),%xmm9 .byte 102,15,111,21,90,202,0,0 // movdqa 0xca5a(%rip),%xmm2 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .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,150,203,0,0 // movaps 0xcb96(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,41 // je 1e6f0 <_sk_load_8888_sse2+0xb4> .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,19 // je 1e6e5 <_sk_load_8888_sse2+0xa9> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,134 // jne 1e65e <_sk_load_8888_sse2+0x22> .byte 102,65,15,110,68,128,8 // movd 0x8(%r8,%rax,4),%xmm0 .byte 102,68,15,112,200,69 // pshufd $0x45,%xmm0,%xmm9 .byte 102,69,15,18,12,128 // movlpd (%r8,%rax,4),%xmm9 .byte 233,110,255,255,255 // jmpq 1e65e <_sk_load_8888_sse2+0x22> .byte 102,69,15,110,12,128 // movd (%r8,%rax,4),%xmm9 .byte 233,99,255,255,255 // jmpq 1e65e <_sk_load_8888_sse2+0x22> HIDDEN _sk_load_8888_dst_sse2 .globl _sk_load_8888_dst_sse2 FUNCTION(_sk_load_8888_dst_sse2) _sk_load_8888_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 117,98 // jne 1e779 <_sk_load_8888_dst_sse2+0x7e> .byte 243,69,15,111,12,128 // movdqu (%r8,%rax,4),%xmm9 .byte 102,15,111,53,155,201,0,0 // movdqa 0xc99b(%rip),%xmm6 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .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,215,202,0,0 // movaps 0xcad7(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,41 // je 1e7af <_sk_load_8888_dst_sse2+0xb4> .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,19 // je 1e7a4 <_sk_load_8888_dst_sse2+0xa9> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,134 // jne 1e71d <_sk_load_8888_dst_sse2+0x22> .byte 102,65,15,110,100,128,8 // movd 0x8(%r8,%rax,4),%xmm4 .byte 102,68,15,112,204,69 // pshufd $0x45,%xmm4,%xmm9 .byte 102,69,15,18,12,128 // movlpd (%r8,%rax,4),%xmm9 .byte 233,110,255,255,255 // jmpq 1e71d <_sk_load_8888_dst_sse2+0x22> .byte 102,69,15,110,12,128 // movd (%r8,%rax,4),%xmm9 .byte 233,99,255,255,255 // jmpq 1e71d <_sk_load_8888_dst_sse2+0x22> HIDDEN _sk_gather_8888_sse2 .globl _sk_gather_8888_sse2 FUNCTION(_sk_gather_8888_sse2) _sk_gather_8888_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,8 // movd 0x8(%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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,194 // movq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 102,67,15,110,4,144 // movd (%r8,%r10,4),%xmm0 .byte 102,71,15,110,12,152 // movd (%r8,%r11,4),%xmm9 .byte 102,68,15,98,200 // punpckldq %xmm0,%xmm9 .byte 102,65,15,110,4,128 // movd (%r8,%rax,4),%xmm0 .byte 102,67,15,110,12,136 // movd (%r8,%r9,4),%xmm1 .byte 102,15,98,200 // punpckldq %xmm0,%xmm1 .byte 102,68,15,108,201 // punpcklqdq %xmm1,%xmm9 .byte 102,15,111,21,133,200,0,0 // movdqa 0xc885(%rip),%xmm2 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .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,193,201,0,0 // movaps 0xc9c1(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,65,15,111,217 // movdqa %xmm9,%xmm3 .byte 102,15,114,211,16 // psrld $0x10,%xmm3 .byte 102,15,219,218 // pand %xmm2,%xmm3 .byte 15,91,211 // cvtdq2ps %xmm3,%xmm2 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,65,15,114,209,24 // psrld $0x18,%xmm9 .byte 65,15,91,217 // cvtdq2ps %xmm9,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_8888_sse2 .globl _sk_store_8888_sse2 FUNCTION(_sk_store_8888_sse2) _sk_store_8888_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 68,15,40,5,66,200,0,0 // movaps 0xc842(%rip),%xmm8 # 2b0f0 <_sk_srcover_rgba_8888_sse2_lowp+0xb1c> .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 72,133,255 // test %rdi,%rdi .byte 117,10 // jne 1e90e <_sk_store_8888_sse2+0x7f> .byte 243,69,15,127,4,128 // movdqu %xmm8,(%r8,%rax,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,33 // je 1e93c <_sk_store_8888_sse2+0xad> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,19 // je 1e934 <_sk_store_8888_sse2+0xa5> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,227 // jne 1e90a <_sk_store_8888_sse2+0x7b> .byte 102,69,15,112,200,78 // pshufd $0x4e,%xmm8,%xmm9 .byte 102,69,15,126,76,128,8 // movd %xmm9,0x8(%r8,%rax,4) .byte 102,69,15,214,4,128 // movq %xmm8,(%r8,%rax,4) .byte 235,206 // jmp 1e90a <_sk_store_8888_sse2+0x7b> .byte 102,69,15,126,4,128 // movd %xmm8,(%r8,%rax,4) .byte 235,198 // jmp 1e90a <_sk_store_8888_sse2+0x7b> HIDDEN _sk_load_bgra_sse2 .globl _sk_load_bgra_sse2 FUNCTION(_sk_load_bgra_sse2) _sk_load_bgra_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 117,98 // jne 1e9c2 <_sk_load_bgra_sse2+0x7e> .byte 243,69,15,111,12,128 // movdqu (%r8,%rax,4),%xmm9 .byte 102,15,111,5,82,199,0,0 // movdqa 0xc752(%rip),%xmm0 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .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,142,200,0,0 // movaps 0xc88e(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,41 // je 1e9f8 <_sk_load_bgra_sse2+0xb4> .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,19 // je 1e9ed <_sk_load_bgra_sse2+0xa9> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,134 // jne 1e966 <_sk_load_bgra_sse2+0x22> .byte 102,65,15,110,68,128,8 // movd 0x8(%r8,%rax,4),%xmm0 .byte 102,68,15,112,200,69 // pshufd $0x45,%xmm0,%xmm9 .byte 102,69,15,18,12,128 // movlpd (%r8,%rax,4),%xmm9 .byte 233,110,255,255,255 // jmpq 1e966 <_sk_load_bgra_sse2+0x22> .byte 102,69,15,110,12,128 // movd (%r8,%rax,4),%xmm9 .byte 233,99,255,255,255 // jmpq 1e966 <_sk_load_bgra_sse2+0x22> HIDDEN _sk_load_bgra_dst_sse2 .globl _sk_load_bgra_dst_sse2 FUNCTION(_sk_load_bgra_dst_sse2) _sk_load_bgra_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 117,98 // jne 1ea81 <_sk_load_bgra_dst_sse2+0x7e> .byte 243,69,15,111,12,128 // movdqu (%r8,%rax,4),%xmm9 .byte 102,15,111,37,147,198,0,0 // movdqa 0xc693(%rip),%xmm4 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .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,207,199,0,0 // movaps 0xc7cf(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .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 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,41 // je 1eab7 <_sk_load_bgra_dst_sse2+0xb4> .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,19 // je 1eaac <_sk_load_bgra_dst_sse2+0xa9> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,134 // jne 1ea25 <_sk_load_bgra_dst_sse2+0x22> .byte 102,65,15,110,100,128,8 // movd 0x8(%r8,%rax,4),%xmm4 .byte 102,68,15,112,204,69 // pshufd $0x45,%xmm4,%xmm9 .byte 102,69,15,18,12,128 // movlpd (%r8,%rax,4),%xmm9 .byte 233,110,255,255,255 // jmpq 1ea25 <_sk_load_bgra_dst_sse2+0x22> .byte 102,69,15,110,12,128 // movd (%r8,%rax,4),%xmm9 .byte 233,99,255,255,255 // jmpq 1ea25 <_sk_load_bgra_dst_sse2+0x22> HIDDEN _sk_gather_bgra_sse2 .globl _sk_gather_bgra_sse2 FUNCTION(_sk_gather_bgra_sse2) _sk_gather_bgra_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,8 // movd 0x8(%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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,194 // movq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 102,67,15,110,4,144 // movd (%r8,%r10,4),%xmm0 .byte 102,71,15,110,12,152 // movd (%r8,%r11,4),%xmm9 .byte 102,68,15,98,200 // punpckldq %xmm0,%xmm9 .byte 102,65,15,110,4,128 // movd (%r8,%rax,4),%xmm0 .byte 102,67,15,110,12,136 // movd (%r8,%r9,4),%xmm1 .byte 102,15,98,200 // punpckldq %xmm0,%xmm1 .byte 102,68,15,108,201 // punpcklqdq %xmm1,%xmm9 .byte 102,15,111,5,125,197,0,0 // movdqa 0xc57d(%rip),%xmm0 # 2b0c0 <_sk_srcover_rgba_8888_sse2_lowp+0xaec> .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,185,198,0,0 // movaps 0xc6b9(%rip),%xmm8 # 2b210 <_sk_srcover_rgba_8888_sse2_lowp+0xc3c> .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,200 // pand %xmm0,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 102,65,15,111,217 // movdqa %xmm9,%xmm3 .byte 102,15,114,211,16 // psrld $0x10,%xmm3 .byte 102,15,219,216 // pand %xmm0,%xmm3 .byte 15,91,195 // cvtdq2ps %xmm3,%xmm0 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 102,65,15,114,209,24 // psrld $0x18,%xmm9 .byte 65,15,91,217 // cvtdq2ps %xmm9,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_bgra_sse2 .globl _sk_store_bgra_sse2 FUNCTION(_sk_store_bgra_sse2) _sk_store_bgra_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 68,15,40,5,58,197,0,0 // movaps 0xc53a(%rip),%xmm8 # 2b0f0 <_sk_srcover_rgba_8888_sse2_lowp+0xb1c> .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 72,133,255 // test %rdi,%rdi .byte 117,10 // jne 1ec16 <_sk_store_bgra_sse2+0x7f> .byte 243,69,15,127,4,128 // movdqu %xmm8,(%r8,%rax,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 65,137,249 // mov %edi,%r9d .byte 65,128,225,3 // and $0x3,%r9b .byte 65,128,249,1 // cmp $0x1,%r9b .byte 116,33 // je 1ec44 <_sk_store_bgra_sse2+0xad> .byte 65,128,249,2 // cmp $0x2,%r9b .byte 116,19 // je 1ec3c <_sk_store_bgra_sse2+0xa5> .byte 65,128,249,3 // cmp $0x3,%r9b .byte 117,227 // jne 1ec12 <_sk_store_bgra_sse2+0x7b> .byte 102,69,15,112,200,78 // pshufd $0x4e,%xmm8,%xmm9 .byte 102,69,15,126,76,128,8 // movd %xmm9,0x8(%r8,%rax,4) .byte 102,69,15,214,4,128 // movq %xmm8,(%r8,%rax,4) .byte 235,206 // jmp 1ec12 <_sk_store_bgra_sse2+0x7b> .byte 102,69,15,126,4,128 // movd %xmm8,(%r8,%rax,4) .byte 235,198 // jmp 1ec12 <_sk_store_bgra_sse2+0x7b> HIDDEN _sk_load_f16_sse2 .globl _sk_load_f16_sse2 FUNCTION(_sk_load_f16_sse2) _sk_load_f16_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,3 // shl $0x3,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 15,133,47,1,0,0 // jne 1ed9b <_sk_load_f16_sse2+0x14f> .byte 102,65,15,16,4,192 // movupd (%r8,%rax,8),%xmm0 .byte 243,65,15,111,76,192,16 // movdqu 0x10(%r8,%rax,8),%xmm1 .byte 102,68,15,40,192 // movapd %xmm0,%xmm8 .byte 102,68,15,97,193 // punpcklwd %xmm1,%xmm8 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 .byte 102,68,15,105,192 // punpckhwd %xmm0,%xmm8 .byte 102,69,15,239,210 // pxor %xmm10,%xmm10 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,65,15,97,202 // punpcklwd %xmm10,%xmm1 .byte 102,68,15,111,13,36,200,0,0 // movdqa 0xc824(%rip),%xmm9 # 2b4d0 <_sk_srcover_rgba_8888_sse2_lowp+0xefc> .byte 102,68,15,111,225 // movdqa %xmm1,%xmm12 .byte 102,69,15,219,225 // pand %xmm9,%xmm12 .byte 102,68,15,111,29,33,200,0,0 // movdqa 0xc821(%rip),%xmm11 # 2b4e0 <_sk_srcover_rgba_8888_sse2_lowp+0xf0c> .byte 102,65,15,219,203 // pand %xmm11,%xmm1 .byte 102,15,111,29,36,200,0,0 // movdqa 0xc824(%rip),%xmm3 # 2b4f0 <_sk_srcover_rgba_8888_sse2_lowp+0xf1c> .byte 102,65,15,114,244,16 // pslld $0x10,%xmm12 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,102,193 // pcmpgtd %xmm1,%xmm0 .byte 102,15,114,241,13 // pslld $0xd,%xmm1 .byte 102,65,15,235,204 // por %xmm12,%xmm1 .byte 102,68,15,111,37,19,200,0,0 // movdqa 0xc813(%rip),%xmm12 # 2b500 <_sk_srcover_rgba_8888_sse2_lowp+0xf2c> .byte 102,65,15,254,204 // paddd %xmm12,%xmm1 .byte 102,15,223,193 // pandn %xmm1,%xmm0 .byte 102,65,15,105,210 // punpckhwd %xmm10,%xmm2 .byte 102,68,15,111,234 // movdqa %xmm2,%xmm13 .byte 102,69,15,219,233 // pand %xmm9,%xmm13 .byte 102,65,15,219,211 // pand %xmm11,%xmm2 .byte 102,65,15,114,245,16 // pslld $0x10,%xmm13 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,102,202 // pcmpgtd %xmm2,%xmm1 .byte 102,15,114,242,13 // pslld $0xd,%xmm2 .byte 102,65,15,235,213 // por %xmm13,%xmm2 .byte 102,65,15,254,212 // paddd %xmm12,%xmm2 .byte 102,15,223,202 // pandn %xmm2,%xmm1 .byte 102,69,15,111,232 // movdqa %xmm8,%xmm13 .byte 102,69,15,97,234 // punpcklwd %xmm10,%xmm13 .byte 102,69,15,111,245 // movdqa %xmm13,%xmm14 .byte 102,69,15,219,241 // pand %xmm9,%xmm14 .byte 102,69,15,219,235 // pand %xmm11,%xmm13 .byte 102,65,15,114,246,16 // pslld $0x10,%xmm14 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,65,15,102,213 // pcmpgtd %xmm13,%xmm2 .byte 102,65,15,114,245,13 // pslld $0xd,%xmm13 .byte 102,69,15,235,238 // por %xmm14,%xmm13 .byte 102,69,15,254,236 // paddd %xmm12,%xmm13 .byte 102,65,15,223,213 // pandn %xmm13,%xmm2 .byte 102,69,15,105,194 // punpckhwd %xmm10,%xmm8 .byte 102,69,15,219,200 // pand %xmm8,%xmm9 .byte 102,69,15,219,195 // pand %xmm11,%xmm8 .byte 102,65,15,114,241,16 // pslld $0x10,%xmm9 .byte 102,65,15,102,216 // pcmpgtd %xmm8,%xmm3 .byte 102,65,15,114,240,13 // pslld $0xd,%xmm8 .byte 102,69,15,235,193 // por %xmm9,%xmm8 .byte 102,69,15,254,196 // paddd %xmm12,%xmm8 .byte 102,65,15,223,216 // pandn %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 242,65,15,16,4,192 // movsd (%r8,%rax,8),%xmm0 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,13 // jne 1edb4 <_sk_load_f16_sse2+0x168> .byte 243,15,126,192 // movq %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 233,197,254,255,255 // jmpq 1ec79 <_sk_load_f16_sse2+0x2d> .byte 102,65,15,22,68,192,8 // movhpd 0x8(%r8,%rax,8),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 15,130,176,254,255,255 // jb 1ec79 <_sk_load_f16_sse2+0x2d> .byte 243,65,15,126,76,192,16 // movq 0x10(%r8,%rax,8),%xmm1 .byte 233,164,254,255,255 // jmpq 1ec79 <_sk_load_f16_sse2+0x2d> HIDDEN _sk_load_f16_dst_sse2 .globl _sk_load_f16_dst_sse2 FUNCTION(_sk_load_f16_dst_sse2) _sk_load_f16_dst_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,3 // shl $0x3,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 15,133,47,1,0,0 // jne 1ef24 <_sk_load_f16_dst_sse2+0x14f> .byte 102,65,15,16,36,192 // movupd (%r8,%rax,8),%xmm4 .byte 243,65,15,111,108,192,16 // movdqu 0x10(%r8,%rax,8),%xmm5 .byte 102,68,15,40,196 // movapd %xmm4,%xmm8 .byte 102,68,15,97,197 // punpcklwd %xmm5,%xmm8 .byte 102,15,105,229 // punpckhwd %xmm5,%xmm4 .byte 102,65,15,111,240 // movdqa %xmm8,%xmm6 .byte 102,15,97,244 // punpcklwd %xmm4,%xmm6 .byte 102,68,15,105,196 // punpckhwd %xmm4,%xmm8 .byte 102,69,15,239,210 // pxor %xmm10,%xmm10 .byte 102,15,111,238 // movdqa %xmm6,%xmm5 .byte 102,65,15,97,234 // punpcklwd %xmm10,%xmm5 .byte 102,68,15,111,13,155,198,0,0 // movdqa 0xc69b(%rip),%xmm9 # 2b4d0 <_sk_srcover_rgba_8888_sse2_lowp+0xefc> .byte 102,68,15,111,229 // movdqa %xmm5,%xmm12 .byte 102,69,15,219,225 // pand %xmm9,%xmm12 .byte 102,68,15,111,29,152,198,0,0 // movdqa 0xc698(%rip),%xmm11 # 2b4e0 <_sk_srcover_rgba_8888_sse2_lowp+0xf0c> .byte 102,65,15,219,235 // pand %xmm11,%xmm5 .byte 102,15,111,61,155,198,0,0 // movdqa 0xc69b(%rip),%xmm7 # 2b4f0 <_sk_srcover_rgba_8888_sse2_lowp+0xf1c> .byte 102,65,15,114,244,16 // pslld $0x10,%xmm12 .byte 102,15,111,231 // movdqa %xmm7,%xmm4 .byte 102,15,102,229 // pcmpgtd %xmm5,%xmm4 .byte 102,15,114,245,13 // pslld $0xd,%xmm5 .byte 102,65,15,235,236 // por %xmm12,%xmm5 .byte 102,68,15,111,37,138,198,0,0 // movdqa 0xc68a(%rip),%xmm12 # 2b500 <_sk_srcover_rgba_8888_sse2_lowp+0xf2c> .byte 102,65,15,254,236 // paddd %xmm12,%xmm5 .byte 102,15,223,229 // pandn %xmm5,%xmm4 .byte 102,65,15,105,242 // punpckhwd %xmm10,%xmm6 .byte 102,68,15,111,238 // movdqa %xmm6,%xmm13 .byte 102,69,15,219,233 // pand %xmm9,%xmm13 .byte 102,65,15,219,243 // pand %xmm11,%xmm6 .byte 102,65,15,114,245,16 // pslld $0x10,%xmm13 .byte 102,15,111,239 // movdqa %xmm7,%xmm5 .byte 102,15,102,238 // pcmpgtd %xmm6,%xmm5 .byte 102,15,114,246,13 // pslld $0xd,%xmm6 .byte 102,65,15,235,245 // por %xmm13,%xmm6 .byte 102,65,15,254,244 // paddd %xmm12,%xmm6 .byte 102,15,223,238 // pandn %xmm6,%xmm5 .byte 102,69,15,111,232 // movdqa %xmm8,%xmm13 .byte 102,69,15,97,234 // punpcklwd %xmm10,%xmm13 .byte 102,69,15,111,245 // movdqa %xmm13,%xmm14 .byte 102,69,15,219,241 // pand %xmm9,%xmm14 .byte 102,69,15,219,235 // pand %xmm11,%xmm13 .byte 102,65,15,114,246,16 // pslld $0x10,%xmm14 .byte 102,15,111,247 // movdqa %xmm7,%xmm6 .byte 102,65,15,102,245 // pcmpgtd %xmm13,%xmm6 .byte 102,65,15,114,245,13 // pslld $0xd,%xmm13 .byte 102,69,15,235,238 // por %xmm14,%xmm13 .byte 102,69,15,254,236 // paddd %xmm12,%xmm13 .byte 102,65,15,223,245 // pandn %xmm13,%xmm6 .byte 102,69,15,105,194 // punpckhwd %xmm10,%xmm8 .byte 102,69,15,219,200 // pand %xmm8,%xmm9 .byte 102,69,15,219,195 // pand %xmm11,%xmm8 .byte 102,65,15,114,241,16 // pslld $0x10,%xmm9 .byte 102,65,15,102,248 // pcmpgtd %xmm8,%xmm7 .byte 102,65,15,114,240,13 // pslld $0xd,%xmm8 .byte 102,69,15,235,193 // por %xmm9,%xmm8 .byte 102,69,15,254,196 // paddd %xmm12,%xmm8 .byte 102,65,15,223,248 // pandn %xmm8,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 242,65,15,16,36,192 // movsd (%r8,%rax,8),%xmm4 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,13 // jne 1ef3d <_sk_load_f16_dst_sse2+0x168> .byte 243,15,126,228 // movq %xmm4,%xmm4 .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 233,197,254,255,255 // jmpq 1ee02 <_sk_load_f16_dst_sse2+0x2d> .byte 102,65,15,22,100,192,8 // movhpd 0x8(%r8,%rax,8),%xmm4 .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 15,130,176,254,255,255 // jb 1ee02 <_sk_load_f16_dst_sse2+0x2d> .byte 243,65,15,126,108,192,16 // movq 0x10(%r8,%rax,8),%xmm5 .byte 233,164,254,255,255 // jmpq 1ee02 <_sk_load_f16_dst_sse2+0x2d> HIDDEN _sk_gather_f16_sse2 .globl _sk_gather_f16_sse2 FUNCTION(_sk_gather_f16_sse2) _sk_gather_f16_sse2: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,80,8 // movd 0x8(%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,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 102,73,15,126,194 // movq %xmm0,%r10 .byte 69,137,211 // mov %r10d,%r11d .byte 73,193,234,32 // shr $0x20,%r10 .byte 243,67,15,126,4,208 // movq (%r8,%r10,8),%xmm0 .byte 243,67,15,126,12,216 // movq (%r8,%r11,8),%xmm1 .byte 102,15,108,200 // punpcklqdq %xmm0,%xmm1 .byte 243,65,15,126,4,192 // movq (%r8,%rax,8),%xmm0 .byte 243,67,15,126,20,200 // movq (%r8,%r9,8),%xmm2 .byte 102,15,108,208 // punpcklqdq %xmm0,%xmm2 .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,68,15,97,194 // punpcklwd %xmm2,%xmm8 .byte 102,15,105,202 // punpckhwd %xmm2,%xmm1 .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .byte 102,68,15,105,193 // punpckhwd %xmm1,%xmm8 .byte 102,69,15,239,210 // pxor %xmm10,%xmm10 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,65,15,97,202 // punpcklwd %xmm10,%xmm1 .byte 102,68,15,111,13,204,196,0,0 // movdqa 0xc4cc(%rip),%xmm9 # 2b4d0 <_sk_srcover_rgba_8888_sse2_lowp+0xefc> .byte 102,68,15,111,225 // movdqa %xmm1,%xmm12 .byte 102,69,15,219,225 // pand %xmm9,%xmm12 .byte 102,68,15,111,29,201,196,0,0 // movdqa 0xc4c9(%rip),%xmm11 # 2b4e0 <_sk_srcover_rgba_8888_sse2_lowp+0xf0c> .byte 102,65,15,219,203 // pand %xmm11,%xmm1 .byte 102,15,111,29,204,196,0,0 // movdqa 0xc4cc(%rip),%xmm3 # 2b4f0 <_sk_srcover_rgba_8888_sse2_lowp+0xf1c> .byte 102,65,15,114,244,16 // pslld $0x10,%xmm12 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,102,193 // pcmpgtd %xmm1,%xmm0 .byte 102,15,114,241,13 // pslld $0xd,%xmm1 .byte 102,65,15,235,204 // por %xmm12,%xmm1 .byte 102,68,15,111,37,187,196,0,0 // movdqa 0xc4bb(%rip),%xmm12 # 2b500 <_sk_srcover_rgba_8888_sse2_lowp+0xf2c> .byte 102,65,15,254,204 // paddd %xmm12,%xmm1 .byte 102,15,223,193 // pandn %xmm1,%xmm0 .byte 102,65,15,105,210 // punpckhwd %xmm10,%xmm2 .byte 102,68,15,111,234 // movdqa %xmm2,%xmm13 .byte 102,69,15,219,233 // pand %xmm9,%xmm13 .byte 102,65,15,219,211 // pand %xmm11,%xmm2 .byte 102,65,15,114,245,16 // pslld $0x10,%xmm13 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,102,202 // pcmpgtd %xmm2,%xmm1 .byte 102,15,114,242,13 // pslld $0xd,%xmm2 .byte 102,65,15,235,213 // por %xmm13,%xmm2 .byte 102,65,15,254,212 // paddd %xmm12,%xmm2 .byte 102,15,223,202 // pandn %xmm2,%xmm1 .byte 102,69,15,111,232 // movdqa %xmm8,%xmm13 .byte 102,69,15,97,234 // punpcklwd %xmm10,%xmm13 .byte 102,69,15,111,245 // movdqa %xmm13,%xmm14 .byte 102,69,15,219,241 // pand %xmm9,%xmm14 .byte 102,69,15,219,235 // pand %xmm11,%xmm13 .byte 102,65,15,114,246,16 // pslld $0x10,%xmm14 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,65,15,102,213 // pcmpgtd %xmm13,%xmm2 .byte 102,65,15,114,245,13 // pslld $0xd,%xmm13 .byte 102,69,15,235,238 // por %xmm14,%xmm13 .byte 102,69,15,254,236 // paddd %xmm12,%xmm13 .byte 102,65,15,223,213 // pandn %xmm13,%xmm2 .byte 102,69,15,105,194 // punpckhwd %xmm10,%xmm8 .byte 102,69,15,219,200 // pand %xmm8,%xmm9 .byte 102,69,15,219,195 // pand %xmm11,%xmm8 .byte 102,65,15,114,241,16 // pslld $0x10,%xmm9 .byte 102,65,15,102,216 // pcmpgtd %xmm8,%xmm3 .byte 102,65,15,114,240,13 // pslld $0xd,%xmm8 .byte 102,69,15,235,193 // por %xmm9,%xmm8 .byte 102,69,15,254,196 // paddd %xmm12,%xmm8 .byte 102,65,15,223,216 // pandn %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_store_f16_sse2 .globl _sk_store_f16_sse2 FUNCTION(_sk_store_f16_sse2) _sk_store_f16_sse2: .byte 15,41,124,36,232 // movaps %xmm7,-0x18(%rsp) .byte 102,68,15,111,29,15,196,0,0 // movdqa 0xc40f(%rip),%xmm11 # 2b510 <_sk_srcover_rgba_8888_sse2_lowp+0xf3c> .byte 102,68,15,111,192 // movdqa %xmm0,%xmm8 .byte 102,69,15,219,195 // pand %xmm11,%xmm8 .byte 102,68,15,111,21,12,196,0,0 // movdqa 0xc40c(%rip),%xmm10 # 2b520 <_sk_srcover_rgba_8888_sse2_lowp+0xf4c> .byte 102,68,15,111,240 // movdqa %xmm0,%xmm14 .byte 102,69,15,219,242 // pand %xmm10,%xmm14 .byte 102,15,111,61,10,196,0,0 // movdqa 0xc40a(%rip),%xmm7 # 2b530 <_sk_srcover_rgba_8888_sse2_lowp+0xf5c> .byte 102,68,15,111,37,177,197,0,0 // movdqa 0xc5b1(%rip),%xmm12 # 2b6e0 <_sk_srcover_rgba_8888_sse2_lowp+0x110c> .byte 102,68,15,111,248 // movdqa %xmm0,%xmm15 .byte 102,65,15,114,247,3 // pslld $0x3,%xmm15 .byte 102,69,15,219,252 // pand %xmm12,%xmm15 .byte 102,69,15,254,248 // paddd %xmm8,%xmm15 .byte 102,68,15,111,45,99,192,0,0 // movdqa 0xc063(%rip),%xmm13 # 2b1b0 <_sk_srcover_rgba_8888_sse2_lowp+0xbdc> .byte 102,69,15,254,253 // paddd %xmm13,%xmm15 .byte 102,65,15,114,231,16 // psrad $0x10,%xmm15 .byte 102,68,15,111,199 // movdqa %xmm7,%xmm8 .byte 102,69,15,102,198 // pcmpgtd %xmm14,%xmm8 .byte 102,69,15,223,199 // pandn %xmm15,%xmm8 .byte 102,68,15,111,241 // movdqa %xmm1,%xmm14 .byte 102,69,15,219,243 // pand %xmm11,%xmm14 .byte 102,68,15,111,249 // movdqa %xmm1,%xmm15 .byte 102,65,15,114,247,3 // pslld $0x3,%xmm15 .byte 102,69,15,219,252 // pand %xmm12,%xmm15 .byte 102,69,15,254,254 // paddd %xmm14,%xmm15 .byte 102,68,15,111,241 // movdqa %xmm1,%xmm14 .byte 102,69,15,219,242 // pand %xmm10,%xmm14 .byte 102,68,15,111,207 // movdqa %xmm7,%xmm9 .byte 102,69,15,102,206 // pcmpgtd %xmm14,%xmm9 .byte 102,68,15,107,192 // packssdw %xmm0,%xmm8 .byte 102,69,15,254,253 // paddd %xmm13,%xmm15 .byte 102,65,15,114,231,16 // psrad $0x10,%xmm15 .byte 102,69,15,223,207 // pandn %xmm15,%xmm9 .byte 102,68,15,107,200 // packssdw %xmm0,%xmm9 .byte 102,69,15,97,193 // punpcklwd %xmm9,%xmm8 .byte 102,68,15,111,202 // movdqa %xmm2,%xmm9 .byte 102,69,15,219,203 // pand %xmm11,%xmm9 .byte 102,68,15,111,250 // movdqa %xmm2,%xmm15 .byte 102,65,15,114,247,3 // pslld $0x3,%xmm15 .byte 102,69,15,219,252 // pand %xmm12,%xmm15 .byte 102,69,15,254,249 // paddd %xmm9,%xmm15 .byte 102,68,15,111,202 // movdqa %xmm2,%xmm9 .byte 102,69,15,219,202 // pand %xmm10,%xmm9 .byte 102,68,15,111,247 // movdqa %xmm7,%xmm14 .byte 102,69,15,102,241 // pcmpgtd %xmm9,%xmm14 .byte 102,69,15,254,253 // paddd %xmm13,%xmm15 .byte 102,65,15,114,231,16 // psrad $0x10,%xmm15 .byte 102,69,15,223,247 // pandn %xmm15,%xmm14 .byte 102,68,15,111,203 // movdqa %xmm3,%xmm9 .byte 102,65,15,114,241,3 // pslld $0x3,%xmm9 .byte 102,69,15,219,204 // pand %xmm12,%xmm9 .byte 102,68,15,219,219 // pand %xmm3,%xmm11 .byte 102,69,15,254,203 // paddd %xmm11,%xmm9 .byte 102,69,15,254,205 // paddd %xmm13,%xmm9 .byte 102,68,15,219,211 // pand %xmm3,%xmm10 .byte 102,65,15,102,250 // pcmpgtd %xmm10,%xmm7 .byte 102,65,15,114,225,16 // psrad $0x10,%xmm9 .byte 102,65,15,223,249 // pandn %xmm9,%xmm7 .byte 102,68,15,107,240 // packssdw %xmm0,%xmm14 .byte 102,15,107,248 // packssdw %xmm0,%xmm7 .byte 102,68,15,97,247 // punpcklwd %xmm7,%xmm14 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 73,193,224,3 // shl $0x3,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,99,194 // movslq %edx,%rax .byte 72,133,255 // test %rdi,%rdi .byte 117,37 // jne 1f27f <_sk_store_f16_sse2+0x18c> .byte 102,65,15,111,248 // movdqa %xmm8,%xmm7 .byte 102,65,15,98,254 // punpckldq %xmm14,%xmm7 .byte 243,65,15,127,60,192 // movdqu %xmm7,(%r8,%rax,8) .byte 102,69,15,106,198 // punpckhdq %xmm14,%xmm8 .byte 243,69,15,127,68,192,16 // movdqu %xmm8,0x10(%r8,%rax,8) .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,124,36,232 // movaps -0x18(%rsp),%xmm7 .byte 255,224 // jmpq *%rax .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,69,15,98,206 // punpckldq %xmm14,%xmm9 .byte 102,69,15,214,12,192 // movq %xmm9,(%r8,%rax,8) .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,225 // je 1f276 <_sk_store_f16_sse2+0x183> .byte 102,69,15,23,76,192,8 // movhpd %xmm9,0x8(%r8,%rax,8) .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,212 // jb 1f276 <_sk_store_f16_sse2+0x183> .byte 102,69,15,106,198 // punpckhdq %xmm14,%xmm8 .byte 102,69,15,214,68,192,16 // movq %xmm8,0x10(%r8,%rax,8) .byte 235,198 // jmp 1f276 <_sk_store_f16_sse2+0x183> 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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%rax .byte 72,133,255 // test %rdi,%rdi .byte 15,133,190,0,0,0 // jne 1f395 <_sk_load_u16_be_sse2+0xe5> .byte 102,65,15,16,4,64 // movupd (%r8,%rax,2),%xmm0 .byte 243,65,15,111,76,64,16 // movdqu 0x10(%r8,%rax,2),%xmm1 .byte 102,15,40,208 // movapd %xmm0,%xmm2 .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .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,120,191,0,0 // movaps 0xbf78(%rip),%xmm8 # 2b2a0 <_sk_srcover_rgba_8888_sse2_lowp+0xccc> .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,64 // movsd (%r8,%rax,2),%xmm0 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,13 // jne 1f3ae <_sk_load_u16_be_sse2+0xfe> .byte 243,15,126,192 // movq %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 233,54,255,255,255 // jmpq 1f2e4 <_sk_load_u16_be_sse2+0x34> .byte 102,65,15,22,68,64,8 // movhpd 0x8(%r8,%rax,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 15,130,33,255,255,255 // jb 1f2e4 <_sk_load_u16_be_sse2+0x34> .byte 243,65,15,126,76,64,16 // movq 0x10(%r8,%rax,2),%xmm1 .byte 233,21,255,255,255 // jmpq 1f2e4 <_sk_load_u16_be_sse2+0x34> 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,99,72,8 // movslq 0x8(%rax),%r9 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,193 // imul %r9,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 72,137,208 // mov %rdx,%rax .byte 72,193,224,32 // shl $0x20,%rax .byte 72,141,4,64 // lea (%rax,%rax,2),%rax .byte 72,193,248,32 // sar $0x20,%rax .byte 72,133,255 // test %rdi,%rdi .byte 15,133,175,0,0,0 // jne 1f4a9 <_sk_load_rgb_u16_be_sse2+0xda> .byte 243,65,15,111,20,64 // movdqu (%r8,%rax,2),%xmm2 .byte 243,65,15,111,92,64,8 // movdqu 0x8(%r8,%rax,2),%xmm3 .byte 102,15,115,219,4 // psrldq $0x4,%xmm3 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,115,216,6 // psrldq $0x6,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,115,217,6 // psrldq $0x6,%xmm1 .byte 102,15,97,193 // punpcklwd %xmm1,%xmm0 .byte 102,15,97,211 // punpcklwd %xmm3,%xmm2 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,15,105,208 // punpckhwd %xmm0,%xmm2 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,113,240,8 // psllw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,235,200 // por %xmm0,%xmm1 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,65,15,97,200 // punpcklwd %xmm8,%xmm1 .byte 15,91,193 // cvtdq2ps %xmm1,%xmm0 .byte 68,15,40,13,66,190,0,0 // movaps 0xbe42(%rip),%xmm9 # 2b2a0 <_sk_srcover_rgba_8888_sse2_lowp+0xccc> .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,105,187,0,0 // movaps 0xbb69(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 255,224 // jmpq *%rax .byte 102,65,15,110,20,64 // movd (%r8,%rax,2),%xmm2 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,65,15,196,84,64,4,2 // pinsrw $0x2,0x4(%r8,%rax,2),%xmm2 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,13 // jne 1f4ce <_sk_load_rgb_u16_be_sse2+0xff> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 233,80,255,255,255 // jmpq 1f41e <_sk_load_rgb_u16_be_sse2+0x4f> .byte 102,65,15,110,68,64,6 // movd 0x6(%r8,%rax,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,65,15,196,68,64,10,2 // pinsrw $0x2,0xa(%r8,%rax,2),%xmm0 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,24 // jb 1f4ff <_sk_load_rgb_u16_be_sse2+0x130> .byte 102,65,15,110,92,64,12 // movd 0xc(%r8,%rax,2),%xmm3 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,65,15,196,92,64,16,2 // pinsrw $0x2,0x10(%r8,%rax,2),%xmm3 .byte 233,31,255,255,255 // jmpq 1f41e <_sk_load_rgb_u16_be_sse2+0x4f> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 233,22,255,255,255 // jmpq 1f41e <_sk_load_rgb_u16_be_sse2+0x4f> 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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%rax .byte 68,15,40,21,34,192,0,0 // movaps 0xc022(%rip),%xmm10 # 2b550 <_sk_srcover_rgba_8888_sse2_lowp+0xf7c> .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,68,15,107,192 // packssdw %xmm0,%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,201 // cvtps2dq %xmm9,%xmm9 .byte 102,65,15,114,241,16 // pslld $0x10,%xmm9 .byte 102,65,15,114,225,16 // psrad $0x10,%xmm9 .byte 102,68,15,107,200 // packssdw %xmm0,%xmm9 .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .byte 102,65,15,113,243,8 // psllw $0x8,%xmm11 .byte 102,65,15,113,209,8 // psrlw $0x8,%xmm9 .byte 102,69,15,235,203 // por %xmm11,%xmm9 .byte 102,69,15,97,193 // punpcklwd %xmm9,%xmm8 .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,68,15,107,200 // packssdw %xmm0,%xmm9 .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .byte 102,65,15,113,243,8 // psllw $0x8,%xmm11 .byte 102,65,15,113,209,8 // psrlw $0x8,%xmm9 .byte 102,69,15,235,203 // por %xmm11,%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,68,15,107,208 // packssdw %xmm0,%xmm10 .byte 102,69,15,111,218 // movdqa %xmm10,%xmm11 .byte 102,65,15,113,243,8 // psllw $0x8,%xmm11 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,69,15,235,211 // por %xmm11,%xmm10 .byte 102,69,15,97,202 // punpcklwd %xmm10,%xmm9 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,69,15,98,209 // punpckldq %xmm9,%xmm10 .byte 72,133,255 // test %rdi,%rdi .byte 117,21 // jne 1f628 <_sk_store_u16_be_sse2+0x120> .byte 69,15,17,20,64 // movups %xmm10,(%r8,%rax,2) .byte 102,69,15,106,193 // punpckhdq %xmm9,%xmm8 .byte 243,69,15,127,68,64,16 // movdqu %xmm8,0x10(%r8,%rax,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,214,20,64 // movq %xmm10,(%r8,%rax,2) .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,240 // je 1f624 <_sk_store_u16_be_sse2+0x11c> .byte 102,69,15,23,84,64,8 // movhpd %xmm10,0x8(%r8,%rax,2) .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,227 // jb 1f624 <_sk_store_u16_be_sse2+0x11c> .byte 102,69,15,106,193 // punpckhdq %xmm9,%xmm8 .byte 102,69,15,214,68,64,16 // movq %xmm8,0x10(%r8,%rax,2) .byte 235,213 // jmp 1f624 <_sk_store_u16_be_sse2+0x11c> 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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%rax .byte 69,15,16,4,128 // movups (%r8,%rax,4),%xmm8 .byte 72,133,255 // test %rdi,%rdi .byte 117,66 // jne 1f6ba <_sk_load_f32_sse2+0x6b> .byte 65,15,16,68,128,16 // movups 0x10(%r8,%rax,4),%xmm0 .byte 65,15,16,92,128,32 // movups 0x20(%r8,%rax,4),%xmm3 .byte 69,15,16,76,128,48 // movups 0x30(%r8,%rax,4),%xmm9 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 15,20,208 // unpcklps %xmm0,%xmm2 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 65,15,20,201 // unpcklps %xmm9,%xmm1 .byte 68,15,21,192 // unpckhps %xmm0,%xmm8 .byte 65,15,21,217 // unpckhps %xmm9,%xmm3 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 15,18,202 // movhlps %xmm2,%xmm1 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 65,15,18,216 // movhlps %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,8 // jne 1f6cc <_sk_load_f32_sse2+0x7d> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 235,190 // jmp 1f68a <_sk_load_f32_sse2+0x3b> .byte 65,15,16,68,128,16 // movups 0x10(%r8,%rax,4),%xmm0 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,8 // jb 1f6e0 <_sk_load_f32_sse2+0x91> .byte 65,15,16,92,128,32 // movups 0x20(%r8,%rax,4),%xmm3 .byte 235,170 // jmp 1f68a <_sk_load_f32_sse2+0x3b> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 235,165 // jmp 1f68a <_sk_load_f32_sse2+0x3b> 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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%rax .byte 69,15,16,4,128 // movups (%r8,%rax,4),%xmm8 .byte 72,133,255 // test %rdi,%rdi .byte 117,66 // jne 1f750 <_sk_load_f32_dst_sse2+0x6b> .byte 65,15,16,100,128,16 // movups 0x10(%r8,%rax,4),%xmm4 .byte 65,15,16,124,128,32 // movups 0x20(%r8,%rax,4),%xmm7 .byte 69,15,16,76,128,48 // movups 0x30(%r8,%rax,4),%xmm9 .byte 65,15,40,240 // movaps %xmm8,%xmm6 .byte 15,20,244 // unpcklps %xmm4,%xmm6 .byte 15,40,239 // movaps %xmm7,%xmm5 .byte 65,15,20,233 // unpcklps %xmm9,%xmm5 .byte 68,15,21,196 // unpckhps %xmm4,%xmm8 .byte 65,15,21,249 // unpckhps %xmm9,%xmm7 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 102,15,20,229 // unpcklpd %xmm5,%xmm4 .byte 15,18,238 // movhlps %xmm6,%xmm5 .byte 65,15,40,240 // movaps %xmm8,%xmm6 .byte 102,15,20,247 // unpcklpd %xmm7,%xmm6 .byte 65,15,18,248 // movhlps %xmm8,%xmm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 72,131,255,1 // cmp $0x1,%rdi .byte 117,8 // jne 1f762 <_sk_load_f32_dst_sse2+0x7d> .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 235,190 // jmp 1f720 <_sk_load_f32_dst_sse2+0x3b> .byte 65,15,16,100,128,16 // movups 0x10(%r8,%rax,4),%xmm4 .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,8 // jb 1f776 <_sk_load_f32_dst_sse2+0x91> .byte 65,15,16,124,128,32 // movups 0x20(%r8,%rax,4),%xmm7 .byte 235,170 // jmp 1f720 <_sk_load_f32_dst_sse2+0x3b> .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 235,165 // jmp 1f720 <_sk_load_f32_dst_sse2+0x3b> 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 68,141,12,149,0,0,0,0 // lea 0x0(,%rdx,4),%r9d .byte 76,99,80,8 // movslq 0x8(%rax),%r10 .byte 76,99,193 // movslq %ecx,%r8 .byte 77,15,175,194 // imul %r10,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 73,99,193 // movslq %r9d,%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,128 // movupd %xmm12,(%r8,%rax,4) .byte 72,133,255 // test %rdi,%rdi .byte 117,29 // jne 1f7f8 <_sk_store_f32_sse2+0x7d> .byte 102,69,15,21,211 // unpckhpd %xmm11,%xmm10 .byte 69,15,17,68,128,16 // movups %xmm8,0x10(%r8,%rax,4) .byte 102,69,15,17,76,128,32 // movupd %xmm9,0x20(%r8,%rax,4) .byte 102,69,15,17,84,128,48 // movupd %xmm10,0x30(%r8,%rax,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 72,131,255,1 // cmp $0x1,%rdi .byte 116,246 // je 1f7f4 <_sk_store_f32_sse2+0x79> .byte 69,15,17,68,128,16 // movups %xmm8,0x10(%r8,%rax,4) .byte 72,131,255,3 // cmp $0x3,%rdi .byte 114,234 // jb 1f7f4 <_sk_store_f32_sse2+0x79> .byte 102,69,15,17,76,128,32 // movupd %xmm9,0x20(%r8,%rax,4) .byte 235,225 // jmp 1f7f4 <_sk_store_f32_sse2+0x79> 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,8 // movss (%rax),%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 243,69,15,91,194 // cvttps2dq %xmm10,%xmm8 .byte 69,15,91,216 // cvtdq2ps %xmm8,%xmm11 .byte 69,15,194,211,1 // cmpltps %xmm11,%xmm10 .byte 68,15,84,21,127,183,0,0 // andps 0xb77f(%rip),%xmm10 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 69,15,92,218 // subps %xmm10,%xmm11 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 69,15,89,217 // mulps %xmm9,%xmm11 .byte 65,15,92,195 // subps %xmm11,%xmm0 .byte 68,15,95,192 // maxps %xmm0,%xmm8 .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_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,8 // movss (%rax),%xmm9 .byte 243,68,15,16,80,4 // movss 0x4(%rax),%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 68,15,89,209 // mulps %xmm1,%xmm10 .byte 243,69,15,91,194 // cvttps2dq %xmm10,%xmm8 .byte 69,15,91,216 // cvtdq2ps %xmm8,%xmm11 .byte 69,15,194,211,1 // cmpltps %xmm11,%xmm10 .byte 68,15,84,21,37,183,0,0 // andps 0xb725(%rip),%xmm10 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 69,15,92,218 // subps %xmm10,%xmm11 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 69,15,89,217 // mulps %xmm9,%xmm11 .byte 65,15,92,203 // subps %xmm11,%xmm1 .byte 68,15,95,193 // maxps %xmm1,%xmm8 .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_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,16 // movss (%rax),%xmm10 .byte 243,68,15,16,88,4 // movss 0x4(%rax),%xmm11 .byte 69,15,40,202 // movaps %xmm10,%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 243,69,15,88,210 // addss %xmm10,%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,89,29,190,180,0,0 // mulss 0xb4be(%rip),%xmm11 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 68,15,89,216 // mulps %xmm0,%xmm11 .byte 243,69,15,91,195 // cvttps2dq %xmm11,%xmm8 .byte 69,15,91,224 // cvtdq2ps %xmm8,%xmm12 .byte 69,15,194,220,1 // cmpltps %xmm12,%xmm11 .byte 68,15,84,29,171,182,0,0 // andps 0xb6ab(%rip),%xmm11 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 69,15,92,227 // subps %xmm11,%xmm12 .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 65,15,92,196 // subps %xmm12,%xmm0 .byte 65,15,92,193 // subps %xmm9,%xmm0 .byte 69,15,87,210 // xorps %xmm10,%xmm10 .byte 68,15,92,208 // subps %xmm0,%xmm10 .byte 68,15,84,208 // andps %xmm0,%xmm10 .byte 69,15,95,194 // maxps %xmm10,%xmm8 .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_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,16 // movss (%rax),%xmm10 .byte 243,68,15,16,88,4 // movss 0x4(%rax),%xmm11 .byte 69,15,40,202 // movaps %xmm10,%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 65,15,92,201 // subps %xmm9,%xmm1 .byte 243,69,15,88,210 // addss %xmm10,%xmm10 .byte 69,15,198,210,0 // shufps $0x0,%xmm10,%xmm10 .byte 243,68,15,89,29,57,180,0,0 // mulss 0xb439(%rip),%xmm11 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 69,15,198,219,0 // shufps $0x0,%xmm11,%xmm11 .byte 68,15,89,217 // mulps %xmm1,%xmm11 .byte 243,69,15,91,195 // cvttps2dq %xmm11,%xmm8 .byte 69,15,91,224 // cvtdq2ps %xmm8,%xmm12 .byte 69,15,194,220,1 // cmpltps %xmm12,%xmm11 .byte 68,15,84,29,38,182,0,0 // andps 0xb626(%rip),%xmm11 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,87,192 // xorps %xmm8,%xmm8 .byte 69,15,92,227 // subps %xmm11,%xmm12 .byte 69,15,89,226 // mulps %xmm10,%xmm12 .byte 65,15,92,204 // subps %xmm12,%xmm1 .byte 65,15,92,201 // subps %xmm9,%xmm1 .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,95,194 // maxps %xmm10,%xmm8 .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_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,221,181,0,0 // minps 0xb5dd(%rip),%xmm8 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,187,181,0,0 // andps 0xb5bb(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,7,182,0,0 // movaps 0xb607(%rip),%xmm8 # 2b070 <_sk_srcover_rgba_8888_sse2_lowp+0xa9c> .byte 65,15,88,192 // addps %xmm8,%xmm0 .byte 68,15,40,13,139,181,0,0 // movaps 0xb58b(%rip),%xmm9 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,129,181,0,0 // andps 0xb581(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,167,186,0,0 // mulps 0xbaa7(%rip),%xmm0 # 2b560 <_sk_srcover_rgba_8888_sse2_lowp+0xf8c> .byte 15,89,13,176,186,0,0 // mulps 0xbab0(%rip),%xmm1 # 2b570 <_sk_srcover_rgba_8888_sse2_lowp+0xf9c> .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,89,29,182,186,0,0 // mulps 0xbab6(%rip),%xmm3 # 2b580 <_sk_srcover_rgba_8888_sse2_lowp+0xfac> .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 1ff6a <_sk_evenly_spaced_gradient_sse2+0x18> .byte 243,72,15,42,203 // cvtsi2ss %rbx,%xmm1 .byte 235,21 // jmp 1ff7f <_sk_evenly_spaced_gradient_sse2+0x2d> .byte 73,137,216 // mov %rbx,%r8 .byte 73,209,232 // shr %r8 .byte 131,227,1 // and $0x1,%ebx .byte 76,9,195 // or %r8,%rbx .byte 243,72,15,42,203 // cvtsi2ss %rbx,%xmm1 .byte 243,15,88,201 // addss %xmm1,%xmm1 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,73,15,126,209 // movq %xmm2,%r9 .byte 69,137,200 // mov %r9d,%r8d .byte 73,193,233,32 // shr $0x20,%r9 .byte 102,73,15,126,203 // movq %xmm1,%r11 .byte 69,137,218 // mov %r11d,%r10d .byte 73,193,235,32 // shr $0x20,%r11 .byte 243,67,15,16,12,158 // movss (%r14,%r11,4),%xmm1 .byte 243,71,15,16,4,150 // movss (%r14,%r10,4),%xmm8 .byte 68,15,20,193 // unpcklps %xmm1,%xmm8 .byte 243,67,15,16,12,142 // movss (%r14,%r9,4),%xmm1 .byte 243,67,15,16,20,134 // movss (%r14,%r8,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 102,68,15,20,194 // unpcklpd %xmm2,%xmm8 .byte 72,139,88,40 // mov 0x28(%rax),%rbx .byte 243,66,15,16,12,155 // movss (%rbx,%r11,4),%xmm1 .byte 243,70,15,16,12,147 // movss (%rbx,%r10,4),%xmm9 .byte 68,15,20,201 // unpcklps %xmm1,%xmm9 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 102,68,15,20,202 // unpcklpd %xmm2,%xmm9 .byte 72,139,88,16 // mov 0x10(%rax),%rbx .byte 243,66,15,16,20,155 // movss (%rbx,%r11,4),%xmm2 .byte 243,66,15,16,12,147 // movss (%rbx,%r10,4),%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 102,15,20,203 // unpcklpd %xmm3,%xmm1 .byte 72,139,88,48 // mov 0x30(%rax),%rbx .byte 243,66,15,16,20,155 // movss (%rbx,%r11,4),%xmm2 .byte 243,70,15,16,20,147 // movss (%rbx,%r10,4),%xmm10 .byte 68,15,20,210 // unpcklps %xmm2,%xmm10 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 102,68,15,20,211 // unpcklpd %xmm3,%xmm10 .byte 72,139,88,24 // mov 0x18(%rax),%rbx .byte 243,66,15,16,28,155 // movss (%rbx,%r11,4),%xmm3 .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 243,70,15,16,28,139 // movss (%rbx,%r9,4),%xmm11 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 65,15,20,219 // unpcklps %xmm11,%xmm3 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 72,139,88,56 // mov 0x38(%rax),%rbx .byte 243,66,15,16,28,155 // movss (%rbx,%r11,4),%xmm3 .byte 243,70,15,16,28,147 // movss (%rbx,%r10,4),%xmm11 .byte 68,15,20,219 // unpcklps %xmm3,%xmm11 .byte 243,70,15,16,36,139 // movss (%rbx,%r9,4),%xmm12 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 65,15,20,220 // unpcklps %xmm12,%xmm3 .byte 102,68,15,20,219 // unpcklpd %xmm3,%xmm11 .byte 72,139,88,32 // mov 0x20(%rax),%rbx .byte 243,70,15,16,36,155 // movss (%rbx,%r11,4),%xmm12 .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 65,15,20,220 // unpcklps %xmm12,%xmm3 .byte 243,70,15,16,36,139 // movss (%rbx,%r9,4),%xmm12 .byte 243,70,15,16,44,131 // movss (%rbx,%r8,4),%xmm13 .byte 69,15,20,236 // unpcklps %xmm12,%xmm13 .byte 102,65,15,20,221 // unpcklpd %xmm13,%xmm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 243,70,15,16,36,152 // movss (%rax,%r11,4),%xmm12 .byte 243,70,15,16,44,144 // movss (%rax,%r10,4),%xmm13 .byte 69,15,20,236 // unpcklps %xmm12,%xmm13 .byte 243,70,15,16,36,136 // movss (%rax,%r9,4),%xmm12 .byte 243,70,15,16,52,128 // movss (%rax,%r8,4),%xmm14 .byte 69,15,20,244 // unpcklps %xmm12,%xmm14 .byte 102,69,15,20,238 // unpcklpd %xmm14,%xmm13 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 65,15,88,211 // addps %xmm11,%xmm2 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 65,15,88,221 // addps %xmm13,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax HIDDEN _sk_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,126,180,0,0 // movaps 0xb47e(%rip),%xmm0 # 2b590 <_sk_srcover_rgba_8888_sse2_lowp+0xfbc> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,132,180,0,0 // addps 0xb484(%rip),%xmm0 # 2b5a0 <_sk_srcover_rgba_8888_sse2_lowp+0xfcc> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,138,180,0,0 // addps 0xb48a(%rip),%xmm0 # 2b5b0 <_sk_srcover_rgba_8888_sse2_lowp+0xfdc> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,144,180,0,0 // addps 0xb490(%rip),%xmm0 # 2b5c0 <_sk_srcover_rgba_8888_sse2_lowp+0xfec> .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,5,150,180,0,0 // addps 0xb496(%rip),%xmm0 # 2b5d0 <_sk_srcover_rgba_8888_sse2_lowp+0xffc> .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 72,173 // lods %ds:(%rsi),%rax .byte 76,139,0 // mov (%rax),%r8 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 73,131,248,2 // cmp $0x2,%r8 .byte 114,41 // jb 2017f <_sk_gradient_sse2+0x38> .byte 76,139,72,72 // mov 0x48(%rax),%r9 .byte 73,255,200 // dec %r8 .byte 73,131,193,4 // add $0x4,%r9 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 243,65,15,16,17 // movss (%r9),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 15,194,208,2 // cmpleps %xmm0,%xmm2 .byte 102,15,250,202 // psubd %xmm2,%xmm1 .byte 73,131,193,4 // add $0x4,%r9 .byte 73,255,200 // dec %r8 .byte 117,230 // jne 20165 <_sk_gradient_sse2+0x1e> .byte 65,86 // push %r14 .byte 83 // push %rbx .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,73,15,126,209 // movq %xmm2,%r9 .byte 69,137,200 // mov %r9d,%r8d .byte 73,193,233,32 // shr $0x20,%r9 .byte 102,73,15,126,203 // movq %xmm1,%r11 .byte 69,137,218 // mov %r11d,%r10d .byte 73,193,235,32 // shr $0x20,%r11 .byte 72,139,88,8 // mov 0x8(%rax),%rbx .byte 76,139,112,16 // mov 0x10(%rax),%r14 .byte 243,66,15,16,12,155 // movss (%rbx,%r11,4),%xmm1 .byte 243,70,15,16,4,147 // movss (%rbx,%r10,4),%xmm8 .byte 68,15,20,193 // unpcklps %xmm1,%xmm8 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 102,68,15,20,194 // unpcklpd %xmm2,%xmm8 .byte 72,139,88,40 // mov 0x28(%rax),%rbx .byte 243,66,15,16,12,155 // movss (%rbx,%r11,4),%xmm1 .byte 243,70,15,16,12,147 // movss (%rbx,%r10,4),%xmm9 .byte 68,15,20,201 // unpcklps %xmm1,%xmm9 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 102,68,15,20,202 // unpcklpd %xmm2,%xmm9 .byte 243,67,15,16,20,158 // movss (%r14,%r11,4),%xmm2 .byte 243,67,15,16,12,150 // movss (%r14,%r10,4),%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 243,67,15,16,20,142 // movss (%r14,%r9,4),%xmm2 .byte 243,67,15,16,28,134 // movss (%r14,%r8,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 102,15,20,203 // unpcklpd %xmm3,%xmm1 .byte 72,139,88,48 // mov 0x30(%rax),%rbx .byte 243,66,15,16,20,155 // movss (%rbx,%r11,4),%xmm2 .byte 243,70,15,16,20,147 // movss (%rbx,%r10,4),%xmm10 .byte 68,15,20,210 // unpcklps %xmm2,%xmm10 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 102,68,15,20,211 // unpcklpd %xmm3,%xmm10 .byte 72,139,88,24 // mov 0x18(%rax),%rbx .byte 243,66,15,16,28,155 // movss (%rbx,%r11,4),%xmm3 .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 243,70,15,16,28,139 // movss (%rbx,%r9,4),%xmm11 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 65,15,20,219 // unpcklps %xmm11,%xmm3 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 72,139,88,56 // mov 0x38(%rax),%rbx .byte 243,66,15,16,28,155 // movss (%rbx,%r11,4),%xmm3 .byte 243,70,15,16,28,147 // movss (%rbx,%r10,4),%xmm11 .byte 68,15,20,219 // unpcklps %xmm3,%xmm11 .byte 243,70,15,16,36,139 // movss (%rbx,%r9,4),%xmm12 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 65,15,20,220 // unpcklps %xmm12,%xmm3 .byte 102,68,15,20,219 // unpcklpd %xmm3,%xmm11 .byte 72,139,88,32 // mov 0x20(%rax),%rbx .byte 243,70,15,16,36,155 // movss (%rbx,%r11,4),%xmm12 .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 65,15,20,220 // unpcklps %xmm12,%xmm3 .byte 243,70,15,16,36,139 // movss (%rbx,%r9,4),%xmm12 .byte 243,70,15,16,44,131 // movss (%rbx,%r8,4),%xmm13 .byte 69,15,20,236 // unpcklps %xmm12,%xmm13 .byte 102,65,15,20,221 // unpcklpd %xmm13,%xmm3 .byte 72,139,64,64 // mov 0x40(%rax),%rax .byte 243,70,15,16,36,152 // movss (%rax,%r11,4),%xmm12 .byte 243,70,15,16,44,144 // movss (%rax,%r10,4),%xmm13 .byte 69,15,20,236 // unpcklps %xmm12,%xmm13 .byte 243,70,15,16,36,136 // movss (%rax,%r9,4),%xmm12 .byte 243,70,15,16,52,128 // movss (%rax,%r8,4),%xmm14 .byte 69,15,20,244 // unpcklps %xmm12,%xmm14 .byte 102,69,15,20,238 // unpcklpd %xmm14,%xmm13 .byte 68,15,89,192 // mulps %xmm0,%xmm8 .byte 69,15,88,193 // addps %xmm9,%xmm8 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 65,15,88,211 // addps %xmm11,%xmm2 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 65,15,88,221 // addps %xmm13,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 65,15,40,192 // movaps %xmm8,%xmm0 .byte 91 // pop %rbx .byte 65,94 // pop %r14 .byte 255,224 // jmpq *%rax HIDDEN _sk_evenly_spaced_2_stop_gradient_sse2 .globl _sk_evenly_spaced_2_stop_gradient_sse2 FUNCTION(_sk_evenly_spaced_2_stop_gradient_sse2) _sk_evenly_spaced_2_stop_gradient_sse2: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,15,16,80,16 // movss 0x10(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 65,15,89,192 // mulps %xmm8,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,80,20 // movss 0x14(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 65,15,89,200 // mulps %xmm8,%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 243,15,16,80,8 // movss 0x8(%rax),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,88,24 // movss 0x18(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 65,15,89,208 // mulps %xmm8,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 243,15,16,88,12 // movss 0xc(%rax),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 243,68,15,16,72,28 // movss 0x1c(%rax),%xmm9 .byte 69,15,198,201,0 // shufps $0x0,%xmm9,%xmm9 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 65,15,88,217 // addps %xmm9,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xy_to_unit_angle_sse2 .globl _sk_xy_to_unit_angle_sse2 FUNCTION(_sk_xy_to_unit_angle_sse2) _sk_xy_to_unit_angle_sse2: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 69,15,87,201 // xorps %xmm9,%xmm9 .byte 69,15,92,200 // subps %xmm8,%xmm9 .byte 69,15,84,200 // andps %xmm8,%xmm9 .byte 69,15,87,210 // xorps %xmm10,%xmm10 .byte 68,15,92,209 // subps %xmm1,%xmm10 .byte 68,15,84,209 // andps %xmm1,%xmm10 .byte 69,15,40,217 // movaps %xmm9,%xmm11 .byte 69,15,93,218 // minps %xmm10,%xmm11 .byte 69,15,40,225 // movaps %xmm9,%xmm12 .byte 69,15,95,226 // maxps %xmm10,%xmm12 .byte 69,15,94,220 // divps %xmm12,%xmm11 .byte 69,15,40,227 // movaps %xmm11,%xmm12 .byte 69,15,89,228 // mulps %xmm12,%xmm12 .byte 68,15,40,45,38,178,0,0 // movaps 0xb226(%rip),%xmm13 # 2b5e0 <_sk_srcover_rgba_8888_sse2_lowp+0x100c> .byte 69,15,89,236 // mulps %xmm12,%xmm13 .byte 68,15,88,45,42,178,0,0 // addps 0xb22a(%rip),%xmm13 # 2b5f0 <_sk_srcover_rgba_8888_sse2_lowp+0x101c> .byte 69,15,89,236 // mulps %xmm12,%xmm13 .byte 68,15,88,45,46,178,0,0 // addps 0xb22e(%rip),%xmm13 # 2b600 <_sk_srcover_rgba_8888_sse2_lowp+0x102c> .byte 69,15,89,236 // mulps %xmm12,%xmm13 .byte 68,15,88,45,50,178,0,0 // addps 0xb232(%rip),%xmm13 # 2b610 <_sk_srcover_rgba_8888_sse2_lowp+0x103c> .byte 69,15,89,235 // mulps %xmm11,%xmm13 .byte 69,15,194,202,1 // cmpltps %xmm10,%xmm9 .byte 68,15,40,21,49,178,0,0 // movaps 0xb231(%rip),%xmm10 # 2b620 <_sk_srcover_rgba_8888_sse2_lowp+0x104c> .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,244,171,0,0 // movaps 0xabf4(%rip),%xmm10 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,227,171,0,0 // movaps 0xabe3(%rip),%xmm10 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,154,177,0,0 // mulps 0xb19a(%rip),%xmm9 # 2b630 <_sk_srcover_rgba_8888_sse2_lowp+0x105c> .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,133,177,0,0 // mulps 0xb185(%rip),%xmm10 # 2b640 <_sk_srcover_rgba_8888_sse2_lowp+0x106c> .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,45,176,0,0 // xorps 0xb02d(%rip),%xmm9 # 2b510 <_sk_srcover_rgba_8888_sse2_lowp+0xf3c> .byte 68,15,89,5,21,171,0,0 // mulps 0xab15(%rip),%xmm8 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,252,176,0,0 // mulps 0xb0fc(%rip),%xmm9 # 2b630 <_sk_srcover_rgba_8888_sse2_lowp+0x105c> .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,231,176,0,0 // mulps 0xb0e7(%rip),%xmm10 # 2b640 <_sk_srcover_rgba_8888_sse2_lowp+0x106c> .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,143,175,0,0 // xorps 0xaf8f(%rip),%xmm9 # 2b510 <_sk_srcover_rgba_8888_sse2_lowp+0xf3c> .byte 68,15,89,5,119,170,0,0 // mulps 0xaa77(%rip),%xmm8 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,111,176,0,0 // mulps 0xb06f(%rip),%xmm9 # 2b630 <_sk_srcover_rgba_8888_sse2_lowp+0x105c> .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,43,175,0,0 // xorps 0xaf2b(%rip),%xmm0 # 2b510 <_sk_srcover_rgba_8888_sse2_lowp+0xf3c> .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,177,169,0,0 // movaps 0xa9b1(%rip),%xmm8 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,156,169,0,0 // movaps 0xa99c(%rip),%xmm12 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,69,175,0,0 // addps 0xaf45(%rip),%xmm0 # 2b650 <_sk_srcover_rgba_8888_sse2_lowp+0x107c> .byte 68,15,40,13,253,168,0,0 // movaps 0xa8fd(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,204,168,0,0 // addps 0xa8cc(%rip),%xmm0 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,254,174,0,0 // addps 0xaefe(%rip),%xmm1 # 2b650 <_sk_srcover_rgba_8888_sse2_lowp+0x107c> .byte 68,15,40,13,182,168,0,0 // movaps 0xa8b6(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,132,168,0,0 // addps 0xa884(%rip),%xmm1 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,199,174,0,0 // addps 0xaec7(%rip),%xmm0 # 2b660 <_sk_srcover_rgba_8888_sse2_lowp+0x108c> .byte 68,15,40,13,111,168,0,0 // movaps 0xa86f(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,187,174,0,0 // mulps 0xaebb(%rip),%xmm9 # 2b670 <_sk_srcover_rgba_8888_sse2_lowp+0x109c> .byte 68,15,88,13,67,170,0,0 // addps 0xaa43(%rip),%xmm9 # 2b200 <_sk_srcover_rgba_8888_sse2_lowp+0xc2c> .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,114,174,0,0 // addps 0xae72(%rip),%xmm0 # 2b650 <_sk_srcover_rgba_8888_sse2_lowp+0x107c> .byte 68,15,40,13,42,168,0,0 // movaps 0xa82a(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,92,200 // subps %xmm8,%xmm9 .byte 68,15,40,5,142,174,0,0 // movaps 0xae8e(%rip),%xmm8 # 2b680 <_sk_srcover_rgba_8888_sse2_lowp+0x10ac> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,146,174,0,0 // addps 0xae92(%rip),%xmm8 # 2b690 <_sk_srcover_rgba_8888_sse2_lowp+0x10bc> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,246,167,0,0 // addps 0xa7f6(%rip),%xmm8 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,138,174,0,0 // addps 0xae8a(%rip),%xmm8 # 2b6a0 <_sk_srcover_rgba_8888_sse2_lowp+0x10cc> .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,212,167,0,0 // movaps 0xa7d4(%rip),%xmm8 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,64,174,0,0 // movaps 0xae40(%rip),%xmm10 # 2b680 <_sk_srcover_rgba_8888_sse2_lowp+0x10ac> .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 68,15,88,21,68,174,0,0 // addps 0xae44(%rip),%xmm10 # 2b690 <_sk_srcover_rgba_8888_sse2_lowp+0x10bc> .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,64,174,0,0 // addps 0xae40(%rip),%xmm10 # 2b6a0 <_sk_srcover_rgba_8888_sse2_lowp+0x10cc> .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,19,174,0,0 // addps 0xae13(%rip),%xmm0 # 2b690 <_sk_srcover_rgba_8888_sse2_lowp+0x10bc> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 69,15,89,201 // mulps %xmm9,%xmm9 .byte 68,15,89,5,227,173,0,0 // mulps 0xade3(%rip),%xmm8 # 2b670 <_sk_srcover_rgba_8888_sse2_lowp+0x109c> .byte 68,15,88,5,107,169,0,0 // addps 0xa96b(%rip),%xmm8 # 2b200 <_sk_srcover_rgba_8888_sse2_lowp+0xc2c> .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,169,173,0,0 // addps 0xada9(%rip),%xmm1 # 2b660 <_sk_srcover_rgba_8888_sse2_lowp+0x108c> .byte 68,15,40,13,81,167,0,0 // movaps 0xa751(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .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,157,173,0,0 // mulps 0xad9d(%rip),%xmm9 # 2b670 <_sk_srcover_rgba_8888_sse2_lowp+0x109c> .byte 68,15,88,13,37,169,0,0 // addps 0xa925(%rip),%xmm9 # 2b200 <_sk_srcover_rgba_8888_sse2_lowp+0xc2c> .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,83,173,0,0 // addps 0xad53(%rip),%xmm1 # 2b650 <_sk_srcover_rgba_8888_sse2_lowp+0x107c> .byte 68,15,40,13,11,167,0,0 // movaps 0xa70b(%rip),%xmm9 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 69,15,92,200 // subps %xmm8,%xmm9 .byte 68,15,40,5,111,173,0,0 // movaps 0xad6f(%rip),%xmm8 # 2b680 <_sk_srcover_rgba_8888_sse2_lowp+0x10ac> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,115,173,0,0 // addps 0xad73(%rip),%xmm8 # 2b690 <_sk_srcover_rgba_8888_sse2_lowp+0x10bc> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,215,166,0,0 // addps 0xa6d7(%rip),%xmm8 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .byte 69,15,89,193 // mulps %xmm9,%xmm8 .byte 68,15,88,5,107,173,0,0 // addps 0xad6b(%rip),%xmm8 # 2b6a0 <_sk_srcover_rgba_8888_sse2_lowp+0x10cc> .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,181,166,0,0 // movaps 0xa6b5(%rip),%xmm8 # 2b000 <_sk_srcover_rgba_8888_sse2_lowp+0xa2c> .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,32,173,0,0 // movaps 0xad20(%rip),%xmm10 # 2b680 <_sk_srcover_rgba_8888_sse2_lowp+0x10ac> .byte 69,15,89,209 // mulps %xmm9,%xmm10 .byte 68,15,88,21,36,173,0,0 // addps 0xad24(%rip),%xmm10 # 2b690 <_sk_srcover_rgba_8888_sse2_lowp+0x10bc> .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,32,173,0,0 // addps 0xad20(%rip),%xmm10 # 2b6a0 <_sk_srcover_rgba_8888_sse2_lowp+0x10cc> .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,242,172,0,0 // addps 0xacf2(%rip),%xmm1 # 2b690 <_sk_srcover_rgba_8888_sse2_lowp+0x10bc> .byte 69,15,40,200 // movaps %xmm8,%xmm9 .byte 69,15,89,201 // mulps %xmm9,%xmm9 .byte 68,15,89,5,194,172,0,0 // mulps 0xacc2(%rip),%xmm8 # 2b670 <_sk_srcover_rgba_8888_sse2_lowp+0x109c> .byte 68,15,88,5,74,168,0,0 // addps 0xa84a(%rip),%xmm8 # 2b200 <_sk_srcover_rgba_8888_sse2_lowp+0xc2c> .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 73,137,206 // mov %rcx,%r14 .byte 73,137,215 // mov %rdx,%r15 .byte 73,137,253 // mov %rdi,%r13 .byte 72,173 // lods %ds:(%rsi),%rax .byte 72,137,195 // mov %rax,%rbx .byte 73,137,244 // mov %rsi,%r12 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,20,225 // unpcklps %xmm1,%xmm4 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 15,21,193 // unpckhps %xmm1,%xmm0 .byte 15,21,211 // unpckhps %xmm3,%xmm2 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 102,15,20,205 // unpcklpd %xmm5,%xmm1 .byte 15,18,236 // movhlps %xmm4,%xmm5 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 102,15,20,218 // unpcklpd %xmm2,%xmm3 .byte 102,15,17,75,8 // movupd %xmm1,0x8(%rbx) .byte 15,18,208 // movhlps %xmm0,%xmm2 .byte 15,17,107,24 // movups %xmm5,0x18(%rbx) .byte 102,15,17,91,40 // movupd %xmm3,0x28(%rbx) .byte 15,17,83,56 // movups %xmm2,0x38(%rbx) .byte 77,133,237 // test %r13,%r13 .byte 190,4,0,0,0 // mov $0x4,%esi .byte 65,15,69,245 // cmovne %r13d,%esi .byte 72,137,223 // mov %rbx,%rdi .byte 255,19 // callq *(%rbx) .byte 72,139,131,136,0,0,0 // mov 0x88(%rbx),%rax .byte 15,16,32 // movups (%rax),%xmm4 .byte 15,16,64,16 // movups 0x10(%rax),%xmm0 .byte 15,16,88,32 // movups 0x20(%rax),%xmm3 .byte 15,16,80,48 // movups 0x30(%rax),%xmm2 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 15,21,224 // unpckhps %xmm0,%xmm4 .byte 15,21,218 // unpckhps %xmm2,%xmm3 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 15,18,205 // movhlps %xmm5,%xmm1 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 15,18,220 // movhlps %xmm4,%xmm3 .byte 76,137,230 // mov %r12,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,137,239 // mov %r13,%rdi .byte 76,137,250 // mov %r15,%rdx .byte 76,137,241 // mov %r14,%rcx .byte 15,40,101,192 // movaps -0x40(%rbp),%xmm4 .byte 15,40,109,176 // movaps -0x50(%rbp),%xmm5 .byte 15,40,117,160 // movaps -0x60(%rbp),%xmm6 .byte 15,40,125,144 // movaps -0x70(%rbp),%xmm7 .byte 72,131,196,72 // add $0x48,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 255,224 // jmpq *%rax HIDDEN _sk_clut_3D_sse2 .globl _sk_clut_3D_sse2 FUNCTION(_sk_clut_3D_sse2) _sk_clut_3D_sse2: .byte 83 // push %rbx .byte 72,131,236,64 // sub $0x40,%rsp .byte 15,41,124,36,48 // movaps %xmm7,0x30(%rsp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%rsp) .byte 15,41,108,36,16 // movaps %xmm5,0x10(%rsp) .byte 15,41,36,36 // movaps %xmm4,(%rsp) .byte 15,41,92,36,240 // movaps %xmm3,-0x10(%rsp) .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,139,64,16 // mov 0x10(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 102,65,15,110,217 // movd %r9d,%xmm3 .byte 102,15,112,219,0 // pshufd $0x0,%xmm3,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,218 // mulps %xmm2,%xmm3 .byte 243,68,15,91,235 // cvttps2dq %xmm3,%xmm13 .byte 68,15,40,219 // movaps %xmm3,%xmm11 .byte 68,15,41,92,36,224 // movaps %xmm11,-0x20(%rsp) .byte 102,65,15,110,208 // movd %r8d,%xmm2 .byte 102,68,15,112,250,0 // pshufd $0x0,%xmm2,%xmm15 .byte 68,139,64,12 // mov 0xc(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 102,65,15,110,217 // movd %r9d,%xmm3 .byte 102,15,112,219,0 // pshufd $0x0,%xmm3,%xmm3 .byte 15,91,251 // cvtdq2ps %xmm3,%xmm7 .byte 15,89,249 // mulps %xmm1,%xmm7 .byte 243,15,91,239 // cvttps2dq %xmm7,%xmm5 .byte 102,15,127,108,36,128 // movdqa %xmm5,-0x80(%rsp) .byte 15,41,124,36,144 // movaps %xmm7,-0x70(%rsp) .byte 102,15,112,205,245 // pshufd $0xf5,%xmm5,%xmm1 .byte 102,65,15,244,207 // pmuludq %xmm15,%xmm1 .byte 102,65,15,111,223 // movdqa %xmm15,%xmm3 .byte 102,15,244,221 // pmuludq %xmm5,%xmm3 .byte 102,68,15,112,211,232 // pshufd $0xe8,%xmm3,%xmm10 .byte 102,15,112,201,232 // pshufd $0xe8,%xmm1,%xmm1 .byte 102,68,15,98,209 // punpckldq %xmm1,%xmm10 .byte 102,65,15,110,200 // movd %r8d,%xmm1 .byte 102,15,244,202 // pmuludq %xmm2,%xmm1 .byte 102,15,112,209,0 // pshufd $0x0,%xmm1,%xmm2 .byte 68,139,64,8 // mov 0x8(%rax),%r8d .byte 65,255,200 // dec %r8d .byte 102,65,15,110,200 // movd %r8d,%xmm1 .byte 102,15,112,201,0 // pshufd $0x0,%xmm1,%xmm1 .byte 68,15,91,241 // cvtdq2ps %xmm1,%xmm14 .byte 68,15,89,240 // mulps %xmm0,%xmm14 .byte 243,69,15,91,206 // cvttps2dq %xmm14,%xmm9 .byte 102,65,15,112,193,245 // pshufd $0xf5,%xmm9,%xmm0 .byte 102,15,244,194 // pmuludq %xmm2,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,65,15,244,201 // pmuludq %xmm9,%xmm1 .byte 102,15,112,217,232 // pshufd $0xe8,%xmm1,%xmm3 .byte 102,15,112,192,232 // pshufd $0xe8,%xmm0,%xmm0 .byte 102,15,98,216 // punpckldq %xmm0,%xmm3 .byte 102,15,127,92,36,176 // movdqa %xmm3,-0x50(%rsp) .byte 102,65,15,111,202 // movdqa %xmm10,%xmm1 .byte 102,65,15,254,205 // paddd %xmm13,%xmm1 .byte 102,68,15,127,108,36,208 // movdqa %xmm13,-0x30(%rsp) .byte 102,15,254,217 // paddd %xmm1,%xmm3 .byte 102,68,15,111,5,9,171,0,0 // movdqa 0xab09(%rip),%xmm8 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,15,112,195,245 // pshufd $0xf5,%xmm3,%xmm0 .byte 102,65,15,244,216 // pmuludq %xmm8,%xmm3 .byte 102,65,15,244,192 // pmuludq %xmm8,%xmm0 .byte 102,15,112,224,232 // pshufd $0xe8,%xmm0,%xmm4 .byte 102,15,112,195,232 // pshufd $0xe8,%xmm3,%xmm0 .byte 102,15,98,196 // punpckldq %xmm4,%xmm0 .byte 102,65,15,126,216 // movd %xmm3,%r8d .byte 102,15,112,216,229 // pshufd $0xe5,%xmm0,%xmm3 .byte 102,65,15,126,217 // movd %xmm3,%r9d .byte 102,15,112,216,78 // pshufd $0x4e,%xmm0,%xmm3 .byte 102,65,15,126,218 // movd %xmm3,%r10d .byte 102,15,112,216,231 // pshufd $0xe7,%xmm0,%xmm3 .byte 102,65,15,126,219 // movd %xmm3,%r11d .byte 72,139,24 // mov (%rax),%rbx .byte 243,66,15,16,28,155 // movss (%rbx,%r11,4),%xmm3 .byte 243,66,15,16,36,147 // movss (%rbx,%r10,4),%xmm4 .byte 15,20,227 // unpcklps %xmm3,%xmm4 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 .byte 243,66,15,16,52,131 // movss (%rbx,%r8,4),%xmm6 .byte 15,20,243 // unpcklps %xmm3,%xmm6 .byte 102,15,20,244 // unpcklpd %xmm4,%xmm6 .byte 102,15,118,228 // pcmpeqd %xmm4,%xmm4 .byte 102,15,111,216 // movdqa %xmm0,%xmm3 .byte 102,15,250,220 // psubd %xmm4,%xmm3 .byte 102,15,112,227,78 // pshufd $0x4e,%xmm3,%xmm4 .byte 102,73,15,126,224 // movq %xmm4,%r8 .byte 102,73,15,126,217 // movq %xmm3,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 73,193,233,32 // shr $0x20,%r9 .byte 243,66,15,16,36,139 // movss (%rbx,%r9,4),%xmm4 .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 15,20,220 // unpcklps %xmm4,%xmm3 .byte 69,137,193 // mov %r8d,%r9d .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,36,131 // movss (%rbx,%r8,4),%xmm4 .byte 243,66,15,16,44,139 // movss (%rbx,%r9,4),%xmm5 .byte 15,20,236 // unpcklps %xmm4,%xmm5 .byte 102,15,20,221 // unpcklpd %xmm5,%xmm3 .byte 102,68,15,111,37,208,163,0,0 // movdqa 0xa3d0(%rip),%xmm12 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,65,15,254,196 // paddd %xmm12,%xmm0 .byte 102,15,112,224,78 // pshufd $0x4e,%xmm0,%xmm4 .byte 102,73,15,126,224 // movq %xmm4,%r8 .byte 102,73,15,126,193 // movq %xmm0,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 73,193,233,32 // shr $0x20,%r9 .byte 243,66,15,16,4,139 // movss (%rbx,%r9,4),%xmm0 .byte 243,66,15,16,44,147 // movss (%rbx,%r10,4),%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 69,137,193 // mov %r8d,%r9d .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,4,131 // movss (%rbx,%r8,4),%xmm0 .byte 243,66,15,16,36,139 // movss (%rbx,%r9,4),%xmm4 .byte 15,20,224 // unpcklps %xmm0,%xmm4 .byte 102,15,20,236 // unpcklpd %xmm4,%xmm5 .byte 15,40,37,245,169,0,0 // movaps 0xa9f5(%rip),%xmm4 # 2b6b0 <_sk_srcover_rgba_8888_sse2_lowp+0x10dc> .byte 68,15,88,220 // addps %xmm4,%xmm11 .byte 68,15,41,92,36,192 // movaps %xmm11,-0x40(%rsp) .byte 68,15,40,223 // movaps %xmm7,%xmm11 .byte 68,15,88,220 // addps %xmm4,%xmm11 .byte 65,15,88,230 // addps %xmm14,%xmm4 .byte 243,15,91,228 // cvttps2dq %xmm4,%xmm4 .byte 102,15,112,252,245 // pshufd $0xf5,%xmm4,%xmm7 .byte 102,15,244,250 // pmuludq %xmm2,%xmm7 .byte 102,15,244,212 // pmuludq %xmm4,%xmm2 .byte 102,15,112,194,232 // pshufd $0xe8,%xmm2,%xmm0 .byte 102,15,112,215,232 // pshufd $0xe8,%xmm7,%xmm2 .byte 102,15,98,194 // punpckldq %xmm2,%xmm0 .byte 102,15,127,68,36,160 // movdqa %xmm0,-0x60(%rsp) .byte 102,15,254,200 // paddd %xmm0,%xmm1 .byte 102,15,112,209,245 // pshufd $0xf5,%xmm1,%xmm2 .byte 102,65,15,244,200 // pmuludq %xmm8,%xmm1 .byte 102,65,15,244,208 // pmuludq %xmm8,%xmm2 .byte 102,15,112,226,232 // pshufd $0xe8,%xmm2,%xmm4 .byte 102,15,112,209,232 // pshufd $0xe8,%xmm1,%xmm2 .byte 102,15,98,212 // punpckldq %xmm4,%xmm2 .byte 102,65,15,126,200 // movd %xmm1,%r8d .byte 102,15,112,202,229 // pshufd $0xe5,%xmm2,%xmm1 .byte 102,65,15,126,201 // movd %xmm1,%r9d .byte 102,15,112,202,78 // pshufd $0x4e,%xmm2,%xmm1 .byte 102,65,15,126,202 // movd %xmm1,%r10d .byte 102,15,112,202,231 // pshufd $0xe7,%xmm2,%xmm1 .byte 102,15,126,200 // movd %xmm1,%eax .byte 243,15,16,12,131 // movss (%rbx,%rax,4),%xmm1 .byte 243,66,15,16,36,147 // movss (%rbx,%r10,4),%xmm4 .byte 15,20,225 // unpcklps %xmm1,%xmm4 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 243,66,15,16,60,131 // movss (%rbx,%r8,4),%xmm7 .byte 15,20,249 // unpcklps %xmm1,%xmm7 .byte 102,15,20,252 // unpcklpd %xmm4,%xmm7 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,250,13,106,169,0,0 // psubd 0xa96a(%rip),%xmm1 # 2b6d0 <_sk_srcover_rgba_8888_sse2_lowp+0x10fc> .byte 102,15,112,225,78 // pshufd $0x4e,%xmm1,%xmm4 .byte 102,73,15,126,224 // movq %xmm4,%r8 .byte 102,72,15,126,200 // movq %xmm1,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,12,131 // movss (%rbx,%rax,4),%xmm1 .byte 243,66,15,16,36,139 // movss (%rbx,%r9,4),%xmm4 .byte 15,20,225 // unpcklps %xmm1,%xmm4 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,12,131 // movss (%rbx,%r8,4),%xmm1 .byte 243,15,16,4,131 // movss (%rbx,%rax,4),%xmm0 .byte 15,20,193 // unpcklps %xmm1,%xmm0 .byte 102,15,20,224 // unpcklpd %xmm0,%xmm4 .byte 102,65,15,254,212 // paddd %xmm12,%xmm2 .byte 102,15,112,194,78 // pshufd $0x4e,%xmm2,%xmm0 .byte 102,73,15,126,192 // movq %xmm0,%r8 .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,4,131 // movss (%rbx,%rax,4),%xmm0 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 15,20,208 // unpcklps %xmm0,%xmm2 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,4,131 // movss (%rbx,%r8,4),%xmm0 .byte 243,15,16,12,131 // movss (%rbx,%rax,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 102,15,20,209 // unpcklpd %xmm1,%xmm2 .byte 65,15,91,193 // cvtdq2ps %xmm9,%xmm0 .byte 68,15,92,240 // subps %xmm0,%xmm14 .byte 15,92,254 // subps %xmm6,%xmm7 .byte 65,15,89,254 // mulps %xmm14,%xmm7 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 65,15,89,230 // mulps %xmm14,%xmm4 .byte 15,88,227 // addps %xmm3,%xmm4 .byte 15,92,213 // subps %xmm5,%xmm2 .byte 65,15,89,214 // mulps %xmm14,%xmm2 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 243,65,15,91,195 // cvttps2dq %xmm11,%xmm0 .byte 102,15,112,200,245 // pshufd $0xf5,%xmm0,%xmm1 .byte 102,65,15,244,207 // pmuludq %xmm15,%xmm1 .byte 102,68,15,244,248 // pmuludq %xmm0,%xmm15 .byte 102,69,15,112,231,232 // pshufd $0xe8,%xmm15,%xmm12 .byte 102,15,112,193,232 // pshufd $0xe8,%xmm1,%xmm0 .byte 102,68,15,98,224 // punpckldq %xmm0,%xmm12 .byte 102,65,15,111,244 // movdqa %xmm12,%xmm6 .byte 102,65,15,254,245 // paddd %xmm13,%xmm6 .byte 102,15,111,206 // movdqa %xmm6,%xmm1 .byte 102,15,254,76,36,176 // paddd -0x50(%rsp),%xmm1 .byte 102,15,112,193,245 // pshufd $0xf5,%xmm1,%xmm0 .byte 102,65,15,244,200 // pmuludq %xmm8,%xmm1 .byte 102,65,15,244,192 // pmuludq %xmm8,%xmm0 .byte 102,69,15,111,216 // movdqa %xmm8,%xmm11 .byte 102,15,112,216,232 // pshufd $0xe8,%xmm0,%xmm3 .byte 102,15,112,193,232 // pshufd $0xe8,%xmm1,%xmm0 .byte 102,15,98,195 // punpckldq %xmm3,%xmm0 .byte 102,65,15,126,200 // movd %xmm1,%r8d .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,65,15,126,201 // movd %xmm1,%r9d .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,65,15,126,202 // movd %xmm1,%r10d .byte 102,15,112,200,231 // pshufd $0xe7,%xmm0,%xmm1 .byte 102,15,126,200 // movd %xmm1,%eax .byte 243,15,16,12,131 // movss (%rbx,%rax,4),%xmm1 .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 15,20,217 // unpcklps %xmm1,%xmm3 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 243,70,15,16,4,131 // movss (%rbx,%r8,4),%xmm8 .byte 68,15,20,193 // unpcklps %xmm1,%xmm8 .byte 102,68,15,20,195 // unpcklpd %xmm3,%xmm8 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,69,15,118,201 // pcmpeqd %xmm9,%xmm9 .byte 102,65,15,250,201 // psubd %xmm9,%xmm1 .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,73,15,126,216 // movq %xmm3,%r8 .byte 102,72,15,126,200 // movq %xmm1,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,12,131 // movss (%rbx,%rax,4),%xmm1 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 .byte 15,20,217 // unpcklps %xmm1,%xmm3 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,12,131 // movss (%rbx,%r8,4),%xmm1 .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 15,20,233 // unpcklps %xmm1,%xmm5 .byte 102,15,20,221 // unpcklpd %xmm5,%xmm3 .byte 102,68,15,111,45,66,161,0,0 // movdqa 0xa142(%rip),%xmm13 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,65,15,254,197 // paddd %xmm13,%xmm0 .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,73,15,126,200 // movq %xmm1,%r8 .byte 102,72,15,126,192 // movq %xmm0,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,4,131 // movss (%rbx,%rax,4),%xmm0 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,4,131 // movss (%rbx,%r8,4),%xmm0 .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 102,15,20,205 // unpcklpd %xmm5,%xmm1 .byte 102,15,254,116,36,160 // paddd -0x60(%rsp),%xmm6 .byte 102,15,112,198,245 // pshufd $0xf5,%xmm6,%xmm0 .byte 102,65,15,244,243 // pmuludq %xmm11,%xmm6 .byte 102,65,15,244,195 // pmuludq %xmm11,%xmm0 .byte 102,15,112,232,232 // pshufd $0xe8,%xmm0,%xmm5 .byte 102,15,112,198,232 // pshufd $0xe8,%xmm6,%xmm0 .byte 102,15,98,197 // punpckldq %xmm5,%xmm0 .byte 102,65,15,126,240 // movd %xmm6,%r8d .byte 102,15,112,232,229 // pshufd $0xe5,%xmm0,%xmm5 .byte 102,65,15,126,233 // movd %xmm5,%r9d .byte 102,15,112,232,78 // pshufd $0x4e,%xmm0,%xmm5 .byte 102,65,15,126,234 // movd %xmm5,%r10d .byte 102,15,112,232,231 // pshufd $0xe7,%xmm0,%xmm5 .byte 102,15,126,232 // movd %xmm5,%eax .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 243,66,15,16,52,147 // movss (%rbx,%r10,4),%xmm6 .byte 15,20,245 // unpcklps %xmm5,%xmm6 .byte 243,66,15,16,44,139 // movss (%rbx,%r9,4),%xmm5 .byte 243,70,15,16,60,131 // movss (%rbx,%r8,4),%xmm15 .byte 68,15,20,253 // unpcklps %xmm5,%xmm15 .byte 102,68,15,20,254 // unpcklpd %xmm6,%xmm15 .byte 102,15,111,232 // movdqa %xmm0,%xmm5 .byte 102,65,15,250,233 // psubd %xmm9,%xmm5 .byte 102,15,112,245,78 // pshufd $0x4e,%xmm5,%xmm6 .byte 102,73,15,126,240 // movq %xmm6,%r8 .byte 102,72,15,126,232 // movq %xmm5,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 243,70,15,16,28,139 // movss (%rbx,%r9,4),%xmm11 .byte 68,15,20,221 // unpcklps %xmm5,%xmm11 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,44,131 // movss (%rbx,%r8,4),%xmm5 .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 15,20,245 // unpcklps %xmm5,%xmm6 .byte 102,68,15,20,222 // unpcklpd %xmm6,%xmm11 .byte 102,65,15,254,197 // paddd %xmm13,%xmm0 .byte 102,15,112,232,78 // pshufd $0x4e,%xmm0,%xmm5 .byte 102,73,15,126,232 // movq %xmm5,%r8 .byte 102,72,15,126,192 // movq %xmm0,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,4,131 // movss (%rbx,%rax,4),%xmm0 .byte 243,70,15,16,12,139 // movss (%rbx,%r9,4),%xmm9 .byte 68,15,20,200 // unpcklps %xmm0,%xmm9 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,4,131 // movss (%rbx,%r8,4),%xmm0 .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 102,68,15,20,205 // unpcklpd %xmm5,%xmm9 .byte 69,15,92,248 // subps %xmm8,%xmm15 .byte 69,15,89,254 // mulps %xmm14,%xmm15 .byte 69,15,88,248 // addps %xmm8,%xmm15 .byte 68,15,92,219 // subps %xmm3,%xmm11 .byte 69,15,89,222 // mulps %xmm14,%xmm11 .byte 68,15,88,219 // addps %xmm3,%xmm11 .byte 68,15,92,201 // subps %xmm1,%xmm9 .byte 69,15,89,206 // mulps %xmm14,%xmm9 .byte 68,15,88,201 // addps %xmm1,%xmm9 .byte 15,91,68,36,128 // cvtdq2ps -0x80(%rsp),%xmm0 .byte 15,40,76,36,144 // movaps -0x70(%rsp),%xmm1 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,41,76,36,144 // movaps %xmm1,-0x70(%rsp) .byte 68,15,92,255 // subps %xmm7,%xmm15 .byte 68,15,89,249 // mulps %xmm1,%xmm15 .byte 68,15,88,255 // addps %xmm7,%xmm15 .byte 68,15,92,220 // subps %xmm4,%xmm11 .byte 68,15,89,217 // mulps %xmm1,%xmm11 .byte 68,15,88,220 // addps %xmm4,%xmm11 .byte 68,15,92,202 // subps %xmm2,%xmm9 .byte 68,15,89,201 // mulps %xmm1,%xmm9 .byte 68,15,88,202 // addps %xmm2,%xmm9 .byte 243,15,91,68,36,192 // cvttps2dq -0x40(%rsp),%xmm0 .byte 102,15,127,68,36,128 // movdqa %xmm0,-0x80(%rsp) .byte 102,68,15,254,208 // paddd %xmm0,%xmm10 .byte 102,15,111,116,36,176 // movdqa -0x50(%rsp),%xmm6 .byte 102,15,111,206 // movdqa %xmm6,%xmm1 .byte 102,65,15,254,202 // paddd %xmm10,%xmm1 .byte 102,15,112,209,245 // pshufd $0xf5,%xmm1,%xmm2 .byte 102,15,111,29,5,166,0,0 // movdqa 0xa605(%rip),%xmm3 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,15,244,203 // pmuludq %xmm3,%xmm1 .byte 102,15,244,211 // pmuludq %xmm3,%xmm2 .byte 102,15,111,251 // movdqa %xmm3,%xmm7 .byte 102,15,112,210,232 // pshufd $0xe8,%xmm2,%xmm2 .byte 102,15,112,217,232 // pshufd $0xe8,%xmm1,%xmm3 .byte 102,15,98,218 // punpckldq %xmm2,%xmm3 .byte 102,65,15,126,200 // movd %xmm1,%r8d .byte 102,15,112,203,229 // pshufd $0xe5,%xmm3,%xmm1 .byte 102,65,15,126,201 // movd %xmm1,%r9d .byte 102,15,112,203,78 // pshufd $0x4e,%xmm3,%xmm1 .byte 102,65,15,126,202 // movd %xmm1,%r10d .byte 102,15,112,203,231 // pshufd $0xe7,%xmm3,%xmm1 .byte 102,15,126,200 // movd %xmm1,%eax .byte 243,15,16,12,131 // movss (%rbx,%rax,4),%xmm1 .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,66,15,16,36,139 // movss (%rbx,%r9,4),%xmm4 .byte 243,66,15,16,12,131 // movss (%rbx,%r8,4),%xmm1 .byte 15,20,204 // unpcklps %xmm4,%xmm1 .byte 102,15,20,202 // unpcklpd %xmm2,%xmm1 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,69,15,118,237 // pcmpeqd %xmm13,%xmm13 .byte 102,65,15,250,213 // psubd %xmm13,%xmm2 .byte 102,15,112,226,78 // pshufd $0x4e,%xmm2,%xmm4 .byte 102,73,15,126,224 // movq %xmm4,%r8 .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,36,131 // movss (%rbx,%rax,4),%xmm4 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 15,20,212 // unpcklps %xmm4,%xmm2 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,36,131 // movss (%rbx,%r8,4),%xmm4 .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 15,20,236 // unpcklps %xmm4,%xmm5 .byte 102,15,20,213 // unpcklpd %xmm5,%xmm2 .byte 102,15,111,5,213,158,0,0 // movdqa 0x9ed5(%rip),%xmm0 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,15,254,216 // paddd %xmm0,%xmm3 .byte 102,15,112,227,78 // pshufd $0x4e,%xmm3,%xmm4 .byte 102,73,15,126,224 // movq %xmm4,%r8 .byte 102,72,15,126,216 // movq %xmm3,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,36,131 // movss (%rbx,%rax,4),%xmm4 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 .byte 15,20,220 // unpcklps %xmm4,%xmm3 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,36,131 // movss (%rbx,%r8,4),%xmm4 .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 15,20,236 // unpcklps %xmm4,%xmm5 .byte 102,15,20,221 // unpcklpd %xmm5,%xmm3 .byte 102,68,15,254,84,36,160 // paddd -0x60(%rsp),%xmm10 .byte 102,65,15,112,226,245 // pshufd $0xf5,%xmm10,%xmm4 .byte 102,68,15,244,215 // pmuludq %xmm7,%xmm10 .byte 102,15,244,231 // pmuludq %xmm7,%xmm4 .byte 102,15,112,236,232 // pshufd $0xe8,%xmm4,%xmm5 .byte 102,65,15,112,226,232 // pshufd $0xe8,%xmm10,%xmm4 .byte 102,15,98,229 // punpckldq %xmm5,%xmm4 .byte 102,69,15,126,208 // movd %xmm10,%r8d .byte 102,15,112,236,229 // pshufd $0xe5,%xmm4,%xmm5 .byte 102,65,15,126,233 // movd %xmm5,%r9d .byte 102,15,112,236,78 // pshufd $0x4e,%xmm4,%xmm5 .byte 102,65,15,126,234 // movd %xmm5,%r10d .byte 102,15,112,236,231 // pshufd $0xe7,%xmm4,%xmm5 .byte 102,15,126,232 // movd %xmm5,%eax .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 243,66,15,16,60,147 // movss (%rbx,%r10,4),%xmm7 .byte 15,20,253 // unpcklps %xmm5,%xmm7 .byte 243,66,15,16,44,139 // movss (%rbx,%r9,4),%xmm5 .byte 243,70,15,16,4,131 // movss (%rbx,%r8,4),%xmm8 .byte 68,15,20,197 // unpcklps %xmm5,%xmm8 .byte 102,68,15,20,199 // unpcklpd %xmm7,%xmm8 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,65,15,250,237 // psubd %xmm13,%xmm5 .byte 102,15,112,253,78 // pshufd $0x4e,%xmm5,%xmm7 .byte 102,73,15,126,248 // movq %xmm7,%r8 .byte 102,72,15,126,232 // movq %xmm5,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 243,70,15,16,44,139 // movss (%rbx,%r9,4),%xmm13 .byte 68,15,20,237 // unpcklps %xmm5,%xmm13 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,44,131 // movss (%rbx,%r8,4),%xmm5 .byte 243,15,16,60,131 // movss (%rbx,%rax,4),%xmm7 .byte 15,20,253 // unpcklps %xmm5,%xmm7 .byte 102,68,15,20,239 // unpcklpd %xmm7,%xmm13 .byte 102,15,254,224 // paddd %xmm0,%xmm4 .byte 102,15,112,236,78 // pshufd $0x4e,%xmm4,%xmm5 .byte 102,73,15,126,232 // movq %xmm5,%r8 .byte 102,72,15,126,224 // movq %xmm4,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,36,131 // movss (%rbx,%rax,4),%xmm4 .byte 243,66,15,16,44,139 // movss (%rbx,%r9,4),%xmm5 .byte 15,20,236 // unpcklps %xmm4,%xmm5 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,36,131 // movss (%rbx,%r8,4),%xmm4 .byte 243,15,16,60,131 // movss (%rbx,%rax,4),%xmm7 .byte 15,20,252 // unpcklps %xmm4,%xmm7 .byte 102,15,20,239 // unpcklpd %xmm7,%xmm5 .byte 68,15,92,193 // subps %xmm1,%xmm8 .byte 69,15,89,198 // mulps %xmm14,%xmm8 .byte 68,15,88,193 // addps %xmm1,%xmm8 .byte 68,15,92,234 // subps %xmm2,%xmm13 .byte 69,15,89,238 // mulps %xmm14,%xmm13 .byte 68,15,88,234 // addps %xmm2,%xmm13 .byte 15,92,235 // subps %xmm3,%xmm5 .byte 65,15,89,238 // mulps %xmm14,%xmm5 .byte 15,88,235 // addps %xmm3,%xmm5 .byte 102,68,15,254,100,36,128 // paddd -0x80(%rsp),%xmm12 .byte 102,15,111,214 // movdqa %xmm6,%xmm2 .byte 102,65,15,254,212 // paddd %xmm12,%xmm2 .byte 102,15,112,194,245 // pshufd $0xf5,%xmm2,%xmm0 .byte 102,15,111,13,226,163,0,0 // movdqa 0xa3e2(%rip),%xmm1 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,244,193 // pmuludq %xmm1,%xmm0 .byte 102,15,111,241 // movdqa %xmm1,%xmm6 .byte 102,15,112,200,232 // pshufd $0xe8,%xmm0,%xmm1 .byte 102,15,112,194,232 // pshufd $0xe8,%xmm2,%xmm0 .byte 102,15,98,193 // punpckldq %xmm1,%xmm0 .byte 102,65,15,126,208 // movd %xmm2,%r8d .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,65,15,126,201 // movd %xmm1,%r9d .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,65,15,126,202 // movd %xmm1,%r10d .byte 102,15,112,200,231 // pshufd $0xe7,%xmm0,%xmm1 .byte 102,15,126,200 // movd %xmm1,%eax .byte 243,15,16,12,131 // movss (%rbx,%rax,4),%xmm1 .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 243,70,15,16,20,131 // movss (%rbx,%r8,4),%xmm10 .byte 68,15,20,209 // unpcklps %xmm1,%xmm10 .byte 102,68,15,20,210 // unpcklpd %xmm2,%xmm10 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,250,13,135,163,0,0 // psubd 0xa387(%rip),%xmm1 # 2b6d0 <_sk_srcover_rgba_8888_sse2_lowp+0x10fc> .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,73,15,126,208 // movq %xmm2,%r8 .byte 102,72,15,126,200 // movq %xmm1,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,12,131 // movss (%rbx,%rax,4),%xmm1 .byte 243,66,15,16,36,139 // movss (%rbx,%r9,4),%xmm4 .byte 15,20,225 // unpcklps %xmm1,%xmm4 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,12,131 // movss (%rbx,%r8,4),%xmm1 .byte 243,15,16,20,131 // movss (%rbx,%rax,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 102,15,20,226 // unpcklpd %xmm2,%xmm4 .byte 102,15,254,5,178,156,0,0 // paddd 0x9cb2(%rip),%xmm0 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,73,15,126,200 // movq %xmm1,%r8 .byte 102,72,15,126,192 // movq %xmm0,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,4,131 // movss (%rbx,%rax,4),%xmm0 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 .byte 15,20,216 // unpcklps %xmm0,%xmm3 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,4,131 // movss (%rbx,%r8,4),%xmm0 .byte 243,15,16,12,131 // movss (%rbx,%rax,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 102,15,20,217 // unpcklpd %xmm1,%xmm3 .byte 102,68,15,254,100,36,160 // paddd -0x60(%rsp),%xmm12 .byte 102,65,15,112,196,245 // pshufd $0xf5,%xmm12,%xmm0 .byte 102,68,15,244,230 // pmuludq %xmm6,%xmm12 .byte 102,15,244,198 // pmuludq %xmm6,%xmm0 .byte 102,15,112,192,232 // pshufd $0xe8,%xmm0,%xmm0 .byte 102,65,15,112,212,232 // pshufd $0xe8,%xmm12,%xmm2 .byte 102,15,98,208 // punpckldq %xmm0,%xmm2 .byte 102,69,15,126,224 // movd %xmm12,%r8d .byte 102,15,112,194,229 // pshufd $0xe5,%xmm2,%xmm0 .byte 102,65,15,126,193 // movd %xmm0,%r9d .byte 102,15,112,194,78 // pshufd $0x4e,%xmm2,%xmm0 .byte 102,65,15,126,194 // movd %xmm0,%r10d .byte 102,15,112,194,231 // pshufd $0xe7,%xmm2,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 243,15,16,4,131 // movss (%rbx,%rax,4),%xmm0 .byte 243,66,15,16,12,147 // movss (%rbx,%r10,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 243,66,15,16,60,139 // movss (%rbx,%r9,4),%xmm7 .byte 243,66,15,16,4,131 // movss (%rbx,%r8,4),%xmm0 .byte 15,20,199 // unpcklps %xmm7,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,250,13,145,162,0,0 // psubd 0xa291(%rip),%xmm1 # 2b6d0 <_sk_srcover_rgba_8888_sse2_lowp+0x10fc> .byte 102,15,112,249,78 // pshufd $0x4e,%xmm1,%xmm7 .byte 102,73,15,126,248 // movq %xmm7,%r8 .byte 102,72,15,126,200 // movq %xmm1,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,60,131 // movss (%rbx,%rax,4),%xmm7 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 15,20,207 // unpcklps %xmm7,%xmm1 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,60,131 // movss (%rbx,%r8,4),%xmm7 .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 15,20,247 // unpcklps %xmm7,%xmm6 .byte 102,15,20,206 // unpcklpd %xmm6,%xmm1 .byte 102,15,254,21,188,155,0,0 // paddd 0x9bbc(%rip),%xmm2 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,15,112,242,78 // pshufd $0x4e,%xmm2,%xmm6 .byte 102,73,15,126,240 // movq %xmm6,%r8 .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 15,20,214 // unpcklps %xmm6,%xmm2 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,52,131 // movss (%rbx,%r8,4),%xmm6 .byte 243,15,16,60,131 // movss (%rbx,%rax,4),%xmm7 .byte 15,20,254 // unpcklps %xmm6,%xmm7 .byte 102,15,20,215 // unpcklpd %xmm7,%xmm2 .byte 65,15,92,194 // subps %xmm10,%xmm0 .byte 65,15,89,198 // mulps %xmm14,%xmm0 .byte 65,15,88,194 // addps %xmm10,%xmm0 .byte 15,92,204 // subps %xmm4,%xmm1 .byte 65,15,89,206 // mulps %xmm14,%xmm1 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 15,92,211 // subps %xmm3,%xmm2 .byte 65,15,89,214 // mulps %xmm14,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 15,40,92,36,144 // movaps -0x70(%rsp),%xmm3 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 65,15,88,192 // addps %xmm8,%xmm0 .byte 65,15,92,205 // subps %xmm13,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 65,15,88,205 // addps %xmm13,%xmm1 .byte 15,92,213 // subps %xmm5,%xmm2 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 15,91,92,36,208 // cvtdq2ps -0x30(%rsp),%xmm3 .byte 15,40,100,36,224 // movaps -0x20(%rsp),%xmm4 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 65,15,92,199 // subps %xmm15,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 65,15,88,199 // addps %xmm15,%xmm0 .byte 65,15,92,203 // subps %xmm11,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 65,15,88,203 // addps %xmm11,%xmm1 .byte 65,15,92,209 // subps %xmm9,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 65,15,88,209 // addps %xmm9,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,92,36,240 // movaps -0x10(%rsp),%xmm3 .byte 15,40,36,36 // movaps (%rsp),%xmm4 .byte 15,40,108,36,16 // movaps 0x10(%rsp),%xmm5 .byte 15,40,116,36,32 // movaps 0x20(%rsp),%xmm6 .byte 15,40,124,36,48 // movaps 0x30(%rsp),%xmm7 .byte 72,131,196,64 // add $0x40,%rsp .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_clut_4D_sse2 .globl _sk_clut_4D_sse2 FUNCTION(_sk_clut_4D_sse2) _sk_clut_4D_sse2: .byte 83 // push %rbx .byte 72,129,236,160,0,0,0 // sub $0xa0,%rsp .byte 15,41,188,36,144,0,0,0 // movaps %xmm7,0x90(%rsp) .byte 15,41,180,36,128,0,0,0 // movaps %xmm6,0x80(%rsp) .byte 15,41,108,36,112 // movaps %xmm5,0x70(%rsp) .byte 15,41,100,36,96 // movaps %xmm4,0x60(%rsp) .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,139,64,20 // mov 0x14(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 102,65,15,110,225 // movd %r9d,%xmm4 .byte 102,15,112,228,0 // pshufd $0x0,%xmm4,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 102,65,15,110,216 // movd %r8d,%xmm3 .byte 102,15,112,251,0 // pshufd $0x0,%xmm3,%xmm7 .byte 102,15,127,124,36,128 // movdqa %xmm7,-0x80(%rsp) .byte 68,139,64,16 // mov 0x10(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 102,65,15,110,225 // movd %r9d,%xmm4 .byte 102,15,112,228,0 // pshufd $0x0,%xmm4,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,226 // mulps %xmm2,%xmm4 .byte 243,15,91,244 // cvttps2dq %xmm4,%xmm6 .byte 102,15,127,116,36,208 // movdqa %xmm6,-0x30(%rsp) .byte 68,15,40,252 // movaps %xmm4,%xmm15 .byte 68,15,41,124,36,240 // movaps %xmm15,-0x10(%rsp) .byte 102,15,112,214,245 // pshufd $0xf5,%xmm6,%xmm2 .byte 102,15,244,215 // pmuludq %xmm7,%xmm2 .byte 102,15,111,231 // movdqa %xmm7,%xmm4 .byte 102,15,244,230 // pmuludq %xmm6,%xmm4 .byte 102,68,15,112,244,232 // pshufd $0xe8,%xmm4,%xmm14 .byte 102,15,112,210,232 // pshufd $0xe8,%xmm2,%xmm2 .byte 102,68,15,98,242 // punpckldq %xmm2,%xmm14 .byte 102,65,15,110,208 // movd %r8d,%xmm2 .byte 102,15,244,211 // pmuludq %xmm3,%xmm2 .byte 102,15,112,210,232 // pshufd $0xe8,%xmm2,%xmm2 .byte 102,15,244,216 // pmuludq %xmm0,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,98,211 // punpckldq %xmm3,%xmm2 .byte 102,68,15,112,226,0 // pshufd $0x0,%xmm2,%xmm12 .byte 68,139,64,12 // mov 0xc(%rax),%r8d .byte 69,141,72,255 // lea -0x1(%r8),%r9d .byte 102,65,15,110,217 // movd %r9d,%xmm3 .byte 102,15,112,219,0 // pshufd $0x0,%xmm3,%xmm3 .byte 68,15,91,219 // cvtdq2ps %xmm3,%xmm11 .byte 68,15,89,217 // mulps %xmm1,%xmm11 .byte 243,65,15,91,227 // cvttps2dq %xmm11,%xmm4 .byte 102,15,127,100,36,192 // movdqa %xmm4,-0x40(%rsp) .byte 68,15,41,92,36,144 // movaps %xmm11,-0x70(%rsp) .byte 102,15,112,204,245 // pshufd $0xf5,%xmm4,%xmm1 .byte 102,65,15,244,204 // pmuludq %xmm12,%xmm1 .byte 102,65,15,111,220 // movdqa %xmm12,%xmm3 .byte 102,15,244,220 // pmuludq %xmm4,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,112,201,232 // pshufd $0xe8,%xmm1,%xmm1 .byte 102,15,98,217 // punpckldq %xmm1,%xmm3 .byte 102,15,127,28,36 // movdqa %xmm3,(%rsp) .byte 102,65,15,110,200 // movd %r8d,%xmm1 .byte 102,15,244,202 // pmuludq %xmm2,%xmm1 .byte 102,15,112,201,0 // pshufd $0x0,%xmm1,%xmm1 .byte 68,139,64,8 // mov 0x8(%rax),%r8d .byte 65,255,200 // dec %r8d .byte 102,65,15,110,208 // movd %r8d,%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 .byte 68,15,91,234 // cvtdq2ps %xmm2,%xmm13 .byte 68,15,89,232 // mulps %xmm0,%xmm13 .byte 243,69,15,91,205 // cvttps2dq %xmm13,%xmm9 .byte 102,65,15,112,193,245 // pshufd $0xf5,%xmm9,%xmm0 .byte 102,15,244,193 // pmuludq %xmm1,%xmm0 .byte 102,15,111,209 // movdqa %xmm1,%xmm2 .byte 102,65,15,244,209 // pmuludq %xmm9,%xmm2 .byte 102,15,112,226,232 // pshufd $0xe8,%xmm2,%xmm4 .byte 102,15,112,192,232 // pshufd $0xe8,%xmm0,%xmm0 .byte 102,15,98,224 // punpckldq %xmm0,%xmm4 .byte 102,15,127,100,36,160 // movdqa %xmm4,-0x60(%rsp) .byte 243,15,91,197 // cvttps2dq %xmm5,%xmm0 .byte 102,15,127,68,36,48 // movdqa %xmm0,0x30(%rsp) .byte 68,15,40,197 // movaps %xmm5,%xmm8 .byte 68,15,41,68,36,80 // movaps %xmm8,0x50(%rsp) .byte 102,69,15,111,214 // movdqa %xmm14,%xmm10 .byte 102,68,15,254,208 // paddd %xmm0,%xmm10 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,65,15,254,210 // paddd %xmm10,%xmm2 .byte 102,15,111,220 // movdqa %xmm4,%xmm3 .byte 102,15,254,218 // paddd %xmm2,%xmm3 .byte 102,15,111,37,212,159,0,0 // movdqa 0x9fd4(%rip),%xmm4 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,15,112,195,245 // pshufd $0xf5,%xmm3,%xmm0 .byte 102,15,244,220 // pmuludq %xmm4,%xmm3 .byte 102,15,244,196 // pmuludq %xmm4,%xmm0 .byte 102,15,112,224,232 // pshufd $0xe8,%xmm0,%xmm4 .byte 102,15,112,195,232 // pshufd $0xe8,%xmm3,%xmm0 .byte 102,15,98,196 // punpckldq %xmm4,%xmm0 .byte 102,65,15,126,216 // movd %xmm3,%r8d .byte 102,15,112,216,229 // pshufd $0xe5,%xmm0,%xmm3 .byte 102,65,15,126,217 // movd %xmm3,%r9d .byte 102,15,112,216,78 // pshufd $0x4e,%xmm0,%xmm3 .byte 102,65,15,126,218 // movd %xmm3,%r10d .byte 102,15,112,216,231 // pshufd $0xe7,%xmm0,%xmm3 .byte 102,65,15,126,219 // movd %xmm3,%r11d .byte 72,139,24 // mov (%rax),%rbx .byte 243,66,15,16,28,155 // movss (%rbx,%r11,4),%xmm3 .byte 243,66,15,16,36,147 // movss (%rbx,%r10,4),%xmm4 .byte 15,20,227 // unpcklps %xmm3,%xmm4 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 .byte 243,66,15,16,60,131 // movss (%rbx,%r8,4),%xmm7 .byte 15,20,251 // unpcklps %xmm3,%xmm7 .byte 102,15,20,252 // unpcklpd %xmm4,%xmm7 .byte 102,15,118,228 // pcmpeqd %xmm4,%xmm4 .byte 102,15,111,216 // movdqa %xmm0,%xmm3 .byte 102,15,250,220 // psubd %xmm4,%xmm3 .byte 102,15,112,227,78 // pshufd $0x4e,%xmm3,%xmm4 .byte 102,73,15,126,224 // movq %xmm4,%r8 .byte 102,73,15,126,217 // movq %xmm3,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 73,193,233,32 // shr $0x20,%r9 .byte 243,66,15,16,36,139 // movss (%rbx,%r9,4),%xmm4 .byte 243,66,15,16,44,147 // movss (%rbx,%r10,4),%xmm5 .byte 15,20,236 // unpcklps %xmm4,%xmm5 .byte 69,137,193 // mov %r8d,%r9d .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,36,131 // movss (%rbx,%r8,4),%xmm4 .byte 243,66,15,16,52,139 // movss (%rbx,%r9,4),%xmm6 .byte 15,20,244 // unpcklps %xmm4,%xmm6 .byte 102,15,20,238 // unpcklpd %xmm6,%xmm5 .byte 102,15,254,5,158,152,0,0 // paddd 0x989e(%rip),%xmm0 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,15,112,224,78 // pshufd $0x4e,%xmm0,%xmm4 .byte 102,73,15,126,224 // movq %xmm4,%r8 .byte 102,73,15,126,193 // movq %xmm0,%r9 .byte 69,137,202 // mov %r9d,%r10d .byte 73,193,233,32 // shr $0x20,%r9 .byte 243,66,15,16,36,139 // movss (%rbx,%r9,4),%xmm4 .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 15,20,220 // unpcklps %xmm4,%xmm3 .byte 69,137,193 // mov %r8d,%r9d .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,36,131 // movss (%rbx,%r8,4),%xmm4 .byte 243,66,15,16,52,139 // movss (%rbx,%r9,4),%xmm6 .byte 15,20,244 // unpcklps %xmm4,%xmm6 .byte 102,15,20,222 // unpcklpd %xmm6,%xmm3 .byte 15,40,53,200,158,0,0 // movaps 0x9ec8(%rip),%xmm6 # 2b6b0 <_sk_srcover_rgba_8888_sse2_lowp+0x10dc> .byte 68,15,88,198 // addps %xmm6,%xmm8 .byte 68,15,41,68,36,176 // movaps %xmm8,-0x50(%rsp) .byte 68,15,88,254 // addps %xmm6,%xmm15 .byte 68,15,41,124,36,64 // movaps %xmm15,0x40(%rsp) .byte 69,15,40,195 // movaps %xmm11,%xmm8 .byte 68,15,88,198 // addps %xmm6,%xmm8 .byte 65,15,88,245 // addps %xmm13,%xmm6 .byte 243,15,91,246 // cvttps2dq %xmm6,%xmm6 .byte 102,15,112,198,245 // pshufd $0xf5,%xmm6,%xmm0 .byte 102,15,244,193 // pmuludq %xmm1,%xmm0 .byte 102,15,244,206 // pmuludq %xmm6,%xmm1 .byte 102,68,15,112,249,232 // pshufd $0xe8,%xmm1,%xmm15 .byte 102,15,112,192,232 // pshufd $0xe8,%xmm0,%xmm0 .byte 102,68,15,98,248 // punpckldq %xmm0,%xmm15 .byte 102,65,15,254,215 // paddd %xmm15,%xmm2 .byte 102,68,15,127,124,36,224 // movdqa %xmm15,-0x20(%rsp) .byte 102,15,112,194,245 // pshufd $0xf5,%xmm2,%xmm0 .byte 102,15,111,13,126,158,0,0 // movdqa 0x9e7e(%rip),%xmm1 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,244,193 // pmuludq %xmm1,%xmm0 .byte 102,15,112,192,232 // pshufd $0xe8,%xmm0,%xmm0 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,200 // punpckldq %xmm0,%xmm1 .byte 102,65,15,126,208 // movd %xmm2,%r8d .byte 102,15,112,193,229 // pshufd $0xe5,%xmm1,%xmm0 .byte 102,65,15,126,193 // movd %xmm0,%r9d .byte 102,15,112,193,78 // pshufd $0x4e,%xmm1,%xmm0 .byte 102,65,15,126,194 // movd %xmm0,%r10d .byte 102,15,112,193,231 // pshufd $0xe7,%xmm1,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 243,15,16,4,131 // movss (%rbx,%rax,4),%xmm0 .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 15,20,208 // unpcklps %xmm0,%xmm2 .byte 243,66,15,16,4,139 // movss (%rbx,%r9,4),%xmm0 .byte 243,66,15,16,52,131 // movss (%rbx,%r8,4),%xmm6 .byte 15,20,240 // unpcklps %xmm0,%xmm6 .byte 102,15,20,242 // unpcklpd %xmm2,%xmm6 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,250,5,41,158,0,0 // psubd 0x9e29(%rip),%xmm0 # 2b6d0 <_sk_srcover_rgba_8888_sse2_lowp+0x10fc> .byte 102,15,112,208,78 // pshufd $0x4e,%xmm0,%xmm2 .byte 102,73,15,126,208 // movq %xmm2,%r8 .byte 102,72,15,126,192 // movq %xmm0,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,4,131 // movss (%rbx,%rax,4),%xmm0 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 15,20,208 // unpcklps %xmm0,%xmm2 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,4,131 // movss (%rbx,%r8,4),%xmm0 .byte 243,68,15,16,28,131 // movss (%rbx,%rax,4),%xmm11 .byte 68,15,20,216 // unpcklps %xmm0,%xmm11 .byte 102,65,15,20,211 // unpcklpd %xmm11,%xmm2 .byte 102,15,254,13,81,151,0,0 // paddd 0x9751(%rip),%xmm1 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,15,112,193,78 // pshufd $0x4e,%xmm1,%xmm0 .byte 102,73,15,126,192 // movq %xmm0,%r8 .byte 102,72,15,126,200 // movq %xmm1,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,4,131 // movss (%rbx,%rax,4),%xmm0 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,4,131 // movss (%rbx,%r8,4),%xmm0 .byte 243,15,16,36,131 // movss (%rbx,%rax,4),%xmm4 .byte 15,20,224 // unpcklps %xmm0,%xmm4 .byte 102,15,20,204 // unpcklpd %xmm4,%xmm1 .byte 65,15,91,193 // cvtdq2ps %xmm9,%xmm0 .byte 68,15,92,232 // subps %xmm0,%xmm13 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 65,15,89,245 // mulps %xmm13,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,92,213 // subps %xmm5,%xmm2 .byte 65,15,89,213 // mulps %xmm13,%xmm2 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 65,15,89,205 // mulps %xmm13,%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 243,65,15,91,192 // cvttps2dq %xmm8,%xmm0 .byte 102,15,112,216,245 // pshufd $0xf5,%xmm0,%xmm3 .byte 102,65,15,244,220 // pmuludq %xmm12,%xmm3 .byte 102,68,15,244,224 // pmuludq %xmm0,%xmm12 .byte 102,65,15,112,228,232 // pshufd $0xe8,%xmm12,%xmm4 .byte 102,15,112,195,232 // pshufd $0xe8,%xmm3,%xmm0 .byte 102,15,98,224 // punpckldq %xmm0,%xmm4 .byte 102,15,127,100,36,16 // movdqa %xmm4,0x10(%rsp) .byte 102,68,15,254,212 // paddd %xmm4,%xmm10 .byte 102,65,15,111,194 // movdqa %xmm10,%xmm0 .byte 102,15,254,68,36,160 // paddd -0x60(%rsp),%xmm0 .byte 102,15,112,216,245 // pshufd $0xf5,%xmm0,%xmm3 .byte 102,15,111,37,40,157,0,0 // movdqa 0x9d28(%rip),%xmm4 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,15,244,196 // pmuludq %xmm4,%xmm0 .byte 102,15,244,220 // pmuludq %xmm4,%xmm3 .byte 102,68,15,111,220 // movdqa %xmm4,%xmm11 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,112,224,232 // pshufd $0xe8,%xmm0,%xmm4 .byte 102,15,98,227 // punpckldq %xmm3,%xmm4 .byte 102,65,15,126,192 // movd %xmm0,%r8d .byte 102,15,112,196,229 // pshufd $0xe5,%xmm4,%xmm0 .byte 102,65,15,126,193 // movd %xmm0,%r9d .byte 102,15,112,196,78 // pshufd $0x4e,%xmm4,%xmm0 .byte 102,65,15,126,194 // movd %xmm0,%r10d .byte 102,15,112,196,231 // pshufd $0xe7,%xmm4,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 243,15,16,4,131 // movss (%rbx,%rax,4),%xmm0 .byte 243,66,15,16,44,147 // movss (%rbx,%r10,4),%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 243,66,15,16,4,139 // movss (%rbx,%r9,4),%xmm0 .byte 243,70,15,16,12,131 // movss (%rbx,%r8,4),%xmm9 .byte 68,15,20,200 // unpcklps %xmm0,%xmm9 .byte 102,68,15,20,205 // unpcklpd %xmm5,%xmm9 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,69,15,118,228 // pcmpeqd %xmm12,%xmm12 .byte 102,65,15,250,196 // psubd %xmm12,%xmm0 .byte 102,15,112,232,78 // pshufd $0x4e,%xmm0,%xmm5 .byte 102,73,15,126,232 // movq %xmm5,%r8 .byte 102,72,15,126,192 // movq %xmm0,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 243,66,15,16,4,139 // movss (%rbx,%r9,4),%xmm0 .byte 15,20,197 // unpcklps %xmm5,%xmm0 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,44,131 // movss (%rbx,%r8,4),%xmm5 .byte 243,15,16,60,131 // movss (%rbx,%rax,4),%xmm7 .byte 15,20,253 // unpcklps %xmm5,%xmm7 .byte 102,15,20,199 // unpcklpd %xmm7,%xmm0 .byte 102,68,15,111,5,244,149,0,0 // movdqa 0x95f4(%rip),%xmm8 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,65,15,254,224 // paddd %xmm8,%xmm4 .byte 102,15,112,236,78 // pshufd $0x4e,%xmm4,%xmm5 .byte 102,73,15,126,232 // movq %xmm5,%r8 .byte 102,72,15,126,224 // movq %xmm4,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 243,66,15,16,36,139 // movss (%rbx,%r9,4),%xmm4 .byte 15,20,229 // unpcklps %xmm5,%xmm4 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,44,131 // movss (%rbx,%r8,4),%xmm5 .byte 243,15,16,60,131 // movss (%rbx,%rax,4),%xmm7 .byte 15,20,253 // unpcklps %xmm5,%xmm7 .byte 102,15,20,231 // unpcklpd %xmm7,%xmm4 .byte 102,69,15,254,215 // paddd %xmm15,%xmm10 .byte 102,65,15,112,234,245 // pshufd $0xf5,%xmm10,%xmm5 .byte 102,69,15,244,211 // pmuludq %xmm11,%xmm10 .byte 102,65,15,244,235 // pmuludq %xmm11,%xmm5 .byte 102,69,15,111,251 // movdqa %xmm11,%xmm15 .byte 102,15,112,253,232 // pshufd $0xe8,%xmm5,%xmm7 .byte 102,65,15,112,234,232 // pshufd $0xe8,%xmm10,%xmm5 .byte 102,15,98,239 // punpckldq %xmm7,%xmm5 .byte 102,69,15,126,208 // movd %xmm10,%r8d .byte 102,15,112,253,229 // pshufd $0xe5,%xmm5,%xmm7 .byte 102,65,15,126,249 // movd %xmm7,%r9d .byte 102,15,112,253,78 // pshufd $0x4e,%xmm5,%xmm7 .byte 102,65,15,126,250 // movd %xmm7,%r10d .byte 102,15,112,253,231 // pshufd $0xe7,%xmm5,%xmm7 .byte 102,15,126,248 // movd %xmm7,%eax .byte 243,15,16,60,131 // movss (%rbx,%rax,4),%xmm7 .byte 243,66,15,16,28,147 // movss (%rbx,%r10,4),%xmm3 .byte 15,20,223 // unpcklps %xmm7,%xmm3 .byte 243,66,15,16,60,139 // movss (%rbx,%r9,4),%xmm7 .byte 243,70,15,16,28,131 // movss (%rbx,%r8,4),%xmm11 .byte 68,15,20,223 // unpcklps %xmm7,%xmm11 .byte 102,68,15,20,219 // unpcklpd %xmm3,%xmm11 .byte 102,15,111,221 // movdqa %xmm5,%xmm3 .byte 102,65,15,250,220 // psubd %xmm12,%xmm3 .byte 102,15,112,251,78 // pshufd $0x4e,%xmm3,%xmm7 .byte 102,73,15,126,248 // movq %xmm7,%r8 .byte 102,72,15,126,216 // movq %xmm3,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,28,131 // movss (%rbx,%rax,4),%xmm3 .byte 243,70,15,16,20,139 // movss (%rbx,%r9,4),%xmm10 .byte 68,15,20,211 // unpcklps %xmm3,%xmm10 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 243,15,16,60,131 // movss (%rbx,%rax,4),%xmm7 .byte 15,20,251 // unpcklps %xmm3,%xmm7 .byte 102,68,15,20,215 // unpcklpd %xmm7,%xmm10 .byte 102,65,15,254,232 // paddd %xmm8,%xmm5 .byte 102,15,112,221,78 // pshufd $0x4e,%xmm5,%xmm3 .byte 102,73,15,126,216 // movq %xmm3,%r8 .byte 102,72,15,126,232 // movq %xmm5,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,28,131 // movss (%rbx,%rax,4),%xmm3 .byte 243,70,15,16,36,139 // movss (%rbx,%r9,4),%xmm12 .byte 68,15,20,227 // unpcklps %xmm3,%xmm12 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 243,15,16,60,131 // movss (%rbx,%rax,4),%xmm7 .byte 15,20,251 // unpcklps %xmm3,%xmm7 .byte 102,68,15,20,231 // unpcklpd %xmm7,%xmm12 .byte 69,15,92,217 // subps %xmm9,%xmm11 .byte 68,15,41,108,36,32 // movaps %xmm13,0x20(%rsp) .byte 69,15,89,221 // mulps %xmm13,%xmm11 .byte 69,15,88,217 // addps %xmm9,%xmm11 .byte 68,15,92,208 // subps %xmm0,%xmm10 .byte 69,15,89,213 // mulps %xmm13,%xmm10 .byte 68,15,88,208 // addps %xmm0,%xmm10 .byte 68,15,92,228 // subps %xmm4,%xmm12 .byte 69,15,89,229 // mulps %xmm13,%xmm12 .byte 68,15,88,228 // addps %xmm4,%xmm12 .byte 15,91,68,36,192 // cvtdq2ps -0x40(%rsp),%xmm0 .byte 15,40,92,36,144 // movaps -0x70(%rsp),%xmm3 .byte 15,92,216 // subps %xmm0,%xmm3 .byte 15,41,92,36,144 // movaps %xmm3,-0x70(%rsp) .byte 68,15,92,222 // subps %xmm6,%xmm11 .byte 68,15,89,219 // mulps %xmm3,%xmm11 .byte 68,15,88,222 // addps %xmm6,%xmm11 .byte 68,15,92,210 // subps %xmm2,%xmm10 .byte 68,15,89,211 // mulps %xmm3,%xmm10 .byte 68,15,88,210 // addps %xmm2,%xmm10 .byte 68,15,92,225 // subps %xmm1,%xmm12 .byte 68,15,89,227 // mulps %xmm3,%xmm12 .byte 68,15,88,225 // addps %xmm1,%xmm12 .byte 243,15,91,68,36,64 // cvttps2dq 0x40(%rsp),%xmm0 .byte 102,15,112,200,245 // pshufd $0xf5,%xmm0,%xmm1 .byte 102,15,111,84,36,128 // movdqa -0x80(%rsp),%xmm2 .byte 102,15,244,202 // pmuludq %xmm2,%xmm1 .byte 102,15,244,208 // pmuludq %xmm0,%xmm2 .byte 102,68,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm9 .byte 102,15,112,193,232 // pshufd $0xe8,%xmm1,%xmm0 .byte 102,68,15,98,200 // punpckldq %xmm0,%xmm9 .byte 102,68,15,127,76,36,128 // movdqa %xmm9,-0x80(%rsp) .byte 102,68,15,254,76,36,48 // paddd 0x30(%rsp),%xmm9 .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,15,254,4,36 // paddd (%rsp),%xmm0 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,68,15,111,68,36,160 // movdqa -0x60(%rsp),%xmm8 .byte 102,65,15,254,208 // paddd %xmm8,%xmm2 .byte 102,15,112,202,245 // pshufd $0xf5,%xmm2,%xmm1 .byte 102,65,15,111,223 // movdqa %xmm15,%xmm3 .byte 102,15,244,211 // pmuludq %xmm3,%xmm2 .byte 102,15,244,203 // pmuludq %xmm3,%xmm1 .byte 102,15,111,243 // movdqa %xmm3,%xmm6 .byte 102,15,112,217,232 // pshufd $0xe8,%xmm1,%xmm3 .byte 102,15,112,202,232 // pshufd $0xe8,%xmm2,%xmm1 .byte 102,15,98,203 // punpckldq %xmm3,%xmm1 .byte 102,65,15,126,208 // movd %xmm2,%r8d .byte 102,15,112,209,229 // pshufd $0xe5,%xmm1,%xmm2 .byte 102,65,15,126,209 // movd %xmm2,%r9d .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,65,15,126,210 // movd %xmm2,%r10d .byte 102,15,112,209,231 // pshufd $0xe7,%xmm1,%xmm2 .byte 102,15,126,208 // movd %xmm2,%eax .byte 243,15,16,20,131 // movss (%rbx,%rax,4),%xmm2 .byte 243,66,15,16,36,147 // movss (%rbx,%r10,4),%xmm4 .byte 15,20,226 // unpcklps %xmm2,%xmm4 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 102,15,20,220 // unpcklpd %xmm4,%xmm3 .byte 102,15,111,209 // movdqa %xmm1,%xmm2 .byte 102,15,118,237 // pcmpeqd %xmm5,%xmm5 .byte 102,15,250,213 // psubd %xmm5,%xmm2 .byte 102,15,112,226,78 // pshufd $0x4e,%xmm2,%xmm4 .byte 102,73,15,126,224 // movq %xmm4,%r8 .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,20,131 // movss (%rbx,%rax,4),%xmm2 .byte 243,66,15,16,60,139 // movss (%rbx,%r9,4),%xmm7 .byte 15,20,250 // unpcklps %xmm2,%xmm7 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 .byte 243,15,16,36,131 // movss (%rbx,%rax,4),%xmm4 .byte 15,20,226 // unpcklps %xmm2,%xmm4 .byte 102,15,20,252 // unpcklpd %xmm4,%xmm7 .byte 102,68,15,111,61,78,147,0,0 // movdqa 0x934e(%rip),%xmm15 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,65,15,254,207 // paddd %xmm15,%xmm1 .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,73,15,126,208 // movq %xmm2,%r8 .byte 102,72,15,126,200 // movq %xmm1,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,12,131 // movss (%rbx,%rax,4),%xmm1 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,12,131 // movss (%rbx,%r8,4),%xmm1 .byte 243,15,16,36,131 // movss (%rbx,%rax,4),%xmm4 .byte 15,20,225 // unpcklps %xmm1,%xmm4 .byte 102,15,20,212 // unpcklpd %xmm4,%xmm2 .byte 102,68,15,111,108,36,224 // movdqa -0x20(%rsp),%xmm13 .byte 102,65,15,254,197 // paddd %xmm13,%xmm0 .byte 102,15,112,200,245 // pshufd $0xf5,%xmm0,%xmm1 .byte 102,15,244,198 // pmuludq %xmm6,%xmm0 .byte 102,15,244,206 // pmuludq %xmm6,%xmm1 .byte 102,15,112,201,232 // pshufd $0xe8,%xmm1,%xmm1 .byte 102,15,112,224,232 // pshufd $0xe8,%xmm0,%xmm4 .byte 102,15,98,225 // punpckldq %xmm1,%xmm4 .byte 102,65,15,126,192 // movd %xmm0,%r8d .byte 102,15,112,196,229 // pshufd $0xe5,%xmm4,%xmm0 .byte 102,65,15,126,193 // movd %xmm0,%r9d .byte 102,15,112,196,78 // pshufd $0x4e,%xmm4,%xmm0 .byte 102,65,15,126,194 // movd %xmm0,%r10d .byte 102,15,112,196,231 // pshufd $0xe7,%xmm4,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 243,15,16,4,131 // movss (%rbx,%rax,4),%xmm0 .byte 243,66,15,16,52,147 // movss (%rbx,%r10,4),%xmm6 .byte 15,20,240 // unpcklps %xmm0,%xmm6 .byte 243,66,15,16,4,139 // movss (%rbx,%r9,4),%xmm0 .byte 243,66,15,16,12,131 // movss (%rbx,%r8,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 102,15,20,206 // unpcklpd %xmm6,%xmm1 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,15,250,197 // psubd %xmm5,%xmm0 .byte 102,15,112,240,78 // pshufd $0x4e,%xmm0,%xmm6 .byte 102,73,15,126,240 // movq %xmm6,%r8 .byte 102,72,15,126,192 // movq %xmm0,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 243,66,15,16,4,139 // movss (%rbx,%r9,4),%xmm0 .byte 15,20,198 // unpcklps %xmm6,%xmm0 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,52,131 // movss (%rbx,%r8,4),%xmm6 .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 15,20,238 // unpcklps %xmm6,%xmm5 .byte 102,15,20,197 // unpcklpd %xmm5,%xmm0 .byte 102,65,15,254,231 // paddd %xmm15,%xmm4 .byte 102,15,112,236,78 // pshufd $0x4e,%xmm4,%xmm5 .byte 102,73,15,126,232 // movq %xmm5,%r8 .byte 102,72,15,126,224 // movq %xmm4,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 243,66,15,16,36,139 // movss (%rbx,%r9,4),%xmm4 .byte 15,20,229 // unpcklps %xmm5,%xmm4 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,44,131 // movss (%rbx,%r8,4),%xmm5 .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 15,20,245 // unpcklps %xmm5,%xmm6 .byte 102,15,20,230 // unpcklpd %xmm6,%xmm4 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,40,108,36,32 // movaps 0x20(%rsp),%xmm5 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 15,92,199 // subps %xmm7,%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,226 // addps %xmm2,%xmm4 .byte 102,68,15,254,76,36,16 // paddd 0x10(%rsp),%xmm9 .byte 102,65,15,111,217 // movdqa %xmm9,%xmm3 .byte 102,65,15,254,216 // paddd %xmm8,%xmm3 .byte 102,15,112,211,245 // pshufd $0xf5,%xmm3,%xmm2 .byte 102,15,111,45,93,152,0,0 // movdqa 0x985d(%rip),%xmm5 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,15,244,221 // pmuludq %xmm5,%xmm3 .byte 102,15,244,213 // pmuludq %xmm5,%xmm2 .byte 102,15,112,234,232 // pshufd $0xe8,%xmm2,%xmm5 .byte 102,15,112,211,232 // pshufd $0xe8,%xmm3,%xmm2 .byte 102,15,98,213 // punpckldq %xmm5,%xmm2 .byte 102,65,15,126,216 // movd %xmm3,%r8d .byte 102,15,112,218,229 // pshufd $0xe5,%xmm2,%xmm3 .byte 102,65,15,126,217 // movd %xmm3,%r9d .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,65,15,126,218 // movd %xmm3,%r10d .byte 102,15,112,218,231 // pshufd $0xe7,%xmm2,%xmm3 .byte 102,15,126,216 // movd %xmm3,%eax .byte 243,15,16,28,131 // movss (%rbx,%rax,4),%xmm3 .byte 243,66,15,16,44,147 // movss (%rbx,%r10,4),%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 243,66,15,16,52,139 // movss (%rbx,%r9,4),%xmm6 .byte 243,70,15,16,4,131 // movss (%rbx,%r8,4),%xmm8 .byte 68,15,20,198 // unpcklps %xmm6,%xmm8 .byte 102,68,15,20,197 // unpcklpd %xmm5,%xmm8 .byte 102,15,111,234 // movdqa %xmm2,%xmm5 .byte 102,15,250,45,6,152,0,0 // psubd 0x9806(%rip),%xmm5 # 2b6d0 <_sk_srcover_rgba_8888_sse2_lowp+0x10fc> .byte 102,15,112,245,78 // pshufd $0x4e,%xmm5,%xmm6 .byte 102,73,15,126,240 // movq %xmm6,%r8 .byte 102,72,15,126,232 // movq %xmm5,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 243,66,15,16,60,139 // movss (%rbx,%r9,4),%xmm7 .byte 15,20,253 // unpcklps %xmm5,%xmm7 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,44,131 // movss (%rbx,%r8,4),%xmm5 .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 15,20,245 // unpcklps %xmm5,%xmm6 .byte 102,15,20,254 // unpcklpd %xmm6,%xmm7 .byte 102,65,15,254,215 // paddd %xmm15,%xmm2 .byte 102,15,112,234,78 // pshufd $0x4e,%xmm2,%xmm5 .byte 102,73,15,126,232 // movq %xmm5,%r8 .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 15,20,213 // unpcklps %xmm5,%xmm2 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,44,131 // movss (%rbx,%r8,4),%xmm5 .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 15,20,245 // unpcklps %xmm5,%xmm6 .byte 102,15,20,214 // unpcklpd %xmm6,%xmm2 .byte 102,69,15,254,205 // paddd %xmm13,%xmm9 .byte 102,65,15,112,233,245 // pshufd $0xf5,%xmm9,%xmm5 .byte 102,15,111,29,100,151,0,0 // movdqa 0x9764(%rip),%xmm3 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,68,15,244,203 // pmuludq %xmm3,%xmm9 .byte 102,15,244,235 // pmuludq %xmm3,%xmm5 .byte 102,15,112,237,232 // pshufd $0xe8,%xmm5,%xmm5 .byte 102,69,15,112,249,232 // pshufd $0xe8,%xmm9,%xmm15 .byte 102,68,15,98,253 // punpckldq %xmm5,%xmm15 .byte 102,69,15,126,200 // movd %xmm9,%r8d .byte 102,65,15,112,239,229 // pshufd $0xe5,%xmm15,%xmm5 .byte 102,65,15,126,233 // movd %xmm5,%r9d .byte 102,65,15,112,239,78 // pshufd $0x4e,%xmm15,%xmm5 .byte 102,65,15,126,234 // movd %xmm5,%r10d .byte 102,65,15,112,239,231 // pshufd $0xe7,%xmm15,%xmm5 .byte 102,15,126,232 // movd %xmm5,%eax .byte 243,68,15,16,12,131 // movss (%rbx,%rax,4),%xmm9 .byte 243,66,15,16,44,147 // movss (%rbx,%r10,4),%xmm5 .byte 65,15,20,233 // unpcklps %xmm9,%xmm5 .byte 243,70,15,16,12,139 // movss (%rbx,%r9,4),%xmm9 .byte 243,70,15,16,44,131 // movss (%rbx,%r8,4),%xmm13 .byte 69,15,20,233 // unpcklps %xmm9,%xmm13 .byte 102,68,15,20,237 // unpcklpd %xmm5,%xmm13 .byte 102,65,15,111,239 // movdqa %xmm15,%xmm5 .byte 102,15,250,45,4,151,0,0 // psubd 0x9704(%rip),%xmm5 # 2b6d0 <_sk_srcover_rgba_8888_sse2_lowp+0x10fc> .byte 102,15,112,221,78 // pshufd $0x4e,%xmm5,%xmm3 .byte 102,73,15,126,216 // movq %xmm3,%r8 .byte 102,72,15,126,232 // movq %xmm5,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,28,131 // movss (%rbx,%rax,4),%xmm3 .byte 243,66,15,16,52,139 // movss (%rbx,%r9,4),%xmm6 .byte 15,20,243 // unpcklps %xmm3,%xmm6 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 102,15,20,245 // unpcklpd %xmm5,%xmm6 .byte 102,68,15,111,13,46,144,0,0 // movdqa 0x902e(%rip),%xmm9 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,69,15,254,249 // paddd %xmm9,%xmm15 .byte 102,65,15,112,223,78 // pshufd $0x4e,%xmm15,%xmm3 .byte 102,73,15,126,216 // movq %xmm3,%r8 .byte 102,76,15,126,248 // movq %xmm15,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,28,131 // movss (%rbx,%rax,4),%xmm3 .byte 243,70,15,16,60,139 // movss (%rbx,%r9,4),%xmm15 .byte 68,15,20,251 // unpcklps %xmm3,%xmm15 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 102,68,15,20,253 // unpcklpd %xmm5,%xmm15 .byte 69,15,92,232 // subps %xmm8,%xmm13 .byte 15,40,92,36,32 // movaps 0x20(%rsp),%xmm3 .byte 68,15,89,235 // mulps %xmm3,%xmm13 .byte 69,15,88,232 // addps %xmm8,%xmm13 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 68,15,92,250 // subps %xmm2,%xmm15 .byte 68,15,89,251 // mulps %xmm3,%xmm15 .byte 68,15,40,195 // movaps %xmm3,%xmm8 .byte 68,15,88,250 // addps %xmm2,%xmm15 .byte 68,15,92,233 // subps %xmm1,%xmm13 .byte 15,40,84,36,144 // movaps -0x70(%rsp),%xmm2 .byte 68,15,89,234 // mulps %xmm2,%xmm13 .byte 68,15,88,233 // addps %xmm1,%xmm13 .byte 65,15,40,205 // movaps %xmm13,%xmm1 .byte 15,92,240 // subps %xmm0,%xmm6 .byte 15,89,242 // mulps %xmm2,%xmm6 .byte 15,88,240 // addps %xmm0,%xmm6 .byte 68,15,92,252 // subps %xmm4,%xmm15 .byte 68,15,89,250 // mulps %xmm2,%xmm15 .byte 68,15,88,252 // addps %xmm4,%xmm15 .byte 15,91,68,36,208 // cvtdq2ps -0x30(%rsp),%xmm0 .byte 15,40,84,36,240 // movaps -0x10(%rsp),%xmm2 .byte 15,92,208 // subps %xmm0,%xmm2 .byte 15,41,84,36,240 // movaps %xmm2,-0x10(%rsp) .byte 65,15,92,203 // subps %xmm11,%xmm1 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 65,15,88,203 // addps %xmm11,%xmm1 .byte 15,41,76,36,208 // movaps %xmm1,-0x30(%rsp) .byte 65,15,92,242 // subps %xmm10,%xmm6 .byte 15,89,242 // mulps %xmm2,%xmm6 .byte 65,15,88,242 // addps %xmm10,%xmm6 .byte 15,41,116,36,192 // movaps %xmm6,-0x40(%rsp) .byte 69,15,92,252 // subps %xmm12,%xmm15 .byte 68,15,89,250 // mulps %xmm2,%xmm15 .byte 69,15,88,252 // addps %xmm12,%xmm15 .byte 243,15,91,68,36,176 // cvttps2dq -0x50(%rsp),%xmm0 .byte 102,15,127,68,36,176 // movdqa %xmm0,-0x50(%rsp) .byte 102,68,15,254,240 // paddd %xmm0,%xmm14 .byte 102,15,111,28,36 // movdqa (%rsp),%xmm3 .byte 102,65,15,254,222 // paddd %xmm14,%xmm3 .byte 102,68,15,111,92,36,160 // movdqa -0x60(%rsp),%xmm11 .byte 102,65,15,111,195 // movdqa %xmm11,%xmm0 .byte 102,15,254,195 // paddd %xmm3,%xmm0 .byte 102,15,112,200,245 // pshufd $0xf5,%xmm0,%xmm1 .byte 102,15,111,21,159,149,0,0 // movdqa 0x959f(%rip),%xmm2 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,15,244,194 // pmuludq %xmm2,%xmm0 .byte 102,15,244,202 // pmuludq %xmm2,%xmm1 .byte 102,68,15,111,234 // movdqa %xmm2,%xmm13 .byte 102,15,112,201,232 // pshufd $0xe8,%xmm1,%xmm1 .byte 102,15,112,208,232 // pshufd $0xe8,%xmm0,%xmm2 .byte 102,15,98,209 // punpckldq %xmm1,%xmm2 .byte 102,65,15,126,192 // movd %xmm0,%r8d .byte 102,15,112,194,229 // pshufd $0xe5,%xmm2,%xmm0 .byte 102,65,15,126,193 // movd %xmm0,%r9d .byte 102,15,112,194,78 // pshufd $0x4e,%xmm2,%xmm0 .byte 102,65,15,126,194 // movd %xmm0,%r10d .byte 102,15,112,194,231 // pshufd $0xe7,%xmm2,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 243,15,16,4,131 // movss (%rbx,%rax,4),%xmm0 .byte 243,66,15,16,36,147 // movss (%rbx,%r10,4),%xmm4 .byte 15,20,224 // unpcklps %xmm0,%xmm4 .byte 243,66,15,16,4,139 // movss (%rbx,%r9,4),%xmm0 .byte 243,66,15,16,12,131 // movss (%rbx,%r8,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 102,15,20,204 // unpcklpd %xmm4,%xmm1 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,118,255 // pcmpeqd %xmm7,%xmm7 .byte 102,15,250,199 // psubd %xmm7,%xmm0 .byte 102,15,112,224,78 // pshufd $0x4e,%xmm0,%xmm4 .byte 102,73,15,126,224 // movq %xmm4,%r8 .byte 102,72,15,126,192 // movq %xmm0,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,36,131 // movss (%rbx,%rax,4),%xmm4 .byte 243,66,15,16,4,139 // movss (%rbx,%r9,4),%xmm0 .byte 15,20,196 // unpcklps %xmm4,%xmm0 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,36,131 // movss (%rbx,%r8,4),%xmm4 .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 15,20,236 // unpcklps %xmm4,%xmm5 .byte 102,15,20,197 // unpcklpd %xmm5,%xmm0 .byte 102,65,15,254,209 // paddd %xmm9,%xmm2 .byte 102,15,112,226,78 // pshufd $0x4e,%xmm2,%xmm4 .byte 102,73,15,126,224 // movq %xmm4,%r8 .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,36,131 // movss (%rbx,%rax,4),%xmm4 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 15,20,212 // unpcklps %xmm4,%xmm2 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,36,131 // movss (%rbx,%r8,4),%xmm4 .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 15,20,236 // unpcklps %xmm4,%xmm5 .byte 102,15,20,213 // unpcklpd %xmm5,%xmm2 .byte 102,68,15,111,84,36,224 // movdqa -0x20(%rsp),%xmm10 .byte 102,65,15,254,218 // paddd %xmm10,%xmm3 .byte 102,15,112,227,245 // pshufd $0xf5,%xmm3,%xmm4 .byte 102,65,15,244,221 // pmuludq %xmm13,%xmm3 .byte 102,65,15,244,229 // pmuludq %xmm13,%xmm4 .byte 102,15,112,236,232 // pshufd $0xe8,%xmm4,%xmm5 .byte 102,15,112,227,232 // pshufd $0xe8,%xmm3,%xmm4 .byte 102,15,98,229 // punpckldq %xmm5,%xmm4 .byte 102,65,15,126,216 // movd %xmm3,%r8d .byte 102,15,112,220,229 // pshufd $0xe5,%xmm4,%xmm3 .byte 102,65,15,126,217 // movd %xmm3,%r9d .byte 102,15,112,220,78 // pshufd $0x4e,%xmm4,%xmm3 .byte 102,65,15,126,218 // movd %xmm3,%r10d .byte 102,15,112,220,231 // pshufd $0xe7,%xmm4,%xmm3 .byte 102,15,126,216 // movd %xmm3,%eax .byte 243,15,16,28,131 // movss (%rbx,%rax,4),%xmm3 .byte 243,66,15,16,44,147 // movss (%rbx,%r10,4),%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 243,66,15,16,52,139 // movss (%rbx,%r9,4),%xmm6 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 15,20,222 // unpcklps %xmm6,%xmm3 .byte 102,15,20,221 // unpcklpd %xmm5,%xmm3 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,250,239 // psubd %xmm7,%xmm5 .byte 102,69,15,118,228 // pcmpeqd %xmm12,%xmm12 .byte 102,15,112,245,78 // pshufd $0x4e,%xmm5,%xmm6 .byte 102,73,15,126,240 // movq %xmm6,%r8 .byte 102,72,15,126,232 // movq %xmm5,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 243,66,15,16,44,139 // movss (%rbx,%r9,4),%xmm5 .byte 15,20,238 // unpcklps %xmm6,%xmm5 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,52,131 // movss (%rbx,%r8,4),%xmm6 .byte 243,15,16,60,131 // movss (%rbx,%rax,4),%xmm7 .byte 15,20,254 // unpcklps %xmm6,%xmm7 .byte 102,15,20,239 // unpcklpd %xmm7,%xmm5 .byte 102,65,15,254,225 // paddd %xmm9,%xmm4 .byte 102,15,112,244,78 // pshufd $0x4e,%xmm4,%xmm6 .byte 102,73,15,126,240 // movq %xmm6,%r8 .byte 102,72,15,126,224 // movq %xmm4,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,36,131 // movss (%rbx,%rax,4),%xmm4 .byte 243,66,15,16,60,139 // movss (%rbx,%r9,4),%xmm7 .byte 15,20,252 // unpcklps %xmm4,%xmm7 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,36,131 // movss (%rbx,%r8,4),%xmm4 .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 15,20,244 // unpcklps %xmm4,%xmm6 .byte 102,15,20,254 // unpcklpd %xmm6,%xmm7 .byte 15,92,217 // subps %xmm1,%xmm3 .byte 65,15,89,216 // mulps %xmm8,%xmm3 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 15,92,232 // subps %xmm0,%xmm5 .byte 65,15,89,232 // mulps %xmm8,%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,92,250 // subps %xmm2,%xmm7 .byte 65,15,89,248 // mulps %xmm8,%xmm7 .byte 15,88,250 // addps %xmm2,%xmm7 .byte 102,68,15,254,116,36,16 // paddd 0x10(%rsp),%xmm14 .byte 102,65,15,111,206 // movdqa %xmm14,%xmm1 .byte 102,65,15,254,203 // paddd %xmm11,%xmm1 .byte 102,15,112,193,245 // pshufd $0xf5,%xmm1,%xmm0 .byte 102,65,15,244,205 // pmuludq %xmm13,%xmm1 .byte 102,65,15,244,197 // pmuludq %xmm13,%xmm0 .byte 102,15,112,208,232 // pshufd $0xe8,%xmm0,%xmm2 .byte 102,15,112,193,232 // pshufd $0xe8,%xmm1,%xmm0 .byte 102,15,98,194 // punpckldq %xmm2,%xmm0 .byte 102,65,15,126,200 // movd %xmm1,%r8d .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,65,15,126,201 // movd %xmm1,%r9d .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,65,15,126,202 // movd %xmm1,%r10d .byte 102,15,112,200,231 // pshufd $0xe7,%xmm0,%xmm1 .byte 102,15,126,200 // movd %xmm1,%eax .byte 243,15,16,12,131 // movss (%rbx,%rax,4),%xmm1 .byte 243,66,15,16,36,147 // movss (%rbx,%r10,4),%xmm4 .byte 15,20,225 // unpcklps %xmm1,%xmm4 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 243,70,15,16,28,131 // movss (%rbx,%r8,4),%xmm11 .byte 68,15,20,217 // unpcklps %xmm1,%xmm11 .byte 102,68,15,20,220 // unpcklpd %xmm4,%xmm11 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,65,15,250,204 // psubd %xmm12,%xmm1 .byte 102,15,112,225,78 // pshufd $0x4e,%xmm1,%xmm4 .byte 102,73,15,126,224 // movq %xmm4,%r8 .byte 102,72,15,126,200 // movq %xmm1,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,36,131 // movss (%rbx,%rax,4),%xmm4 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 15,20,204 // unpcklps %xmm4,%xmm1 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,36,131 // movss (%rbx,%r8,4),%xmm4 .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 15,20,244 // unpcklps %xmm4,%xmm6 .byte 102,15,20,206 // unpcklpd %xmm6,%xmm1 .byte 102,65,15,254,193 // paddd %xmm9,%xmm0 .byte 102,15,112,224,78 // pshufd $0x4e,%xmm0,%xmm4 .byte 102,73,15,126,224 // movq %xmm4,%r8 .byte 102,72,15,126,192 // movq %xmm0,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,36,131 // movss (%rbx,%rax,4),%xmm4 .byte 243,66,15,16,4,139 // movss (%rbx,%r9,4),%xmm0 .byte 15,20,196 // unpcklps %xmm4,%xmm0 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,36,131 // movss (%rbx,%r8,4),%xmm4 .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 15,20,244 // unpcklps %xmm4,%xmm6 .byte 102,15,20,198 // unpcklpd %xmm6,%xmm0 .byte 102,69,15,254,242 // paddd %xmm10,%xmm14 .byte 102,69,15,111,226 // movdqa %xmm10,%xmm12 .byte 102,65,15,112,230,245 // pshufd $0xf5,%xmm14,%xmm4 .byte 102,69,15,244,245 // pmuludq %xmm13,%xmm14 .byte 102,65,15,244,229 // pmuludq %xmm13,%xmm4 .byte 102,15,112,244,232 // pshufd $0xe8,%xmm4,%xmm6 .byte 102,65,15,112,230,232 // pshufd $0xe8,%xmm14,%xmm4 .byte 102,15,98,230 // punpckldq %xmm6,%xmm4 .byte 102,69,15,126,240 // movd %xmm14,%r8d .byte 102,15,112,244,229 // pshufd $0xe5,%xmm4,%xmm6 .byte 102,65,15,126,241 // movd %xmm6,%r9d .byte 102,15,112,244,78 // pshufd $0x4e,%xmm4,%xmm6 .byte 102,65,15,126,242 // movd %xmm6,%r10d .byte 102,15,112,244,231 // pshufd $0xe7,%xmm4,%xmm6 .byte 102,15,126,240 // movd %xmm6,%eax .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 15,20,214 // unpcklps %xmm6,%xmm2 .byte 243,66,15,16,52,139 // movss (%rbx,%r9,4),%xmm6 .byte 243,70,15,16,44,131 // movss (%rbx,%r8,4),%xmm13 .byte 68,15,20,238 // unpcklps %xmm6,%xmm13 .byte 102,68,15,20,234 // unpcklpd %xmm2,%xmm13 .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 102,15,250,21,59,146,0,0 // psubd 0x923b(%rip),%xmm2 # 2b6d0 <_sk_srcover_rgba_8888_sse2_lowp+0x10fc> .byte 102,15,112,242,78 // pshufd $0x4e,%xmm2,%xmm6 .byte 102,73,15,126,240 // movq %xmm6,%r8 .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,20,131 // movss (%rbx,%rax,4),%xmm2 .byte 243,70,15,16,20,139 // movss (%rbx,%r9,4),%xmm10 .byte 68,15,20,210 // unpcklps %xmm2,%xmm10 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 15,20,242 // unpcklps %xmm2,%xmm6 .byte 102,68,15,20,214 // unpcklpd %xmm6,%xmm10 .byte 102,65,15,254,225 // paddd %xmm9,%xmm4 .byte 102,15,112,212,78 // pshufd $0x4e,%xmm4,%xmm2 .byte 102,73,15,126,208 // movq %xmm2,%r8 .byte 102,72,15,126,224 // movq %xmm4,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,20,131 // movss (%rbx,%rax,4),%xmm2 .byte 243,70,15,16,12,139 // movss (%rbx,%r9,4),%xmm9 .byte 68,15,20,202 // unpcklps %xmm2,%xmm9 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,20,131 // movss (%rbx,%r8,4),%xmm2 .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 15,20,242 // unpcklps %xmm2,%xmm6 .byte 102,68,15,20,206 // unpcklpd %xmm6,%xmm9 .byte 69,15,92,235 // subps %xmm11,%xmm13 .byte 69,15,89,232 // mulps %xmm8,%xmm13 .byte 69,15,88,235 // addps %xmm11,%xmm13 .byte 68,15,92,209 // subps %xmm1,%xmm10 .byte 69,15,89,208 // mulps %xmm8,%xmm10 .byte 68,15,88,209 // addps %xmm1,%xmm10 .byte 68,15,92,200 // subps %xmm0,%xmm9 .byte 69,15,89,200 // mulps %xmm8,%xmm9 .byte 69,15,40,216 // movaps %xmm8,%xmm11 .byte 68,15,88,200 // addps %xmm0,%xmm9 .byte 68,15,92,235 // subps %xmm3,%xmm13 .byte 15,40,68,36,144 // movaps -0x70(%rsp),%xmm0 .byte 68,15,89,232 // mulps %xmm0,%xmm13 .byte 68,15,88,235 // addps %xmm3,%xmm13 .byte 68,15,92,213 // subps %xmm5,%xmm10 .byte 68,15,89,208 // mulps %xmm0,%xmm10 .byte 68,15,88,213 // addps %xmm5,%xmm10 .byte 68,15,92,207 // subps %xmm7,%xmm9 .byte 68,15,89,200 // mulps %xmm0,%xmm9 .byte 68,15,88,207 // addps %xmm7,%xmm9 .byte 102,15,111,68,36,128 // movdqa -0x80(%rsp),%xmm0 .byte 102,15,254,68,36,176 // paddd -0x50(%rsp),%xmm0 .byte 102,15,127,68,36,128 // movdqa %xmm0,-0x80(%rsp) .byte 102,15,111,12,36 // movdqa (%rsp),%xmm1 .byte 102,15,254,200 // paddd %xmm0,%xmm1 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,111,225 // movdqa %xmm1,%xmm4 .byte 102,68,15,111,116,36,160 // movdqa -0x60(%rsp),%xmm14 .byte 102,65,15,254,198 // paddd %xmm14,%xmm0 .byte 102,15,112,200,245 // pshufd $0xf5,%xmm0,%xmm1 .byte 102,68,15,111,5,26,145,0,0 // movdqa 0x911a(%rip),%xmm8 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,65,15,244,192 // pmuludq %xmm8,%xmm0 .byte 102,65,15,244,200 // pmuludq %xmm8,%xmm1 .byte 102,65,15,111,240 // movdqa %xmm8,%xmm6 .byte 102,15,112,201,232 // pshufd $0xe8,%xmm1,%xmm1 .byte 102,15,112,208,232 // pshufd $0xe8,%xmm0,%xmm2 .byte 102,15,98,209 // punpckldq %xmm1,%xmm2 .byte 102,65,15,126,192 // movd %xmm0,%r8d .byte 102,15,112,194,229 // pshufd $0xe5,%xmm2,%xmm0 .byte 102,65,15,126,193 // movd %xmm0,%r9d .byte 102,15,112,194,78 // pshufd $0x4e,%xmm2,%xmm0 .byte 102,65,15,126,194 // movd %xmm0,%r10d .byte 102,15,112,194,231 // pshufd $0xe7,%xmm2,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 243,15,16,4,131 // movss (%rbx,%rax,4),%xmm0 .byte 243,66,15,16,12,147 // movss (%rbx,%r10,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 .byte 243,66,15,16,4,131 // movss (%rbx,%r8,4),%xmm0 .byte 15,20,195 // unpcklps %xmm3,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,118,255 // pcmpeqd %xmm7,%xmm7 .byte 102,15,250,207 // psubd %xmm7,%xmm1 .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,73,15,126,216 // movq %xmm3,%r8 .byte 102,72,15,126,200 // movq %xmm1,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,28,131 // movss (%rbx,%rax,4),%xmm3 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 15,20,203 // unpcklps %xmm3,%xmm1 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 102,15,20,205 // unpcklpd %xmm5,%xmm1 .byte 102,68,15,111,5,232,137,0,0 // movdqa 0x89e8(%rip),%xmm8 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,65,15,254,208 // paddd %xmm8,%xmm2 .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,73,15,126,216 // movq %xmm3,%r8 .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,28,131 // movss (%rbx,%rax,4),%xmm3 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 15,20,211 // unpcklps %xmm3,%xmm2 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 102,15,20,213 // unpcklpd %xmm5,%xmm2 .byte 102,65,15,254,228 // paddd %xmm12,%xmm4 .byte 102,15,112,220,245 // pshufd $0xf5,%xmm4,%xmm3 .byte 102,15,244,230 // pmuludq %xmm6,%xmm4 .byte 102,15,244,222 // pmuludq %xmm6,%xmm3 .byte 102,15,112,235,232 // pshufd $0xe8,%xmm3,%xmm5 .byte 102,15,112,220,232 // pshufd $0xe8,%xmm4,%xmm3 .byte 102,15,98,221 // punpckldq %xmm5,%xmm3 .byte 102,65,15,126,224 // movd %xmm4,%r8d .byte 102,15,112,235,229 // pshufd $0xe5,%xmm3,%xmm5 .byte 102,65,15,126,233 // movd %xmm5,%r9d .byte 102,15,112,235,78 // pshufd $0x4e,%xmm3,%xmm5 .byte 102,65,15,126,234 // movd %xmm5,%r10d .byte 102,15,112,235,231 // pshufd $0xe7,%xmm3,%xmm5 .byte 102,15,126,232 // movd %xmm5,%eax .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 243,66,15,16,52,147 // movss (%rbx,%r10,4),%xmm6 .byte 15,20,245 // unpcklps %xmm5,%xmm6 .byte 243,66,15,16,44,139 // movss (%rbx,%r9,4),%xmm5 .byte 243,70,15,16,36,131 // movss (%rbx,%r8,4),%xmm12 .byte 68,15,20,229 // unpcklps %xmm5,%xmm12 .byte 102,68,15,20,230 // unpcklpd %xmm6,%xmm12 .byte 102,15,111,235 // movdqa %xmm3,%xmm5 .byte 102,15,250,239 // psubd %xmm7,%xmm5 .byte 102,15,112,245,78 // pshufd $0x4e,%xmm5,%xmm6 .byte 102,73,15,126,240 // movq %xmm6,%r8 .byte 102,72,15,126,232 // movq %xmm5,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,44,131 // movss (%rbx,%rax,4),%xmm5 .byte 243,66,15,16,60,139 // movss (%rbx,%r9,4),%xmm7 .byte 15,20,253 // unpcklps %xmm5,%xmm7 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,44,131 // movss (%rbx,%r8,4),%xmm5 .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 15,20,245 // unpcklps %xmm5,%xmm6 .byte 102,15,20,254 // unpcklpd %xmm6,%xmm7 .byte 102,65,15,254,216 // paddd %xmm8,%xmm3 .byte 102,15,112,235,78 // pshufd $0x4e,%xmm3,%xmm5 .byte 102,73,15,126,232 // movq %xmm5,%r8 .byte 102,72,15,126,216 // movq %xmm3,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,28,131 // movss (%rbx,%rax,4),%xmm3 .byte 243,66,15,16,44,139 // movss (%rbx,%r9,4),%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,28,131 // movss (%rbx,%r8,4),%xmm3 .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 15,20,243 // unpcklps %xmm3,%xmm6 .byte 102,15,20,238 // unpcklpd %xmm6,%xmm5 .byte 68,15,92,224 // subps %xmm0,%xmm12 .byte 69,15,89,227 // mulps %xmm11,%xmm12 .byte 68,15,88,224 // addps %xmm0,%xmm12 .byte 15,92,249 // subps %xmm1,%xmm7 .byte 65,15,89,251 // mulps %xmm11,%xmm7 .byte 15,88,249 // addps %xmm1,%xmm7 .byte 15,92,234 // subps %xmm2,%xmm5 .byte 65,15,89,235 // mulps %xmm11,%xmm5 .byte 15,88,234 // addps %xmm2,%xmm5 .byte 102,15,111,68,36,128 // movdqa -0x80(%rsp),%xmm0 .byte 102,15,254,68,36,16 // paddd 0x10(%rsp),%xmm0 .byte 102,65,15,111,214 // movdqa %xmm14,%xmm2 .byte 102,15,254,208 // paddd %xmm0,%xmm2 .byte 102,15,111,240 // movdqa %xmm0,%xmm6 .byte 102,15,112,194,245 // pshufd $0xf5,%xmm2,%xmm0 .byte 102,15,111,37,244,142,0,0 // movdqa 0x8ef4(%rip),%xmm4 # 2b6c0 <_sk_srcover_rgba_8888_sse2_lowp+0x10ec> .byte 102,15,244,212 // pmuludq %xmm4,%xmm2 .byte 102,15,244,196 // pmuludq %xmm4,%xmm0 .byte 102,15,112,200,232 // pshufd $0xe8,%xmm0,%xmm1 .byte 102,15,112,194,232 // pshufd $0xe8,%xmm2,%xmm0 .byte 102,15,98,193 // punpckldq %xmm1,%xmm0 .byte 102,65,15,126,208 // movd %xmm2,%r8d .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,65,15,126,201 // movd %xmm1,%r9d .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,65,15,126,202 // movd %xmm1,%r10d .byte 102,15,112,200,231 // pshufd $0xe7,%xmm0,%xmm1 .byte 102,15,126,200 // movd %xmm1,%eax .byte 243,15,16,12,131 // movss (%rbx,%rax,4),%xmm1 .byte 243,66,15,16,20,147 // movss (%rbx,%r10,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 243,70,15,16,4,131 // movss (%rbx,%r8,4),%xmm8 .byte 68,15,20,193 // unpcklps %xmm1,%xmm8 .byte 102,68,15,20,194 // unpcklpd %xmm2,%xmm8 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,250,13,157,142,0,0 // psubd 0x8e9d(%rip),%xmm1 # 2b6d0 <_sk_srcover_rgba_8888_sse2_lowp+0x10fc> .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,73,15,126,208 // movq %xmm2,%r8 .byte 102,72,15,126,200 // movq %xmm1,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,12,131 // movss (%rbx,%rax,4),%xmm1 .byte 243,70,15,16,52,139 // movss (%rbx,%r9,4),%xmm14 .byte 68,15,20,241 // unpcklps %xmm1,%xmm14 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,12,131 // movss (%rbx,%r8,4),%xmm1 .byte 243,15,16,20,131 // movss (%rbx,%rax,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 102,68,15,20,242 // unpcklpd %xmm2,%xmm14 .byte 102,15,254,5,198,135,0,0 // paddd 0x87c6(%rip),%xmm0 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,73,15,126,200 // movq %xmm1,%r8 .byte 102,72,15,126,192 // movq %xmm0,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,4,131 // movss (%rbx,%rax,4),%xmm0 .byte 243,66,15,16,28,139 // movss (%rbx,%r9,4),%xmm3 .byte 15,20,216 // unpcklps %xmm0,%xmm3 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,4,131 // movss (%rbx,%r8,4),%xmm0 .byte 243,15,16,12,131 // movss (%rbx,%rax,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 102,15,20,217 // unpcklpd %xmm1,%xmm3 .byte 102,15,111,206 // movdqa %xmm6,%xmm1 .byte 102,15,254,76,36,224 // paddd -0x20(%rsp),%xmm1 .byte 102,15,112,193,245 // pshufd $0xf5,%xmm1,%xmm0 .byte 102,15,244,204 // pmuludq %xmm4,%xmm1 .byte 102,15,244,196 // pmuludq %xmm4,%xmm0 .byte 102,15,112,192,232 // pshufd $0xe8,%xmm0,%xmm0 .byte 102,15,112,209,232 // pshufd $0xe8,%xmm1,%xmm2 .byte 102,15,98,208 // punpckldq %xmm0,%xmm2 .byte 102,65,15,126,200 // movd %xmm1,%r8d .byte 102,15,112,194,229 // pshufd $0xe5,%xmm2,%xmm0 .byte 102,65,15,126,193 // movd %xmm0,%r9d .byte 102,15,112,194,78 // pshufd $0x4e,%xmm2,%xmm0 .byte 102,65,15,126,194 // movd %xmm0,%r10d .byte 102,15,112,194,231 // pshufd $0xe7,%xmm2,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 243,15,16,4,131 // movss (%rbx,%rax,4),%xmm0 .byte 243,66,15,16,12,147 // movss (%rbx,%r10,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 243,66,15,16,52,139 // movss (%rbx,%r9,4),%xmm6 .byte 243,66,15,16,4,131 // movss (%rbx,%r8,4),%xmm0 .byte 15,20,198 // unpcklps %xmm6,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,250,13,165,141,0,0 // psubd 0x8da5(%rip),%xmm1 # 2b6d0 <_sk_srcover_rgba_8888_sse2_lowp+0x10fc> .byte 102,15,112,241,78 // pshufd $0x4e,%xmm1,%xmm6 .byte 102,73,15,126,240 // movq %xmm6,%r8 .byte 102,72,15,126,200 // movq %xmm1,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 243,66,15,16,12,139 // movss (%rbx,%r9,4),%xmm1 .byte 15,20,206 // unpcklps %xmm6,%xmm1 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,52,131 // movss (%rbx,%r8,4),%xmm6 .byte 243,15,16,36,131 // movss (%rbx,%rax,4),%xmm4 .byte 15,20,230 // unpcklps %xmm6,%xmm4 .byte 102,15,20,204 // unpcklpd %xmm4,%xmm1 .byte 102,15,254,21,208,134,0,0 // paddd 0x86d0(%rip),%xmm2 # 2b040 <_sk_srcover_rgba_8888_sse2_lowp+0xa6c> .byte 102,15,112,226,78 // pshufd $0x4e,%xmm2,%xmm4 .byte 102,73,15,126,224 // movq %xmm4,%r8 .byte 102,72,15,126,208 // movq %xmm2,%rax .byte 65,137,193 // mov %eax,%r9d .byte 72,193,232,32 // shr $0x20,%rax .byte 243,15,16,36,131 // movss (%rbx,%rax,4),%xmm4 .byte 243,66,15,16,20,139 // movss (%rbx,%r9,4),%xmm2 .byte 15,20,212 // unpcklps %xmm4,%xmm2 .byte 68,137,192 // mov %r8d,%eax .byte 73,193,232,32 // shr $0x20,%r8 .byte 243,66,15,16,36,131 // movss (%rbx,%r8,4),%xmm4 .byte 243,15,16,52,131 // movss (%rbx,%rax,4),%xmm6 .byte 15,20,244 // unpcklps %xmm4,%xmm6 .byte 102,15,20,214 // unpcklpd %xmm6,%xmm2 .byte 65,15,92,192 // subps %xmm8,%xmm0 .byte 65,15,89,195 // mulps %xmm11,%xmm0 .byte 65,15,88,192 // addps %xmm8,%xmm0 .byte 65,15,92,206 // subps %xmm14,%xmm1 .byte 65,15,89,203 // mulps %xmm11,%xmm1 .byte 65,15,88,206 // addps %xmm14,%xmm1 .byte 15,92,211 // subps %xmm3,%xmm2 .byte 65,15,89,211 // mulps %xmm11,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 65,15,92,196 // subps %xmm12,%xmm0 .byte 15,40,92,36,144 // movaps -0x70(%rsp),%xmm3 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 65,15,88,196 // addps %xmm12,%xmm0 .byte 15,92,207 // subps %xmm7,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,92,213 // subps %xmm5,%xmm2 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 65,15,92,197 // subps %xmm13,%xmm0 .byte 15,40,92,36,240 // movaps -0x10(%rsp),%xmm3 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 65,15,88,197 // addps %xmm13,%xmm0 .byte 65,15,92,202 // subps %xmm10,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 65,15,88,202 // addps %xmm10,%xmm1 .byte 65,15,92,209 // subps %xmm9,%xmm2 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 65,15,88,209 // addps %xmm9,%xmm2 .byte 15,91,92,36,48 // cvtdq2ps 0x30(%rsp),%xmm3 .byte 15,40,100,36,80 // movaps 0x50(%rsp),%xmm4 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,40,92,36,208 // movaps -0x30(%rsp),%xmm3 .byte 15,92,195 // subps %xmm3,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 15,40,92,36,192 // movaps -0x40(%rsp),%xmm3 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 65,15,92,215 // subps %xmm15,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 65,15,88,215 // addps %xmm15,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,188,133,0,0 // movaps 0x85bc(%rip),%xmm3 # 2b010 <_sk_srcover_rgba_8888_sse2_lowp+0xa3c> .byte 15,40,100,36,96 // movaps 0x60(%rsp),%xmm4 .byte 15,40,108,36,112 // movaps 0x70(%rsp),%xmm5 .byte 15,40,180,36,128,0,0,0 // movaps 0x80(%rsp),%xmm6 .byte 15,40,188,36,144,0,0,0 // movaps 0x90(%rsp),%xmm7 .byte 72,129,196,160,0,0,0 // add $0xa0,%rsp .byte 91 // pop %rbx .byte 255,224 // jmpq *%rax HIDDEN _sk_start_pipeline_hsw_lowp .globl _sk_start_pipeline_hsw_lowp FUNCTION(_sk_start_pipeline_hsw_lowp) _sk_start_pipeline_hsw_lowp: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,131,236,24 // sub $0x18,%rsp .byte 73,137,215 // mov %rdx,%r15 .byte 72,137,243 // mov %rsi,%rbx .byte 72,137,125,208 // mov %rdi,-0x30(%rbp) .byte 76,137,198 // mov %r8,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,197 // mov %rax,%r13 .byte 73,137,246 // mov %rsi,%r14 .byte 72,137,77,192 // mov %rcx,-0x40(%rbp) .byte 72,57,203 // cmp %rcx,%rbx .byte 15,131,151,0,0,0 // jae 22b42 <_sk_start_pipeline_hsw_lowp+0xca> .byte 72,139,69,208 // mov -0x30(%rbp),%rax .byte 72,141,64,16 // lea 0x10(%rax),%rax .byte 72,137,69,200 // mov %rax,-0x38(%rbp) .byte 72,139,85,208 // mov -0x30(%rbp),%rdx .byte 76,57,125,200 // cmp %r15,-0x38(%rbp) .byte 119,67 // ja 22b04 <_sk_start_pipeline_hsw_lowp+0x8c> .byte 76,139,101,208 // mov -0x30(%rbp),%r12 .byte 49,255 // xor %edi,%edi .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 197,204,87,246 // vxorps %ymm6,%ymm6,%ymm6 .byte 197,196,87,255 // vxorps %ymm7,%ymm7,%ymm7 .byte 76,137,246 // mov %r14,%rsi .byte 76,137,226 // mov %r12,%rdx .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 73,141,84,36,16 // lea 0x10(%r12),%rdx .byte 73,131,196,32 // add $0x20,%r12 .byte 77,57,252 // cmp %r15,%r12 .byte 73,137,212 // mov %rdx,%r12 .byte 118,193 // jbe 22ac5 <_sk_start_pipeline_hsw_lowp+0x4d> .byte 76,137,255 // mov %r15,%rdi .byte 72,41,215 // sub %rdx,%rdi .byte 116,41 // je 22b35 <_sk_start_pipeline_hsw_lowp+0xbd> .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 197,220,87,228 // vxorps %ymm4,%ymm4,%ymm4 .byte 197,212,87,237 // vxorps %ymm5,%ymm5,%ymm5 .byte 197,204,87,246 // vxorps %ymm6,%ymm6,%ymm6 .byte 197,196,87,255 // vxorps %ymm7,%ymm7,%ymm7 .byte 76,137,246 // mov %r14,%rsi .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 72,255,195 // inc %rbx .byte 72,59,93,192 // cmp -0x40(%rbp),%rbx .byte 15,133,117,255,255,255 // jne 22ab7 <_sk_start_pipeline_hsw_lowp+0x3f> .byte 72,131,196,24 // add $0x18,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 197,248,119 // vzeroupper .byte 195 // retq HIDDEN _sk_just_return_hsw_lowp .globl _sk_just_return_hsw_lowp FUNCTION(_sk_just_return_hsw_lowp) _sk_just_return_hsw_lowp: .byte 195 // retq HIDDEN _sk_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 68,15,182,64,16 // movzbl 0x10(%rax),%r8d .byte 196,193,121,110,192 // vmovd %r8d,%xmm0 .byte 196,226,125,121,192 // vpbroadcastw %xmm0,%ymm0 .byte 68,15,182,64,17 // movzbl 0x11(%rax),%r8d .byte 196,193,121,110,200 // vmovd %r8d,%xmm1 .byte 196,226,125,121,201 // vpbroadcastw %xmm1,%ymm1 .byte 68,15,182,64,18 // movzbl 0x12(%rax),%r8d .byte 196,193,121,110,208 // vmovd %r8d,%xmm2 .byte 196,226,125,121,210 // vpbroadcastw %xmm2,%ymm2 .byte 15,182,64,19 // movzbl 0x13(%rax),%eax .byte 197,249,110,216 // vmovd %eax,%xmm3 .byte 196,226,125,121,219 // vpbroadcastw %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,64,129,0,0 // vpbroadcastw 0x8140(%rip),%ymm3 # 2ace0 <_sk_srcover_rgba_8888_sse2_lowp+0x70c> .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,41,129,0,0 // vpbroadcastw 0x8129(%rip),%ymm0 # 2ace2 <_sk_srcover_rgba_8888_sse2_lowp+0x70e> .byte 197,253,111,200 // vmovdqa %ymm0,%ymm1 .byte 197,253,111,208 // vmovdqa %ymm0,%ymm2 .byte 197,253,111,216 // vmovdqa %ymm0,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_set_rgb_hsw_lowp .globl _sk_set_rgb_hsw_lowp FUNCTION(_sk_set_rgb_hsw_lowp) _sk_set_rgb_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,122,16,5,51,130,0,0 // vmovss 0x8233(%rip),%xmm8 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 197,250,16,21,91,130,0,0 // vmovss 0x825b(%rip),%xmm2 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .byte 197,250,16,0 // vmovss (%rax),%xmm0 .byte 196,226,57,153,194 // vfmadd132ss %xmm2,%xmm8,%xmm0 .byte 197,122,44,192 // vcvttss2si %xmm0,%r8d .byte 196,193,121,110,192 // vmovd %r8d,%xmm0 .byte 196,226,125,121,192 // vpbroadcastw %xmm0,%ymm0 .byte 197,250,16,72,4 // vmovss 0x4(%rax),%xmm1 .byte 196,226,57,153,202 // vfmadd132ss %xmm2,%xmm8,%xmm1 .byte 197,122,44,193 // vcvttss2si %xmm1,%r8d .byte 196,193,121,110,200 // vmovd %r8d,%xmm1 .byte 196,226,125,121,201 // vpbroadcastw %xmm1,%ymm1 .byte 196,226,57,153,80,8 // vfmadd132ss 0x8(%rax),%xmm8,%xmm2 .byte 197,250,44,194 // vcvttss2si %xmm2,%eax .byte 197,249,110,208 // vmovd %eax,%xmm2 .byte 196,226,125,121,210 // vpbroadcastw %xmm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_hsw_lowp .globl _sk_premul_hsw_lowp FUNCTION(_sk_premul_hsw_lowp) _sk_premul_hsw_lowp: .byte 197,229,213,192 // vpmullw %ymm0,%ymm3,%ymm0 .byte 196,98,125,121,5,184,128,0,0 // vpbroadcastw 0x80b8(%rip),%ymm8 # 2ace4 <_sk_srcover_rgba_8888_sse2_lowp+0x710> .byte 196,193,125,253,192 // vpaddw %ymm8,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,229,213,201 // vpmullw %ymm1,%ymm3,%ymm1 .byte 196,193,117,253,200 // vpaddw %ymm8,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,229,213,210 // vpmullw %ymm2,%ymm3,%ymm2 .byte 196,193,109,253,208 // vpaddw %ymm8,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_swap_rb_hsw_lowp .globl _sk_swap_rb_hsw_lowp FUNCTION(_sk_swap_rb_hsw_lowp) _sk_swap_rb_hsw_lowp: .byte 197,124,40,192 // vmovaps %ymm0,%ymm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,194 // vmovaps %ymm2,%ymm0 .byte 197,124,41,194 // vmovaps %ymm8,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_src_dst_hsw_lowp .globl _sk_move_src_dst_hsw_lowp FUNCTION(_sk_move_src_dst_hsw_lowp) _sk_move_src_dst_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,224 // vmovaps %ymm0,%ymm4 .byte 197,252,40,233 // vmovaps %ymm1,%ymm5 .byte 197,252,40,242 // vmovaps %ymm2,%ymm6 .byte 197,252,40,251 // vmovaps %ymm3,%ymm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_dst_src_hsw_lowp .globl _sk_move_dst_src_hsw_lowp FUNCTION(_sk_move_dst_src_hsw_lowp) _sk_move_dst_src_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,40,196 // vmovaps %ymm4,%ymm0 .byte 197,252,40,205 // vmovaps %ymm5,%ymm1 .byte 197,252,40,214 // vmovaps %ymm6,%ymm2 .byte 197,252,40,223 // vmovaps %ymm7,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_invert_hsw_lowp .globl _sk_invert_hsw_lowp FUNCTION(_sk_invert_hsw_lowp) _sk_invert_hsw_lowp: .byte 196,98,125,121,5,79,128,0,0 // vpbroadcastw 0x804f(%rip),%ymm8 # 2ace6 <_sk_srcover_rgba_8888_sse2_lowp+0x712> .byte 197,189,249,192 // vpsubw %ymm0,%ymm8,%ymm0 .byte 197,189,249,201 // vpsubw %ymm1,%ymm8,%ymm1 .byte 197,189,249,210 // vpsubw %ymm2,%ymm8,%ymm2 .byte 197,189,249,219 // vpsubw %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_clear_hsw_lowp .globl _sk_clear_hsw_lowp FUNCTION(_sk_clear_hsw_lowp) _sk_clear_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,252,87,192 // vxorps %ymm0,%ymm0,%ymm0 .byte 197,244,87,201 // vxorps %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 197,228,87,219 // vxorps %ymm3,%ymm3,%ymm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_srcatop_hsw_lowp .globl _sk_srcatop_hsw_lowp FUNCTION(_sk_srcatop_hsw_lowp) _sk_srcatop_hsw_lowp: .byte 197,197,213,192 // vpmullw %ymm0,%ymm7,%ymm0 .byte 196,98,125,121,5,28,128,0,0 // vpbroadcastw 0x801c(%rip),%ymm8 # 2ace8 <_sk_srcover_rgba_8888_sse2_lowp+0x714> .byte 197,189,249,219 // vpsubw %ymm3,%ymm8,%ymm3 .byte 197,101,213,204 // vpmullw %ymm4,%ymm3,%ymm9 .byte 196,193,125,253,192 // vpaddw %ymm8,%ymm0,%ymm0 .byte 197,181,253,192 // vpaddw %ymm0,%ymm9,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,197,213,201 // vpmullw %ymm1,%ymm7,%ymm1 .byte 197,101,213,205 // vpmullw %ymm5,%ymm3,%ymm9 .byte 196,193,117,253,200 // vpaddw %ymm8,%ymm1,%ymm1 .byte 197,181,253,201 // vpaddw %ymm1,%ymm9,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,197,213,210 // vpmullw %ymm2,%ymm7,%ymm2 .byte 197,229,213,222 // vpmullw %ymm6,%ymm3,%ymm3 .byte 196,193,109,253,208 // vpaddw %ymm8,%ymm2,%ymm2 .byte 197,229,253,210 // vpaddw %ymm2,%ymm3,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 196,193,69,213,216 // vpmullw %ymm8,%ymm7,%ymm3 .byte 196,193,101,253,216 // vpaddw %ymm8,%ymm3,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstatop_hsw_lowp .globl _sk_dstatop_hsw_lowp FUNCTION(_sk_dstatop_hsw_lowp) _sk_dstatop_hsw_lowp: .byte 197,93,213,195 // vpmullw %ymm3,%ymm4,%ymm8 .byte 196,98,125,121,13,188,127,0,0 // vpbroadcastw 0x7fbc(%rip),%ymm9 # 2acea <_sk_srcover_rgba_8888_sse2_lowp+0x716> .byte 197,53,249,215 // vpsubw %ymm7,%ymm9,%ymm10 .byte 197,173,213,192 // vpmullw %ymm0,%ymm10,%ymm0 .byte 196,65,61,253,193 // vpaddw %ymm9,%ymm8,%ymm8 .byte 196,193,125,253,192 // vpaddw %ymm8,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,85,213,195 // vpmullw %ymm3,%ymm5,%ymm8 .byte 197,173,213,201 // vpmullw %ymm1,%ymm10,%ymm1 .byte 196,65,61,253,193 // vpaddw %ymm9,%ymm8,%ymm8 .byte 196,193,117,253,200 // vpaddw %ymm8,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,77,213,195 // vpmullw %ymm3,%ymm6,%ymm8 .byte 197,173,213,210 // vpmullw %ymm2,%ymm10,%ymm2 .byte 196,65,61,253,193 // vpaddw %ymm9,%ymm8,%ymm8 .byte 196,193,109,253,208 // vpaddw %ymm8,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 196,193,101,213,217 // vpmullw %ymm9,%ymm3,%ymm3 .byte 196,193,101,253,217 // vpaddw %ymm9,%ymm3,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcin_hsw_lowp .globl _sk_srcin_hsw_lowp FUNCTION(_sk_srcin_hsw_lowp) _sk_srcin_hsw_lowp: .byte 197,197,213,192 // vpmullw %ymm0,%ymm7,%ymm0 .byte 196,98,125,121,5,89,127,0,0 // vpbroadcastw 0x7f59(%rip),%ymm8 # 2acec <_sk_srcover_rgba_8888_sse2_lowp+0x718> .byte 196,193,125,253,192 // vpaddw %ymm8,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,197,213,201 // vpmullw %ymm1,%ymm7,%ymm1 .byte 196,193,117,253,200 // vpaddw %ymm8,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,197,213,210 // vpmullw %ymm2,%ymm7,%ymm2 .byte 196,193,109,253,208 // vpaddw %ymm8,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,197,213,219 // vpmullw %ymm3,%ymm7,%ymm3 .byte 196,193,101,253,216 // vpaddw %ymm8,%ymm3,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstin_hsw_lowp .globl _sk_dstin_hsw_lowp FUNCTION(_sk_dstin_hsw_lowp) _sk_dstin_hsw_lowp: .byte 197,221,213,195 // vpmullw %ymm3,%ymm4,%ymm0 .byte 196,98,125,121,5,22,127,0,0 // vpbroadcastw 0x7f16(%rip),%ymm8 # 2acee <_sk_srcover_rgba_8888_sse2_lowp+0x71a> .byte 196,193,125,253,192 // vpaddw %ymm8,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,213,213,203 // vpmullw %ymm3,%ymm5,%ymm1 .byte 196,193,117,253,200 // vpaddw %ymm8,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,205,213,211 // vpmullw %ymm3,%ymm6,%ymm2 .byte 196,193,109,253,208 // vpaddw %ymm8,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,197,213,219 // vpmullw %ymm3,%ymm7,%ymm3 .byte 196,193,101,253,216 // vpaddw %ymm8,%ymm3,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcout_hsw_lowp .globl _sk_srcout_hsw_lowp FUNCTION(_sk_srcout_hsw_lowp) _sk_srcout_hsw_lowp: .byte 196,98,125,121,5,215,126,0,0 // vpbroadcastw 0x7ed7(%rip),%ymm8 # 2acf0 <_sk_srcover_rgba_8888_sse2_lowp+0x71c> .byte 197,61,249,207 // vpsubw %ymm7,%ymm8,%ymm9 .byte 197,181,213,192 // vpmullw %ymm0,%ymm9,%ymm0 .byte 196,193,125,253,192 // vpaddw %ymm8,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,181,213,201 // vpmullw %ymm1,%ymm9,%ymm1 .byte 196,193,117,253,200 // vpaddw %ymm8,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,181,213,210 // vpmullw %ymm2,%ymm9,%ymm2 .byte 196,193,109,253,208 // vpaddw %ymm8,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,181,213,219 // vpmullw %ymm3,%ymm9,%ymm3 .byte 196,193,101,253,216 // vpaddw %ymm8,%ymm3,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstout_hsw_lowp .globl _sk_dstout_hsw_lowp FUNCTION(_sk_dstout_hsw_lowp) _sk_dstout_hsw_lowp: .byte 196,98,125,121,5,144,126,0,0 // vpbroadcastw 0x7e90(%rip),%ymm8 # 2acf2 <_sk_srcover_rgba_8888_sse2_lowp+0x71e> .byte 197,189,249,219 // vpsubw %ymm3,%ymm8,%ymm3 .byte 197,229,213,196 // vpmullw %ymm4,%ymm3,%ymm0 .byte 196,193,125,253,192 // vpaddw %ymm8,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,229,213,205 // vpmullw %ymm5,%ymm3,%ymm1 .byte 196,193,117,253,200 // vpaddw %ymm8,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,229,213,214 // vpmullw %ymm6,%ymm3,%ymm2 .byte 196,193,109,253,208 // vpaddw %ymm8,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,229,213,223 // vpmullw %ymm7,%ymm3,%ymm3 .byte 196,193,101,253,216 // vpaddw %ymm8,%ymm3,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcover_hsw_lowp .globl _sk_srcover_hsw_lowp FUNCTION(_sk_srcover_hsw_lowp) _sk_srcover_hsw_lowp: .byte 196,98,125,121,5,73,126,0,0 // vpbroadcastw 0x7e49(%rip),%ymm8 # 2acf4 <_sk_srcover_rgba_8888_sse2_lowp+0x720> .byte 197,61,249,203 // vpsubw %ymm3,%ymm8,%ymm9 .byte 197,53,213,212 // vpmullw %ymm4,%ymm9,%ymm10 .byte 196,65,45,253,208 // vpaddw %ymm8,%ymm10,%ymm10 .byte 196,193,45,113,210,8 // vpsrlw $0x8,%ymm10,%ymm10 .byte 197,173,253,192 // vpaddw %ymm0,%ymm10,%ymm0 .byte 197,53,213,213 // vpmullw %ymm5,%ymm9,%ymm10 .byte 196,65,45,253,208 // vpaddw %ymm8,%ymm10,%ymm10 .byte 196,193,45,113,210,8 // vpsrlw $0x8,%ymm10,%ymm10 .byte 197,173,253,201 // vpaddw %ymm1,%ymm10,%ymm1 .byte 197,53,213,214 // vpmullw %ymm6,%ymm9,%ymm10 .byte 196,65,45,253,208 // vpaddw %ymm8,%ymm10,%ymm10 .byte 196,193,45,113,210,8 // vpsrlw $0x8,%ymm10,%ymm10 .byte 197,173,253,210 // vpaddw %ymm2,%ymm10,%ymm2 .byte 197,53,213,207 // vpmullw %ymm7,%ymm9,%ymm9 .byte 196,65,53,253,192 // vpaddw %ymm8,%ymm9,%ymm8 .byte 196,193,61,113,208,8 // vpsrlw $0x8,%ymm8,%ymm8 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstover_hsw_lowp .globl _sk_dstover_hsw_lowp FUNCTION(_sk_dstover_hsw_lowp) _sk_dstover_hsw_lowp: .byte 196,98,125,121,5,238,125,0,0 // vpbroadcastw 0x7dee(%rip),%ymm8 # 2acf6 <_sk_srcover_rgba_8888_sse2_lowp+0x722> .byte 197,61,249,207 // vpsubw %ymm7,%ymm8,%ymm9 .byte 197,181,213,192 // vpmullw %ymm0,%ymm9,%ymm0 .byte 196,193,125,253,192 // vpaddw %ymm8,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,253,253,196 // vpaddw %ymm4,%ymm0,%ymm0 .byte 197,181,213,201 // vpmullw %ymm1,%ymm9,%ymm1 .byte 196,193,117,253,200 // vpaddw %ymm8,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,245,253,205 // vpaddw %ymm5,%ymm1,%ymm1 .byte 197,181,213,210 // vpmullw %ymm2,%ymm9,%ymm2 .byte 196,193,109,253,208 // vpaddw %ymm8,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,237,253,214 // vpaddw %ymm6,%ymm2,%ymm2 .byte 197,181,213,219 // vpmullw %ymm3,%ymm9,%ymm3 .byte 196,193,101,253,216 // vpaddw %ymm8,%ymm3,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 197,229,253,223 // vpaddw %ymm7,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_modulate_hsw_lowp .globl _sk_modulate_hsw_lowp FUNCTION(_sk_modulate_hsw_lowp) _sk_modulate_hsw_lowp: .byte 197,221,213,192 // vpmullw %ymm0,%ymm4,%ymm0 .byte 196,98,125,121,5,147,125,0,0 // vpbroadcastw 0x7d93(%rip),%ymm8 # 2acf8 <_sk_srcover_rgba_8888_sse2_lowp+0x724> .byte 196,193,125,253,192 // vpaddw %ymm8,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,213,213,201 // vpmullw %ymm1,%ymm5,%ymm1 .byte 196,193,117,253,200 // vpaddw %ymm8,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,205,213,210 // vpmullw %ymm2,%ymm6,%ymm2 .byte 196,193,109,253,208 // vpaddw %ymm8,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,197,213,219 // vpmullw %ymm3,%ymm7,%ymm3 .byte 196,193,101,253,216 // vpaddw %ymm8,%ymm3,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_multiply_hsw_lowp .globl _sk_multiply_hsw_lowp FUNCTION(_sk_multiply_hsw_lowp) _sk_multiply_hsw_lowp: .byte 196,98,125,121,5,84,125,0,0 // vpbroadcastw 0x7d54(%rip),%ymm8 # 2acfa <_sk_srcover_rgba_8888_sse2_lowp+0x726> .byte 197,61,249,203 // vpsubw %ymm3,%ymm8,%ymm9 .byte 197,53,213,212 // vpmullw %ymm4,%ymm9,%ymm10 .byte 196,65,93,253,216 // vpaddw %ymm8,%ymm4,%ymm11 .byte 197,37,249,223 // vpsubw %ymm7,%ymm11,%ymm11 .byte 197,165,213,192 // vpmullw %ymm0,%ymm11,%ymm0 .byte 196,65,45,253,208 // vpaddw %ymm8,%ymm10,%ymm10 .byte 196,193,125,253,194 // vpaddw %ymm10,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,53,213,213 // vpmullw %ymm5,%ymm9,%ymm10 .byte 196,65,85,253,216 // vpaddw %ymm8,%ymm5,%ymm11 .byte 197,37,249,223 // vpsubw %ymm7,%ymm11,%ymm11 .byte 197,165,213,201 // vpmullw %ymm1,%ymm11,%ymm1 .byte 196,65,45,253,208 // vpaddw %ymm8,%ymm10,%ymm10 .byte 196,193,117,253,202 // vpaddw %ymm10,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,53,213,214 // vpmullw %ymm6,%ymm9,%ymm10 .byte 196,65,77,253,216 // vpaddw %ymm8,%ymm6,%ymm11 .byte 197,37,249,223 // vpsubw %ymm7,%ymm11,%ymm11 .byte 197,165,213,210 // vpmullw %ymm2,%ymm11,%ymm2 .byte 196,65,45,253,208 // vpaddw %ymm8,%ymm10,%ymm10 .byte 196,193,109,253,210 // vpaddw %ymm10,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,53,213,207 // vpmullw %ymm7,%ymm9,%ymm9 .byte 196,193,101,213,216 // vpmullw %ymm8,%ymm3,%ymm3 .byte 196,193,101,253,216 // vpaddw %ymm8,%ymm3,%ymm3 .byte 197,181,253,219 // vpaddw %ymm3,%ymm9,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_plus__hsw_lowp .globl _sk_plus__hsw_lowp FUNCTION(_sk_plus__hsw_lowp) _sk_plus__hsw_lowp: .byte 197,221,253,192 // vpaddw %ymm0,%ymm4,%ymm0 .byte 196,98,125,121,5,202,124,0,0 // vpbroadcastw 0x7cca(%rip),%ymm8 # 2acfc <_sk_srcover_rgba_8888_sse2_lowp+0x728> .byte 196,194,125,58,192 // vpminuw %ymm8,%ymm0,%ymm0 .byte 197,213,253,201 // vpaddw %ymm1,%ymm5,%ymm1 .byte 196,194,117,58,200 // vpminuw %ymm8,%ymm1,%ymm1 .byte 197,205,253,210 // vpaddw %ymm2,%ymm6,%ymm2 .byte 196,194,109,58,208 // vpminuw %ymm8,%ymm2,%ymm2 .byte 197,197,253,219 // vpaddw %ymm3,%ymm7,%ymm3 .byte 196,194,101,58,216 // vpminuw %ymm8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_screen_hsw_lowp .globl _sk_screen_hsw_lowp FUNCTION(_sk_screen_hsw_lowp) _sk_screen_hsw_lowp: .byte 197,93,253,192 // vpaddw %ymm0,%ymm4,%ymm8 .byte 197,221,213,192 // vpmullw %ymm0,%ymm4,%ymm0 .byte 196,98,125,121,13,151,124,0,0 // vpbroadcastw 0x7c97(%rip),%ymm9 # 2acfe <_sk_srcover_rgba_8888_sse2_lowp+0x72a> .byte 196,193,125,253,193 // vpaddw %ymm9,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,189,249,192 // vpsubw %ymm0,%ymm8,%ymm0 .byte 197,85,253,193 // vpaddw %ymm1,%ymm5,%ymm8 .byte 197,213,213,201 // vpmullw %ymm1,%ymm5,%ymm1 .byte 196,193,117,253,201 // vpaddw %ymm9,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,189,249,201 // vpsubw %ymm1,%ymm8,%ymm1 .byte 197,77,253,194 // vpaddw %ymm2,%ymm6,%ymm8 .byte 197,205,213,210 // vpmullw %ymm2,%ymm6,%ymm2 .byte 196,193,109,253,209 // vpaddw %ymm9,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,189,249,210 // vpsubw %ymm2,%ymm8,%ymm2 .byte 197,69,253,195 // vpaddw %ymm3,%ymm7,%ymm8 .byte 197,197,213,219 // vpmullw %ymm3,%ymm7,%ymm3 .byte 196,193,101,253,217 // vpaddw %ymm9,%ymm3,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 197,189,249,219 // vpsubw %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_xor__hsw_lowp .globl _sk_xor__hsw_lowp FUNCTION(_sk_xor__hsw_lowp) _sk_xor__hsw_lowp: .byte 196,98,125,121,5,60,124,0,0 // vpbroadcastw 0x7c3c(%rip),%ymm8 # 2ad00 <_sk_srcover_rgba_8888_sse2_lowp+0x72c> .byte 197,61,249,207 // vpsubw %ymm7,%ymm8,%ymm9 .byte 197,181,213,192 // vpmullw %ymm0,%ymm9,%ymm0 .byte 197,61,249,211 // vpsubw %ymm3,%ymm8,%ymm10 .byte 197,45,213,220 // vpmullw %ymm4,%ymm10,%ymm11 .byte 197,165,253,192 // vpaddw %ymm0,%ymm11,%ymm0 .byte 196,193,125,253,192 // vpaddw %ymm8,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,181,213,201 // vpmullw %ymm1,%ymm9,%ymm1 .byte 197,45,213,221 // vpmullw %ymm5,%ymm10,%ymm11 .byte 197,165,253,201 // vpaddw %ymm1,%ymm11,%ymm1 .byte 196,193,117,253,200 // vpaddw %ymm8,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,181,213,210 // vpmullw %ymm2,%ymm9,%ymm2 .byte 197,45,213,222 // vpmullw %ymm6,%ymm10,%ymm11 .byte 197,165,253,210 // vpaddw %ymm2,%ymm11,%ymm2 .byte 196,193,109,253,208 // vpaddw %ymm8,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,181,213,219 // vpmullw %ymm3,%ymm9,%ymm3 .byte 197,45,213,207 // vpmullw %ymm7,%ymm10,%ymm9 .byte 197,181,253,219 // vpaddw %ymm3,%ymm9,%ymm3 .byte 196,193,101,253,216 // vpaddw %ymm8,%ymm3,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_darken_hsw_lowp .globl _sk_darken_hsw_lowp FUNCTION(_sk_darken_hsw_lowp) _sk_darken_hsw_lowp: .byte 197,93,253,192 // vpaddw %ymm0,%ymm4,%ymm8 .byte 197,197,213,192 // vpmullw %ymm0,%ymm7,%ymm0 .byte 197,93,213,203 // vpmullw %ymm3,%ymm4,%ymm9 .byte 196,194,125,62,193 // vpmaxuw %ymm9,%ymm0,%ymm0 .byte 196,98,125,121,13,192,123,0,0 // vpbroadcastw 0x7bc0(%rip),%ymm9 # 2ad02 <_sk_srcover_rgba_8888_sse2_lowp+0x72e> .byte 196,193,125,253,193 // vpaddw %ymm9,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,189,249,192 // vpsubw %ymm0,%ymm8,%ymm0 .byte 197,85,253,193 // vpaddw %ymm1,%ymm5,%ymm8 .byte 197,197,213,201 // vpmullw %ymm1,%ymm7,%ymm1 .byte 197,85,213,211 // vpmullw %ymm3,%ymm5,%ymm10 .byte 196,194,117,62,202 // vpmaxuw %ymm10,%ymm1,%ymm1 .byte 196,193,117,253,201 // vpaddw %ymm9,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,189,249,201 // vpsubw %ymm1,%ymm8,%ymm1 .byte 197,77,253,194 // vpaddw %ymm2,%ymm6,%ymm8 .byte 197,197,213,210 // vpmullw %ymm2,%ymm7,%ymm2 .byte 197,77,213,211 // vpmullw %ymm3,%ymm6,%ymm10 .byte 196,194,109,62,210 // vpmaxuw %ymm10,%ymm2,%ymm2 .byte 196,193,109,253,209 // vpaddw %ymm9,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,189,249,210 // vpsubw %ymm2,%ymm8,%ymm2 .byte 197,53,249,195 // vpsubw %ymm3,%ymm9,%ymm8 .byte 197,61,213,199 // vpmullw %ymm7,%ymm8,%ymm8 .byte 196,65,61,253,193 // vpaddw %ymm9,%ymm8,%ymm8 .byte 196,193,61,113,208,8 // vpsrlw $0x8,%ymm8,%ymm8 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lighten_hsw_lowp .globl _sk_lighten_hsw_lowp FUNCTION(_sk_lighten_hsw_lowp) _sk_lighten_hsw_lowp: .byte 197,93,253,192 // vpaddw %ymm0,%ymm4,%ymm8 .byte 197,197,213,192 // vpmullw %ymm0,%ymm7,%ymm0 .byte 197,93,213,203 // vpmullw %ymm3,%ymm4,%ymm9 .byte 196,194,125,58,193 // vpminuw %ymm9,%ymm0,%ymm0 .byte 196,98,125,121,13,65,123,0,0 // vpbroadcastw 0x7b41(%rip),%ymm9 # 2ad04 <_sk_srcover_rgba_8888_sse2_lowp+0x730> .byte 196,193,125,253,193 // vpaddw %ymm9,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,189,249,192 // vpsubw %ymm0,%ymm8,%ymm0 .byte 197,85,253,193 // vpaddw %ymm1,%ymm5,%ymm8 .byte 197,197,213,201 // vpmullw %ymm1,%ymm7,%ymm1 .byte 197,85,213,211 // vpmullw %ymm3,%ymm5,%ymm10 .byte 196,194,117,58,202 // vpminuw %ymm10,%ymm1,%ymm1 .byte 196,193,117,253,201 // vpaddw %ymm9,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,189,249,201 // vpsubw %ymm1,%ymm8,%ymm1 .byte 197,77,253,194 // vpaddw %ymm2,%ymm6,%ymm8 .byte 197,197,213,210 // vpmullw %ymm2,%ymm7,%ymm2 .byte 197,77,213,211 // vpmullw %ymm3,%ymm6,%ymm10 .byte 196,194,109,58,210 // vpminuw %ymm10,%ymm2,%ymm2 .byte 196,193,109,253,209 // vpaddw %ymm9,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,189,249,210 // vpsubw %ymm2,%ymm8,%ymm2 .byte 197,53,249,195 // vpsubw %ymm3,%ymm9,%ymm8 .byte 197,61,213,199 // vpmullw %ymm7,%ymm8,%ymm8 .byte 196,65,61,253,193 // vpaddw %ymm9,%ymm8,%ymm8 .byte 196,193,61,113,208,8 // vpsrlw $0x8,%ymm8,%ymm8 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_difference_hsw_lowp .globl _sk_difference_hsw_lowp FUNCTION(_sk_difference_hsw_lowp) _sk_difference_hsw_lowp: .byte 197,93,253,192 // vpaddw %ymm0,%ymm4,%ymm8 .byte 197,197,213,192 // vpmullw %ymm0,%ymm7,%ymm0 .byte 197,93,213,203 // vpmullw %ymm3,%ymm4,%ymm9 .byte 196,194,125,58,193 // vpminuw %ymm9,%ymm0,%ymm0 .byte 196,98,125,121,13,194,122,0,0 // vpbroadcastw 0x7ac2(%rip),%ymm9 # 2ad06 <_sk_srcover_rgba_8888_sse2_lowp+0x732> .byte 196,193,125,253,193 // vpaddw %ymm9,%ymm0,%ymm0 .byte 197,253,113,208,7 // vpsrlw $0x7,%ymm0,%ymm0 .byte 196,98,125,121,21,177,122,0,0 // vpbroadcastw 0x7ab1(%rip),%ymm10 # 2ad08 <_sk_srcover_rgba_8888_sse2_lowp+0x734> .byte 196,193,125,219,194 // vpand %ymm10,%ymm0,%ymm0 .byte 197,189,249,192 // vpsubw %ymm0,%ymm8,%ymm0 .byte 197,85,253,193 // vpaddw %ymm1,%ymm5,%ymm8 .byte 197,197,213,201 // vpmullw %ymm1,%ymm7,%ymm1 .byte 197,85,213,219 // vpmullw %ymm3,%ymm5,%ymm11 .byte 196,194,117,58,203 // vpminuw %ymm11,%ymm1,%ymm1 .byte 196,193,117,253,201 // vpaddw %ymm9,%ymm1,%ymm1 .byte 197,245,113,209,7 // vpsrlw $0x7,%ymm1,%ymm1 .byte 196,193,117,219,202 // vpand %ymm10,%ymm1,%ymm1 .byte 197,189,249,201 // vpsubw %ymm1,%ymm8,%ymm1 .byte 197,77,253,194 // vpaddw %ymm2,%ymm6,%ymm8 .byte 197,197,213,210 // vpmullw %ymm2,%ymm7,%ymm2 .byte 197,77,213,219 // vpmullw %ymm3,%ymm6,%ymm11 .byte 196,194,109,58,211 // vpminuw %ymm11,%ymm2,%ymm2 .byte 196,193,109,253,209 // vpaddw %ymm9,%ymm2,%ymm2 .byte 197,237,113,210,7 // vpsrlw $0x7,%ymm2,%ymm2 .byte 196,193,109,219,210 // vpand %ymm10,%ymm2,%ymm2 .byte 197,189,249,210 // vpsubw %ymm2,%ymm8,%ymm2 .byte 197,53,249,195 // vpsubw %ymm3,%ymm9,%ymm8 .byte 197,61,213,199 // vpmullw %ymm7,%ymm8,%ymm8 .byte 196,65,61,253,193 // vpaddw %ymm9,%ymm8,%ymm8 .byte 196,193,61,113,208,8 // vpsrlw $0x8,%ymm8,%ymm8 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_exclusion_hsw_lowp .globl _sk_exclusion_hsw_lowp FUNCTION(_sk_exclusion_hsw_lowp) _sk_exclusion_hsw_lowp: .byte 197,93,253,192 // vpaddw %ymm0,%ymm4,%ymm8 .byte 197,221,213,192 // vpmullw %ymm0,%ymm4,%ymm0 .byte 196,98,125,121,13,54,122,0,0 // vpbroadcastw 0x7a36(%rip),%ymm9 # 2ad0a <_sk_srcover_rgba_8888_sse2_lowp+0x736> .byte 196,193,125,253,193 // vpaddw %ymm9,%ymm0,%ymm0 .byte 197,253,113,208,7 // vpsrlw $0x7,%ymm0,%ymm0 .byte 196,98,125,121,21,37,122,0,0 // vpbroadcastw 0x7a25(%rip),%ymm10 # 2ad0c <_sk_srcover_rgba_8888_sse2_lowp+0x738> .byte 196,193,125,219,194 // vpand %ymm10,%ymm0,%ymm0 .byte 197,189,249,192 // vpsubw %ymm0,%ymm8,%ymm0 .byte 197,85,253,193 // vpaddw %ymm1,%ymm5,%ymm8 .byte 197,213,213,201 // vpmullw %ymm1,%ymm5,%ymm1 .byte 196,193,117,253,201 // vpaddw %ymm9,%ymm1,%ymm1 .byte 197,245,113,209,7 // vpsrlw $0x7,%ymm1,%ymm1 .byte 196,193,117,219,202 // vpand %ymm10,%ymm1,%ymm1 .byte 197,189,249,201 // vpsubw %ymm1,%ymm8,%ymm1 .byte 197,77,253,194 // vpaddw %ymm2,%ymm6,%ymm8 .byte 197,205,213,210 // vpmullw %ymm2,%ymm6,%ymm2 .byte 196,193,109,253,209 // vpaddw %ymm9,%ymm2,%ymm2 .byte 197,237,113,210,7 // vpsrlw $0x7,%ymm2,%ymm2 .byte 196,193,109,219,210 // vpand %ymm10,%ymm2,%ymm2 .byte 197,189,249,210 // vpsubw %ymm2,%ymm8,%ymm2 .byte 197,53,249,195 // vpsubw %ymm3,%ymm9,%ymm8 .byte 197,61,213,199 // vpmullw %ymm7,%ymm8,%ymm8 .byte 196,65,61,253,193 // vpaddw %ymm9,%ymm8,%ymm8 .byte 196,193,61,113,208,8 // vpsrlw $0x8,%ymm8,%ymm8 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_hardlight_hsw_lowp .globl _sk_hardlight_hsw_lowp FUNCTION(_sk_hardlight_hsw_lowp) _sk_hardlight_hsw_lowp: .byte 197,125,253,192 // vpaddw %ymm0,%ymm0,%ymm8 .byte 196,98,125,121,13,194,121,0,0 // vpbroadcastw 0x79c2(%rip),%ymm9 # 2ad10 <_sk_srcover_rgba_8888_sse2_lowp+0x73c> .byte 196,65,101,239,209 // vpxor %ymm9,%ymm3,%ymm10 .byte 196,65,61,239,217 // vpxor %ymm9,%ymm8,%ymm11 .byte 196,65,37,101,218 // vpcmpgtw %ymm10,%ymm11,%ymm11 .byte 197,61,213,228 // vpmullw %ymm4,%ymm8,%ymm12 .byte 197,69,213,195 // vpmullw %ymm3,%ymm7,%ymm8 .byte 197,101,249,232 // vpsubw %ymm0,%ymm3,%ymm13 .byte 197,69,249,244 // vpsubw %ymm4,%ymm7,%ymm14 .byte 196,65,21,213,238 // vpmullw %ymm14,%ymm13,%ymm13 .byte 196,65,21,253,237 // vpaddw %ymm13,%ymm13,%ymm13 .byte 196,65,61,249,237 // vpsubw %ymm13,%ymm8,%ymm13 .byte 196,67,29,76,221,176 // vpblendvb %ymm11,%ymm13,%ymm12,%ymm11 .byte 197,117,253,225 // vpaddw %ymm1,%ymm1,%ymm12 .byte 197,101,249,233 // vpsubw %ymm1,%ymm3,%ymm13 .byte 197,69,249,245 // vpsubw %ymm5,%ymm7,%ymm14 .byte 196,65,21,213,238 // vpmullw %ymm14,%ymm13,%ymm13 .byte 196,65,29,239,241 // vpxor %ymm9,%ymm12,%ymm14 .byte 196,65,13,101,242 // vpcmpgtw %ymm10,%ymm14,%ymm14 .byte 197,29,213,229 // vpmullw %ymm5,%ymm12,%ymm12 .byte 196,65,21,253,237 // vpaddw %ymm13,%ymm13,%ymm13 .byte 196,65,61,249,237 // vpsubw %ymm13,%ymm8,%ymm13 .byte 196,67,29,76,229,224 // vpblendvb %ymm14,%ymm13,%ymm12,%ymm12 .byte 197,109,253,234 // vpaddw %ymm2,%ymm2,%ymm13 .byte 196,65,21,239,201 // vpxor %ymm9,%ymm13,%ymm9 .byte 196,65,53,101,202 // vpcmpgtw %ymm10,%ymm9,%ymm9 .byte 197,101,249,210 // vpsubw %ymm2,%ymm3,%ymm10 .byte 197,69,249,246 // vpsubw %ymm6,%ymm7,%ymm14 .byte 196,65,45,213,214 // vpmullw %ymm14,%ymm10,%ymm10 .byte 196,98,125,121,53,57,121,0,0 // vpbroadcastw 0x7939(%rip),%ymm14 # 2ad0e <_sk_srcover_rgba_8888_sse2_lowp+0x73a> .byte 196,65,45,253,210 // vpaddw %ymm10,%ymm10,%ymm10 .byte 196,65,61,249,194 // vpsubw %ymm10,%ymm8,%ymm8 .byte 197,13,249,215 // vpsubw %ymm7,%ymm14,%ymm10 .byte 197,173,213,192 // vpmullw %ymm0,%ymm10,%ymm0 .byte 197,21,213,238 // vpmullw %ymm6,%ymm13,%ymm13 .byte 196,67,21,76,192,144 // vpblendvb %ymm9,%ymm8,%ymm13,%ymm8 .byte 197,13,249,203 // vpsubw %ymm3,%ymm14,%ymm9 .byte 197,53,213,236 // vpmullw %ymm4,%ymm9,%ymm13 .byte 197,149,253,192 // vpaddw %ymm0,%ymm13,%ymm0 .byte 196,65,37,253,222 // vpaddw %ymm14,%ymm11,%ymm11 .byte 196,193,125,253,195 // vpaddw %ymm11,%ymm0,%ymm0 .byte 197,173,213,201 // vpmullw %ymm1,%ymm10,%ymm1 .byte 197,53,213,221 // vpmullw %ymm5,%ymm9,%ymm11 .byte 197,165,253,201 // vpaddw %ymm1,%ymm11,%ymm1 .byte 196,65,29,253,222 // vpaddw %ymm14,%ymm12,%ymm11 .byte 196,193,117,253,203 // vpaddw %ymm11,%ymm1,%ymm1 .byte 197,173,213,210 // vpmullw %ymm2,%ymm10,%ymm2 .byte 197,53,213,214 // vpmullw %ymm6,%ymm9,%ymm10 .byte 197,173,253,210 // vpaddw %ymm2,%ymm10,%ymm2 .byte 196,65,61,253,198 // vpaddw %ymm14,%ymm8,%ymm8 .byte 196,193,109,253,208 // vpaddw %ymm8,%ymm2,%ymm2 .byte 197,53,213,199 // vpmullw %ymm7,%ymm9,%ymm8 .byte 196,65,61,253,198 // vpaddw %ymm14,%ymm8,%ymm8 .byte 196,193,61,113,208,8 // vpsrlw $0x8,%ymm8,%ymm8 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_overlay_hsw_lowp .globl _sk_overlay_hsw_lowp FUNCTION(_sk_overlay_hsw_lowp) _sk_overlay_hsw_lowp: .byte 197,93,253,196 // vpaddw %ymm4,%ymm4,%ymm8 .byte 196,98,125,121,13,174,120,0,0 // vpbroadcastw 0x78ae(%rip),%ymm9 # 2ad14 <_sk_srcover_rgba_8888_sse2_lowp+0x740> .byte 196,65,69,239,209 // vpxor %ymm9,%ymm7,%ymm10 .byte 196,65,61,239,193 // vpxor %ymm9,%ymm8,%ymm8 .byte 196,65,61,101,218 // vpcmpgtw %ymm10,%ymm8,%ymm11 .byte 197,125,213,196 // vpmullw %ymm4,%ymm0,%ymm8 .byte 196,65,61,253,224 // vpaddw %ymm8,%ymm8,%ymm12 .byte 197,69,213,195 // vpmullw %ymm3,%ymm7,%ymm8 .byte 197,101,249,232 // vpsubw %ymm0,%ymm3,%ymm13 .byte 197,69,249,244 // vpsubw %ymm4,%ymm7,%ymm14 .byte 196,65,21,213,238 // vpmullw %ymm14,%ymm13,%ymm13 .byte 196,65,21,253,237 // vpaddw %ymm13,%ymm13,%ymm13 .byte 196,65,61,249,237 // vpsubw %ymm13,%ymm8,%ymm13 .byte 196,67,29,76,221,176 // vpblendvb %ymm11,%ymm13,%ymm12,%ymm11 .byte 197,85,253,229 // vpaddw %ymm5,%ymm5,%ymm12 .byte 196,65,29,239,225 // vpxor %ymm9,%ymm12,%ymm12 .byte 196,65,29,101,226 // vpcmpgtw %ymm10,%ymm12,%ymm12 .byte 197,101,249,233 // vpsubw %ymm1,%ymm3,%ymm13 .byte 197,69,249,245 // vpsubw %ymm5,%ymm7,%ymm14 .byte 196,65,21,213,238 // vpmullw %ymm14,%ymm13,%ymm13 .byte 197,117,213,245 // vpmullw %ymm5,%ymm1,%ymm14 .byte 196,65,13,253,246 // vpaddw %ymm14,%ymm14,%ymm14 .byte 196,65,21,253,237 // vpaddw %ymm13,%ymm13,%ymm13 .byte 196,65,61,249,237 // vpsubw %ymm13,%ymm8,%ymm13 .byte 196,67,13,76,229,192 // vpblendvb %ymm12,%ymm13,%ymm14,%ymm12 .byte 196,98,125,121,45,54,120,0,0 // vpbroadcastw 0x7836(%rip),%ymm13 # 2ad12 <_sk_srcover_rgba_8888_sse2_lowp+0x73e> .byte 197,77,253,246 // vpaddw %ymm6,%ymm6,%ymm14 .byte 196,65,13,239,201 // vpxor %ymm9,%ymm14,%ymm9 .byte 196,65,53,101,202 // vpcmpgtw %ymm10,%ymm9,%ymm9 .byte 197,101,249,210 // vpsubw %ymm2,%ymm3,%ymm10 .byte 197,69,249,246 // vpsubw %ymm6,%ymm7,%ymm14 .byte 196,65,45,213,214 // vpmullw %ymm14,%ymm10,%ymm10 .byte 197,21,249,247 // vpsubw %ymm7,%ymm13,%ymm14 .byte 197,141,213,192 // vpmullw %ymm0,%ymm14,%ymm0 .byte 196,65,45,253,210 // vpaddw %ymm10,%ymm10,%ymm10 .byte 196,65,61,249,194 // vpsubw %ymm10,%ymm8,%ymm8 .byte 197,109,213,214 // vpmullw %ymm6,%ymm2,%ymm10 .byte 196,65,45,253,210 // vpaddw %ymm10,%ymm10,%ymm10 .byte 196,67,45,76,192,144 // vpblendvb %ymm9,%ymm8,%ymm10,%ymm8 .byte 197,21,249,203 // vpsubw %ymm3,%ymm13,%ymm9 .byte 197,53,213,212 // vpmullw %ymm4,%ymm9,%ymm10 .byte 197,173,253,192 // vpaddw %ymm0,%ymm10,%ymm0 .byte 196,65,37,253,213 // vpaddw %ymm13,%ymm11,%ymm10 .byte 196,193,125,253,194 // vpaddw %ymm10,%ymm0,%ymm0 .byte 197,141,213,201 // vpmullw %ymm1,%ymm14,%ymm1 .byte 197,53,213,213 // vpmullw %ymm5,%ymm9,%ymm10 .byte 197,173,253,201 // vpaddw %ymm1,%ymm10,%ymm1 .byte 196,65,29,253,213 // vpaddw %ymm13,%ymm12,%ymm10 .byte 196,193,117,253,202 // vpaddw %ymm10,%ymm1,%ymm1 .byte 197,141,213,210 // vpmullw %ymm2,%ymm14,%ymm2 .byte 197,53,213,214 // vpmullw %ymm6,%ymm9,%ymm10 .byte 197,173,253,210 // vpaddw %ymm2,%ymm10,%ymm2 .byte 196,65,61,253,197 // vpaddw %ymm13,%ymm8,%ymm8 .byte 196,193,109,253,208 // vpaddw %ymm8,%ymm2,%ymm2 .byte 197,53,213,199 // vpmullw %ymm7,%ymm9,%ymm8 .byte 196,65,61,253,197 // vpaddw %ymm13,%ymm8,%ymm8 .byte 196,193,61,113,208,8 // vpsrlw $0x8,%ymm8,%ymm8 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_load_8888_hsw_lowp .globl _sk_load_8888_hsw_lowp FUNCTION(_sk_load_8888_hsw_lowp) _sk_load_8888_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,55 // ja 235d2 <_sk_load_8888_hsw_lowp+0x52> .byte 197,253,239,192 // vpxor %ymm0,%ymm0,%ymm0 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,163,1,0,0 // lea 0x1a3(%rip),%r9 # 2374c <_sk_load_8888_hsw_lowp+0x1cc> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 197,237,239,210 // vpxor %ymm2,%ymm2,%ymm2 .byte 196,65,61,239,192 // vpxor %ymm8,%ymm8,%ymm8 .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 255,224 // jmpq *%rax .byte 196,193,121,110,12,144 // vmovd (%r8,%rdx,4),%xmm1 .byte 197,253,239,192 // vpxor %ymm0,%ymm0,%ymm0 .byte 233,39,1,0,0 // jmpq 236f9 <_sk_load_8888_hsw_lowp+0x179> .byte 196,193,126,111,12,144 // vmovdqu (%r8,%rdx,4),%ymm1 .byte 196,193,126,111,68,144,32 // vmovdqu 0x20(%r8,%rdx,4),%ymm0 .byte 233,21,1,0,0 // jmpq 236f9 <_sk_load_8888_hsw_lowp+0x179> .byte 196,193,121,110,68,144,8 // vmovd 0x8(%r8,%rdx,4),%xmm0 .byte 196,226,121,89,192 // vpbroadcastq %xmm0,%xmm0 .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 196,227,101,2,192,4 // vpblendd $0x4,%ymm0,%ymm3,%ymm0 .byte 196,194,121,53,12,144 // vpmovzxdq (%r8,%rdx,4),%xmm1 .byte 197,249,112,201,232 // vpshufd $0xe8,%xmm1,%xmm1 .byte 196,227,125,2,201,3 // vpblendd $0x3,%ymm1,%ymm0,%ymm1 .byte 197,253,111,195 // vmovdqa %ymm3,%ymm0 .byte 233,229,0,0,0 // jmpq 236f9 <_sk_load_8888_hsw_lowp+0x179> .byte 196,193,121,110,68,144,24 // vmovd 0x18(%r8,%rdx,4),%xmm0 .byte 196,226,125,89,192 // vpbroadcastq %xmm0,%ymm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 196,227,117,2,192,64 // vpblendd $0x40,%ymm0,%ymm1,%ymm0 .byte 196,227,125,57,194,1 // vextracti128 $0x1,%ymm0,%xmm2 .byte 196,195,105,34,84,144,20,1 // vpinsrd $0x1,0x14(%r8,%rdx,4),%xmm2,%xmm2 .byte 196,227,125,56,194,1 // vinserti128 $0x1,%xmm2,%ymm0,%ymm0 .byte 197,253,111,209 // vmovdqa %ymm1,%ymm2 .byte 196,227,125,57,193,1 // vextracti128 $0x1,%ymm0,%xmm1 .byte 196,195,113,34,76,144,16,0 // vpinsrd $0x0,0x10(%r8,%rdx,4),%xmm1,%xmm1 .byte 196,227,125,56,193,1 // vinserti128 $0x1,%xmm1,%ymm0,%ymm0 .byte 197,125,111,194 // vmovdqa %ymm2,%ymm8 .byte 196,193,122,111,12,144 // vmovdqu (%r8,%rdx,4),%xmm1 .byte 196,227,117,2,200,240 // vpblendd $0xf0,%ymm0,%ymm1,%ymm1 .byte 197,125,127,192 // vmovdqa %ymm8,%ymm0 .byte 233,138,0,0,0 // jmpq 236f9 <_sk_load_8888_hsw_lowp+0x179> .byte 196,193,121,110,68,144,40 // vmovd 0x28(%r8,%rdx,4),%xmm0 .byte 196,226,121,89,192 // vpbroadcastq %xmm0,%xmm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 196,227,117,2,192,4 // vpblendd $0x4,%ymm0,%ymm1,%ymm0 .byte 196,195,121,34,76,144,36,1 // vpinsrd $0x1,0x24(%r8,%rdx,4),%xmm0,%xmm1 .byte 196,227,125,2,193,15 // vpblendd $0xf,%ymm1,%ymm0,%ymm0 .byte 196,193,121,110,76,144,32 // vmovd 0x20(%r8,%rdx,4),%xmm1 .byte 196,227,125,2,193,1 // vpblendd $0x1,%ymm1,%ymm0,%ymm0 .byte 196,193,126,111,12,144 // vmovdqu (%r8,%rdx,4),%ymm1 .byte 235,81 // jmp 236f9 <_sk_load_8888_hsw_lowp+0x179> .byte 196,193,121,110,68,144,56 // vmovd 0x38(%r8,%rdx,4),%xmm0 .byte 196,226,125,89,192 // vpbroadcastq %xmm0,%ymm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 196,227,117,2,192,64 // vpblendd $0x40,%ymm0,%ymm1,%ymm0 .byte 196,227,125,57,193,1 // vextracti128 $0x1,%ymm0,%xmm1 .byte 196,195,113,34,76,144,52,1 // vpinsrd $0x1,0x34(%r8,%rdx,4),%xmm1,%xmm1 .byte 196,227,125,56,193,1 // vinserti128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,227,125,57,193,1 // vextracti128 $0x1,%ymm0,%xmm1 .byte 196,195,113,34,76,144,48,0 // vpinsrd $0x0,0x30(%r8,%rdx,4),%xmm1,%xmm1 .byte 196,227,125,56,193,1 // vinserti128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,193,126,111,12,144 // vmovdqu (%r8,%rdx,4),%ymm1 .byte 196,193,122,111,84,144,32 // vmovdqu 0x20(%r8,%rdx,4),%xmm2 .byte 196,227,109,2,192,240 // vpblendd $0xf0,%ymm0,%ymm2,%ymm0 .byte 196,227,117,56,208,1 // vinserti128 $0x1,%xmm0,%ymm1,%ymm2 .byte 196,227,117,70,216,49 // vperm2i128 $0x31,%ymm0,%ymm1,%ymm3 .byte 197,253,239,192 // vpxor %ymm0,%ymm0,%ymm0 .byte 196,227,101,14,200,170 // vpblendw $0xaa,%ymm0,%ymm3,%ymm1 .byte 196,227,109,14,192,170 // vpblendw $0xaa,%ymm0,%ymm2,%ymm0 .byte 196,226,125,43,201 // vpackusdw %ymm1,%ymm0,%ymm1 .byte 197,125,111,5,254,117,0,0 // vmovdqa 0x75fe(%rip),%ymm8 # 2ad20 <_sk_srcover_rgba_8888_sse2_lowp+0x74c> .byte 196,193,117,219,192 // vpand %ymm8,%ymm1,%ymm0 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,229,114,211,16 // vpsrld $0x10,%ymm3,%ymm3 .byte 197,237,114,210,16 // vpsrld $0x10,%ymm2,%ymm2 .byte 196,226,109,43,219 // vpackusdw %ymm3,%ymm2,%ymm3 .byte 196,193,101,219,208 // vpand %ymm8,%ymm3,%ymm2 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 119,254 // ja 2374c <_sk_load_8888_hsw_lowp+0x1cc> .byte 255 // (bad) .byte 255,174,254,255,255,152 // ljmp *-0x67000002(%rsi) .byte 254 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,246 // push %rsi .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 222,254 // fdivrp %st,%st(6) .byte 255 // (bad) .byte 255,200 // dec %eax .byte 254 // (bad) .byte 255 // (bad) .byte 255,84,255,255 // callq *-0x1(%rdi,%rdi,8) .byte 255,71,255 // incl -0x1(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 57,255 // cmp %edi,%edi .byte 255 // (bad) .byte 255,35 // jmpq *(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,154,255,255,255,134 // lcall *-0x79000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,114,255 // pushq -0x1(%rdx) .byte 255 // (bad) .byte 255,92,255,255 // lcall *-0x1(%rdi,%rdi,8) .byte 255 // .byte 0xff HIDDEN _sk_load_8888_dst_hsw_lowp .globl _sk_load_8888_dst_hsw_lowp FUNCTION(_sk_load_8888_dst_hsw_lowp) _sk_load_8888_dst_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,55 // ja 237da <_sk_load_8888_dst_hsw_lowp+0x52> .byte 197,221,239,228 // vpxor %ymm4,%ymm4,%ymm4 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,163,1,0,0 // lea 0x1a3(%rip),%r9 # 23954 <_sk_load_8888_dst_hsw_lowp+0x1cc> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 197,205,239,246 // vpxor %ymm6,%ymm6,%ymm6 .byte 196,65,61,239,192 // vpxor %ymm8,%ymm8,%ymm8 .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 255,224 // jmpq *%rax .byte 196,193,121,110,44,144 // vmovd (%r8,%rdx,4),%xmm5 .byte 197,221,239,228 // vpxor %ymm4,%ymm4,%ymm4 .byte 233,39,1,0,0 // jmpq 23901 <_sk_load_8888_dst_hsw_lowp+0x179> .byte 196,193,126,111,44,144 // vmovdqu (%r8,%rdx,4),%ymm5 .byte 196,193,126,111,100,144,32 // vmovdqu 0x20(%r8,%rdx,4),%ymm4 .byte 233,21,1,0,0 // jmpq 23901 <_sk_load_8888_dst_hsw_lowp+0x179> .byte 196,193,121,110,100,144,8 // vmovd 0x8(%r8,%rdx,4),%xmm4 .byte 196,226,121,89,228 // vpbroadcastq %xmm4,%xmm4 .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 196,227,69,2,228,4 // vpblendd $0x4,%ymm4,%ymm7,%ymm4 .byte 196,194,121,53,44,144 // vpmovzxdq (%r8,%rdx,4),%xmm5 .byte 197,249,112,237,232 // vpshufd $0xe8,%xmm5,%xmm5 .byte 196,227,93,2,237,3 // vpblendd $0x3,%ymm5,%ymm4,%ymm5 .byte 197,253,111,231 // vmovdqa %ymm7,%ymm4 .byte 233,229,0,0,0 // jmpq 23901 <_sk_load_8888_dst_hsw_lowp+0x179> .byte 196,193,121,110,100,144,24 // vmovd 0x18(%r8,%rdx,4),%xmm4 .byte 196,226,125,89,228 // vpbroadcastq %xmm4,%ymm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,85,2,228,64 // vpblendd $0x40,%ymm4,%ymm5,%ymm4 .byte 196,227,125,57,230,1 // vextracti128 $0x1,%ymm4,%xmm6 .byte 196,195,73,34,116,144,20,1 // vpinsrd $0x1,0x14(%r8,%rdx,4),%xmm6,%xmm6 .byte 196,227,93,56,230,1 // vinserti128 $0x1,%xmm6,%ymm4,%ymm4 .byte 197,253,111,245 // vmovdqa %ymm5,%ymm6 .byte 196,227,125,57,229,1 // vextracti128 $0x1,%ymm4,%xmm5 .byte 196,195,81,34,108,144,16,0 // vpinsrd $0x0,0x10(%r8,%rdx,4),%xmm5,%xmm5 .byte 196,227,93,56,229,1 // vinserti128 $0x1,%xmm5,%ymm4,%ymm4 .byte 197,125,111,198 // vmovdqa %ymm6,%ymm8 .byte 196,193,122,111,44,144 // vmovdqu (%r8,%rdx,4),%xmm5 .byte 196,227,85,2,236,240 // vpblendd $0xf0,%ymm4,%ymm5,%ymm5 .byte 197,125,127,196 // vmovdqa %ymm8,%ymm4 .byte 233,138,0,0,0 // jmpq 23901 <_sk_load_8888_dst_hsw_lowp+0x179> .byte 196,193,121,110,100,144,40 // vmovd 0x28(%r8,%rdx,4),%xmm4 .byte 196,226,121,89,228 // vpbroadcastq %xmm4,%xmm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,85,2,228,4 // vpblendd $0x4,%ymm4,%ymm5,%ymm4 .byte 196,195,89,34,108,144,36,1 // vpinsrd $0x1,0x24(%r8,%rdx,4),%xmm4,%xmm5 .byte 196,227,93,2,229,15 // vpblendd $0xf,%ymm5,%ymm4,%ymm4 .byte 196,193,121,110,108,144,32 // vmovd 0x20(%r8,%rdx,4),%xmm5 .byte 196,227,93,2,229,1 // vpblendd $0x1,%ymm5,%ymm4,%ymm4 .byte 196,193,126,111,44,144 // vmovdqu (%r8,%rdx,4),%ymm5 .byte 235,81 // jmp 23901 <_sk_load_8888_dst_hsw_lowp+0x179> .byte 196,193,121,110,100,144,56 // vmovd 0x38(%r8,%rdx,4),%xmm4 .byte 196,226,125,89,228 // vpbroadcastq %xmm4,%ymm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,85,2,228,64 // vpblendd $0x40,%ymm4,%ymm5,%ymm4 .byte 196,227,125,57,229,1 // vextracti128 $0x1,%ymm4,%xmm5 .byte 196,195,81,34,108,144,52,1 // vpinsrd $0x1,0x34(%r8,%rdx,4),%xmm5,%xmm5 .byte 196,227,93,56,229,1 // vinserti128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,227,125,57,229,1 // vextracti128 $0x1,%ymm4,%xmm5 .byte 196,195,81,34,108,144,48,0 // vpinsrd $0x0,0x30(%r8,%rdx,4),%xmm5,%xmm5 .byte 196,227,93,56,229,1 // vinserti128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,193,126,111,44,144 // vmovdqu (%r8,%rdx,4),%ymm5 .byte 196,193,122,111,116,144,32 // vmovdqu 0x20(%r8,%rdx,4),%xmm6 .byte 196,227,77,2,228,240 // vpblendd $0xf0,%ymm4,%ymm6,%ymm4 .byte 196,227,85,56,244,1 // vinserti128 $0x1,%xmm4,%ymm5,%ymm6 .byte 196,227,85,70,252,49 // vperm2i128 $0x31,%ymm4,%ymm5,%ymm7 .byte 197,221,239,228 // vpxor %ymm4,%ymm4,%ymm4 .byte 196,227,69,14,236,170 // vpblendw $0xaa,%ymm4,%ymm7,%ymm5 .byte 196,227,77,14,228,170 // vpblendw $0xaa,%ymm4,%ymm6,%ymm4 .byte 196,226,93,43,237 // vpackusdw %ymm5,%ymm4,%ymm5 .byte 197,125,111,5,22,116,0,0 // vmovdqa 0x7416(%rip),%ymm8 # 2ad40 <_sk_srcover_rgba_8888_sse2_lowp+0x76c> .byte 196,193,85,219,224 // vpand %ymm8,%ymm5,%ymm4 .byte 197,213,113,213,8 // vpsrlw $0x8,%ymm5,%ymm5 .byte 197,197,114,215,16 // vpsrld $0x10,%ymm7,%ymm7 .byte 197,205,114,214,16 // vpsrld $0x10,%ymm6,%ymm6 .byte 196,226,77,43,255 // vpackusdw %ymm7,%ymm6,%ymm7 .byte 196,193,69,219,240 // vpand %ymm8,%ymm7,%ymm6 .byte 197,197,113,215,8 // vpsrlw $0x8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 119,254 // ja 23954 <_sk_load_8888_dst_hsw_lowp+0x1cc> .byte 255 // (bad) .byte 255,174,254,255,255,152 // ljmp *-0x67000002(%rsi) .byte 254 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,246 // push %rsi .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 222,254 // fdivrp %st,%st(6) .byte 255 // (bad) .byte 255,200 // dec %eax .byte 254 // (bad) .byte 255 // (bad) .byte 255,84,255,255 // callq *-0x1(%rdi,%rdi,8) .byte 255,71,255 // incl -0x1(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 57,255 // cmp %edi,%edi .byte 255 // (bad) .byte 255,35 // jmpq *(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,154,255,255,255,134 // lcall *-0x79000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,114,255 // pushq -0x1(%rdx) .byte 255 // (bad) .byte 255,92,255,255 // lcall *-0x1(%rdi,%rdi,8) .byte 255 // .byte 0xff HIDDEN _sk_store_8888_hsw_lowp .globl _sk_store_8888_hsw_lowp FUNCTION(_sk_store_8888_hsw_lowp) _sk_store_8888_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 197,189,113,241,8 // vpsllw $0x8,%ymm1,%ymm8 .byte 197,61,235,192 // vpor %ymm0,%ymm8,%ymm8 .byte 196,66,125,51,200 // vpmovzxwd %xmm8,%ymm9 .byte 196,67,125,57,192,1 // vextracti128 $0x1,%ymm8,%xmm8 .byte 196,66,125,51,208 // vpmovzxwd %xmm8,%ymm10 .byte 197,189,113,243,8 // vpsllw $0x8,%ymm3,%ymm8 .byte 197,61,235,194 // vpor %ymm2,%ymm8,%ymm8 .byte 196,67,125,57,195,1 // vextracti128 $0x1,%ymm8,%xmm11 .byte 196,66,125,51,219 // vpmovzxwd %xmm11,%ymm11 .byte 196,66,125,51,192 // vpmovzxwd %xmm8,%ymm8 .byte 196,193,61,114,240,16 // vpslld $0x10,%ymm8,%ymm8 .byte 196,65,61,235,193 // vpor %ymm9,%ymm8,%ymm8 .byte 196,193,53,114,243,16 // vpslld $0x10,%ymm11,%ymm9 .byte 196,65,53,235,202 // vpor %ymm10,%ymm9,%ymm9 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,30 // ja 23a11 <_sk_store_8888_hsw_lowp+0x81> .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,195,0,0,0 // lea 0xc3(%rip),%r9 # 23ac0 <_sk_store_8888_hsw_lowp+0x130> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,126,4,144 // vmovd %xmm8,(%r8,%rdx,4) .byte 233,171,0,0,0 // jmpq 23abc <_sk_store_8888_hsw_lowp+0x12c> .byte 196,65,126,127,4,144 // vmovdqu %ymm8,(%r8,%rdx,4) .byte 196,65,126,127,76,144,32 // vmovdqu %ymm9,0x20(%r8,%rdx,4) .byte 233,153,0,0,0 // jmpq 23abc <_sk_store_8888_hsw_lowp+0x12c> .byte 196,67,121,22,68,144,8,2 // vpextrd $0x2,%xmm8,0x8(%r8,%rdx,4) .byte 196,65,121,214,4,144 // vmovq %xmm8,(%r8,%rdx,4) .byte 233,134,0,0,0 // jmpq 23abc <_sk_store_8888_hsw_lowp+0x12c> .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,22,76,144,24,2 // vpextrd $0x2,%xmm9,0x18(%r8,%rdx,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,22,76,144,20,1 // vpextrd $0x1,%xmm9,0x14(%r8,%rdx,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,121,126,76,144,16 // vmovd %xmm9,0x10(%r8,%rdx,4) .byte 196,65,122,127,4,144 // vmovdqu %xmm8,(%r8,%rdx,4) .byte 235,85 // jmp 23abc <_sk_store_8888_hsw_lowp+0x12c> .byte 196,67,121,22,76,144,40,2 // vpextrd $0x2,%xmm9,0x28(%r8,%rdx,4) .byte 196,67,121,22,76,144,36,1 // vpextrd $0x1,%xmm9,0x24(%r8,%rdx,4) .byte 196,65,121,126,76,144,32 // vmovd %xmm9,0x20(%r8,%rdx,4) .byte 196,65,126,127,4,144 // vmovdqu %ymm8,(%r8,%rdx,4) .byte 235,54 // jmp 23abc <_sk_store_8888_hsw_lowp+0x12c> .byte 196,67,125,57,202,1 // vextracti128 $0x1,%ymm9,%xmm10 .byte 196,67,121,22,84,144,56,2 // vpextrd $0x2,%xmm10,0x38(%r8,%rdx,4) .byte 196,67,125,57,202,1 // vextracti128 $0x1,%ymm9,%xmm10 .byte 196,67,121,22,84,144,52,1 // vpextrd $0x1,%xmm10,0x34(%r8,%rdx,4) .byte 196,67,125,57,202,1 // vextracti128 $0x1,%ymm9,%xmm10 .byte 196,65,121,126,84,144,48 // vmovd %xmm10,0x30(%r8,%rdx,4) .byte 196,65,126,127,4,144 // vmovdqu %ymm8,(%r8,%rdx,4) .byte 196,65,122,127,76,144,32 // vmovdqu %xmm9,0x20(%r8,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 70,255 // rex.RX (bad) .byte 255 // (bad) .byte 255,107,255 // ljmp *-0x1(%rbx) .byte 255 // (bad) .byte 255,99,255 // jmpq *-0x1(%rbx) .byte 255 // (bad) .byte 255,159,255,255,255,146 // lcall *-0x6d000001(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,132,255,255,255,118,255 // incl -0x890001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // (bad) .byte 190,255,255,255,183 // mov $0xb7ffffff,%esi .byte 255 // (bad) .byte 255 // (bad) .byte 255,175,255,255,255,167 // ljmp *-0x58000001(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 239 // out %eax,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,226 // jmpq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255,212 // callq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255,198 // inc %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_bgra_hsw_lowp .globl _sk_load_bgra_hsw_lowp FUNCTION(_sk_load_bgra_hsw_lowp) _sk_load_bgra_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,55 // ja 23b4e <_sk_load_bgra_hsw_lowp+0x52> .byte 197,253,239,192 // vpxor %ymm0,%ymm0,%ymm0 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,163,1,0,0 // lea 0x1a3(%rip),%r9 # 23cc8 <_sk_load_bgra_hsw_lowp+0x1cc> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 197,237,239,210 // vpxor %ymm2,%ymm2,%ymm2 .byte 196,65,61,239,192 // vpxor %ymm8,%ymm8,%ymm8 .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 255,224 // jmpq *%rax .byte 196,193,121,110,12,144 // vmovd (%r8,%rdx,4),%xmm1 .byte 197,253,239,192 // vpxor %ymm0,%ymm0,%ymm0 .byte 233,39,1,0,0 // jmpq 23c75 <_sk_load_bgra_hsw_lowp+0x179> .byte 196,193,126,111,12,144 // vmovdqu (%r8,%rdx,4),%ymm1 .byte 196,193,126,111,68,144,32 // vmovdqu 0x20(%r8,%rdx,4),%ymm0 .byte 233,21,1,0,0 // jmpq 23c75 <_sk_load_bgra_hsw_lowp+0x179> .byte 196,193,121,110,68,144,8 // vmovd 0x8(%r8,%rdx,4),%xmm0 .byte 196,226,121,89,192 // vpbroadcastq %xmm0,%xmm0 .byte 197,229,239,219 // vpxor %ymm3,%ymm3,%ymm3 .byte 196,227,101,2,192,4 // vpblendd $0x4,%ymm0,%ymm3,%ymm0 .byte 196,194,121,53,12,144 // vpmovzxdq (%r8,%rdx,4),%xmm1 .byte 197,249,112,201,232 // vpshufd $0xe8,%xmm1,%xmm1 .byte 196,227,125,2,201,3 // vpblendd $0x3,%ymm1,%ymm0,%ymm1 .byte 197,253,111,195 // vmovdqa %ymm3,%ymm0 .byte 233,229,0,0,0 // jmpq 23c75 <_sk_load_bgra_hsw_lowp+0x179> .byte 196,193,121,110,68,144,24 // vmovd 0x18(%r8,%rdx,4),%xmm0 .byte 196,226,125,89,192 // vpbroadcastq %xmm0,%ymm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 196,227,117,2,192,64 // vpblendd $0x40,%ymm0,%ymm1,%ymm0 .byte 196,227,125,57,194,1 // vextracti128 $0x1,%ymm0,%xmm2 .byte 196,195,105,34,84,144,20,1 // vpinsrd $0x1,0x14(%r8,%rdx,4),%xmm2,%xmm2 .byte 196,227,125,56,194,1 // vinserti128 $0x1,%xmm2,%ymm0,%ymm0 .byte 197,253,111,209 // vmovdqa %ymm1,%ymm2 .byte 196,227,125,57,193,1 // vextracti128 $0x1,%ymm0,%xmm1 .byte 196,195,113,34,76,144,16,0 // vpinsrd $0x0,0x10(%r8,%rdx,4),%xmm1,%xmm1 .byte 196,227,125,56,193,1 // vinserti128 $0x1,%xmm1,%ymm0,%ymm0 .byte 197,125,111,194 // vmovdqa %ymm2,%ymm8 .byte 196,193,122,111,12,144 // vmovdqu (%r8,%rdx,4),%xmm1 .byte 196,227,117,2,200,240 // vpblendd $0xf0,%ymm0,%ymm1,%ymm1 .byte 197,125,127,192 // vmovdqa %ymm8,%ymm0 .byte 233,138,0,0,0 // jmpq 23c75 <_sk_load_bgra_hsw_lowp+0x179> .byte 196,193,121,110,68,144,40 // vmovd 0x28(%r8,%rdx,4),%xmm0 .byte 196,226,121,89,192 // vpbroadcastq %xmm0,%xmm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 196,227,117,2,192,4 // vpblendd $0x4,%ymm0,%ymm1,%ymm0 .byte 196,195,121,34,76,144,36,1 // vpinsrd $0x1,0x24(%r8,%rdx,4),%xmm0,%xmm1 .byte 196,227,125,2,193,15 // vpblendd $0xf,%ymm1,%ymm0,%ymm0 .byte 196,193,121,110,76,144,32 // vmovd 0x20(%r8,%rdx,4),%xmm1 .byte 196,227,125,2,193,1 // vpblendd $0x1,%ymm1,%ymm0,%ymm0 .byte 196,193,126,111,12,144 // vmovdqu (%r8,%rdx,4),%ymm1 .byte 235,81 // jmp 23c75 <_sk_load_bgra_hsw_lowp+0x179> .byte 196,193,121,110,68,144,56 // vmovd 0x38(%r8,%rdx,4),%xmm0 .byte 196,226,125,89,192 // vpbroadcastq %xmm0,%ymm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 196,227,117,2,192,64 // vpblendd $0x40,%ymm0,%ymm1,%ymm0 .byte 196,227,125,57,193,1 // vextracti128 $0x1,%ymm0,%xmm1 .byte 196,195,113,34,76,144,52,1 // vpinsrd $0x1,0x34(%r8,%rdx,4),%xmm1,%xmm1 .byte 196,227,125,56,193,1 // vinserti128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,227,125,57,193,1 // vextracti128 $0x1,%ymm0,%xmm1 .byte 196,195,113,34,76,144,48,0 // vpinsrd $0x0,0x30(%r8,%rdx,4),%xmm1,%xmm1 .byte 196,227,125,56,193,1 // vinserti128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,193,126,111,12,144 // vmovdqu (%r8,%rdx,4),%ymm1 .byte 196,193,122,111,84,144,32 // vmovdqu 0x20(%r8,%rdx,4),%xmm2 .byte 196,227,109,2,192,240 // vpblendd $0xf0,%ymm0,%ymm2,%ymm0 .byte 196,227,117,56,216,1 // vinserti128 $0x1,%xmm0,%ymm1,%ymm3 .byte 196,227,117,70,192,49 // vperm2i128 $0x31,%ymm0,%ymm1,%ymm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 196,227,125,14,209,170 // vpblendw $0xaa,%ymm1,%ymm0,%ymm2 .byte 196,227,101,14,201,170 // vpblendw $0xaa,%ymm1,%ymm3,%ymm1 .byte 196,226,117,43,202 // vpackusdw %ymm2,%ymm1,%ymm1 .byte 197,125,111,5,194,112,0,0 // vmovdqa 0x70c2(%rip),%ymm8 # 2ad60 <_sk_srcover_rgba_8888_sse2_lowp+0x78c> .byte 196,193,117,219,208 // vpand %ymm8,%ymm1,%ymm2 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,253,114,208,16 // vpsrld $0x10,%ymm0,%ymm0 .byte 197,229,114,211,16 // vpsrld $0x10,%ymm3,%ymm3 .byte 196,226,101,43,216 // vpackusdw %ymm0,%ymm3,%ymm3 .byte 196,193,101,219,192 // vpand %ymm8,%ymm3,%ymm0 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 119,254 // ja 23cc8 <_sk_load_bgra_hsw_lowp+0x1cc> .byte 255 // (bad) .byte 255,174,254,255,255,152 // ljmp *-0x67000002(%rsi) .byte 254 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,246 // push %rsi .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 222,254 // fdivrp %st,%st(6) .byte 255 // (bad) .byte 255,200 // dec %eax .byte 254 // (bad) .byte 255 // (bad) .byte 255,84,255,255 // callq *-0x1(%rdi,%rdi,8) .byte 255,71,255 // incl -0x1(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 57,255 // cmp %edi,%edi .byte 255 // (bad) .byte 255,35 // jmpq *(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,154,255,255,255,134 // lcall *-0x79000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,114,255 // pushq -0x1(%rdx) .byte 255 // (bad) .byte 255,92,255,255 // lcall *-0x1(%rdi,%rdi,8) .byte 255 // .byte 0xff HIDDEN _sk_load_bgra_dst_hsw_lowp .globl _sk_load_bgra_dst_hsw_lowp FUNCTION(_sk_load_bgra_dst_hsw_lowp) _sk_load_bgra_dst_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,55 // ja 23d56 <_sk_load_bgra_dst_hsw_lowp+0x52> .byte 197,221,239,228 // vpxor %ymm4,%ymm4,%ymm4 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,163,1,0,0 // lea 0x1a3(%rip),%r9 # 23ed0 <_sk_load_bgra_dst_hsw_lowp+0x1cc> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 197,205,239,246 // vpxor %ymm6,%ymm6,%ymm6 .byte 196,65,61,239,192 // vpxor %ymm8,%ymm8,%ymm8 .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 255,224 // jmpq *%rax .byte 196,193,121,110,44,144 // vmovd (%r8,%rdx,4),%xmm5 .byte 197,221,239,228 // vpxor %ymm4,%ymm4,%ymm4 .byte 233,39,1,0,0 // jmpq 23e7d <_sk_load_bgra_dst_hsw_lowp+0x179> .byte 196,193,126,111,44,144 // vmovdqu (%r8,%rdx,4),%ymm5 .byte 196,193,126,111,100,144,32 // vmovdqu 0x20(%r8,%rdx,4),%ymm4 .byte 233,21,1,0,0 // jmpq 23e7d <_sk_load_bgra_dst_hsw_lowp+0x179> .byte 196,193,121,110,100,144,8 // vmovd 0x8(%r8,%rdx,4),%xmm4 .byte 196,226,121,89,228 // vpbroadcastq %xmm4,%xmm4 .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 196,227,69,2,228,4 // vpblendd $0x4,%ymm4,%ymm7,%ymm4 .byte 196,194,121,53,44,144 // vpmovzxdq (%r8,%rdx,4),%xmm5 .byte 197,249,112,237,232 // vpshufd $0xe8,%xmm5,%xmm5 .byte 196,227,93,2,237,3 // vpblendd $0x3,%ymm5,%ymm4,%ymm5 .byte 197,253,111,231 // vmovdqa %ymm7,%ymm4 .byte 233,229,0,0,0 // jmpq 23e7d <_sk_load_bgra_dst_hsw_lowp+0x179> .byte 196,193,121,110,100,144,24 // vmovd 0x18(%r8,%rdx,4),%xmm4 .byte 196,226,125,89,228 // vpbroadcastq %xmm4,%ymm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,85,2,228,64 // vpblendd $0x40,%ymm4,%ymm5,%ymm4 .byte 196,227,125,57,230,1 // vextracti128 $0x1,%ymm4,%xmm6 .byte 196,195,73,34,116,144,20,1 // vpinsrd $0x1,0x14(%r8,%rdx,4),%xmm6,%xmm6 .byte 196,227,93,56,230,1 // vinserti128 $0x1,%xmm6,%ymm4,%ymm4 .byte 197,253,111,245 // vmovdqa %ymm5,%ymm6 .byte 196,227,125,57,229,1 // vextracti128 $0x1,%ymm4,%xmm5 .byte 196,195,81,34,108,144,16,0 // vpinsrd $0x0,0x10(%r8,%rdx,4),%xmm5,%xmm5 .byte 196,227,93,56,229,1 // vinserti128 $0x1,%xmm5,%ymm4,%ymm4 .byte 197,125,111,198 // vmovdqa %ymm6,%ymm8 .byte 196,193,122,111,44,144 // vmovdqu (%r8,%rdx,4),%xmm5 .byte 196,227,85,2,236,240 // vpblendd $0xf0,%ymm4,%ymm5,%ymm5 .byte 197,125,127,196 // vmovdqa %ymm8,%ymm4 .byte 233,138,0,0,0 // jmpq 23e7d <_sk_load_bgra_dst_hsw_lowp+0x179> .byte 196,193,121,110,100,144,40 // vmovd 0x28(%r8,%rdx,4),%xmm4 .byte 196,226,121,89,228 // vpbroadcastq %xmm4,%xmm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,85,2,228,4 // vpblendd $0x4,%ymm4,%ymm5,%ymm4 .byte 196,195,89,34,108,144,36,1 // vpinsrd $0x1,0x24(%r8,%rdx,4),%xmm4,%xmm5 .byte 196,227,93,2,229,15 // vpblendd $0xf,%ymm5,%ymm4,%ymm4 .byte 196,193,121,110,108,144,32 // vmovd 0x20(%r8,%rdx,4),%xmm5 .byte 196,227,93,2,229,1 // vpblendd $0x1,%ymm5,%ymm4,%ymm4 .byte 196,193,126,111,44,144 // vmovdqu (%r8,%rdx,4),%ymm5 .byte 235,81 // jmp 23e7d <_sk_load_bgra_dst_hsw_lowp+0x179> .byte 196,193,121,110,100,144,56 // vmovd 0x38(%r8,%rdx,4),%xmm4 .byte 196,226,125,89,228 // vpbroadcastq %xmm4,%ymm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,85,2,228,64 // vpblendd $0x40,%ymm4,%ymm5,%ymm4 .byte 196,227,125,57,229,1 // vextracti128 $0x1,%ymm4,%xmm5 .byte 196,195,81,34,108,144,52,1 // vpinsrd $0x1,0x34(%r8,%rdx,4),%xmm5,%xmm5 .byte 196,227,93,56,229,1 // vinserti128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,227,125,57,229,1 // vextracti128 $0x1,%ymm4,%xmm5 .byte 196,195,81,34,108,144,48,0 // vpinsrd $0x0,0x30(%r8,%rdx,4),%xmm5,%xmm5 .byte 196,227,93,56,229,1 // vinserti128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,193,126,111,44,144 // vmovdqu (%r8,%rdx,4),%ymm5 .byte 196,193,122,111,116,144,32 // vmovdqu 0x20(%r8,%rdx,4),%xmm6 .byte 196,227,77,2,228,240 // vpblendd $0xf0,%ymm4,%ymm6,%ymm4 .byte 196,227,85,56,252,1 // vinserti128 $0x1,%xmm4,%ymm5,%ymm7 .byte 196,227,85,70,228,49 // vperm2i128 $0x31,%ymm4,%ymm5,%ymm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,93,14,245,170 // vpblendw $0xaa,%ymm5,%ymm4,%ymm6 .byte 196,227,69,14,237,170 // vpblendw $0xaa,%ymm5,%ymm7,%ymm5 .byte 196,226,85,43,238 // vpackusdw %ymm6,%ymm5,%ymm5 .byte 197,125,111,5,218,110,0,0 // vmovdqa 0x6eda(%rip),%ymm8 # 2ad80 <_sk_srcover_rgba_8888_sse2_lowp+0x7ac> .byte 196,193,85,219,240 // vpand %ymm8,%ymm5,%ymm6 .byte 197,213,113,213,8 // vpsrlw $0x8,%ymm5,%ymm5 .byte 197,221,114,212,16 // vpsrld $0x10,%ymm4,%ymm4 .byte 197,197,114,215,16 // vpsrld $0x10,%ymm7,%ymm7 .byte 196,226,69,43,252 // vpackusdw %ymm4,%ymm7,%ymm7 .byte 196,193,69,219,224 // vpand %ymm8,%ymm7,%ymm4 .byte 197,197,113,215,8 // vpsrlw $0x8,%ymm7,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 119,254 // ja 23ed0 <_sk_load_bgra_dst_hsw_lowp+0x1cc> .byte 255 // (bad) .byte 255,174,254,255,255,152 // ljmp *-0x67000002(%rsi) .byte 254 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,246 // push %rsi .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 222,254 // fdivrp %st,%st(6) .byte 255 // (bad) .byte 255,200 // dec %eax .byte 254 // (bad) .byte 255 // (bad) .byte 255,84,255,255 // callq *-0x1(%rdi,%rdi,8) .byte 255,71,255 // incl -0x1(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 57,255 // cmp %edi,%edi .byte 255 // (bad) .byte 255,35 // jmpq *(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,154,255,255,255,134 // lcall *-0x79000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,114,255 // pushq -0x1(%rdx) .byte 255 // (bad) .byte 255,92,255,255 // lcall *-0x1(%rdi,%rdi,8) .byte 255 // .byte 0xff HIDDEN _sk_store_bgra_hsw_lowp .globl _sk_store_bgra_hsw_lowp FUNCTION(_sk_store_bgra_hsw_lowp) _sk_store_bgra_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 197,189,113,241,8 // vpsllw $0x8,%ymm1,%ymm8 .byte 197,61,235,194 // vpor %ymm2,%ymm8,%ymm8 .byte 196,66,125,51,200 // vpmovzxwd %xmm8,%ymm9 .byte 196,67,125,57,192,1 // vextracti128 $0x1,%ymm8,%xmm8 .byte 196,66,125,51,208 // vpmovzxwd %xmm8,%ymm10 .byte 197,189,113,243,8 // vpsllw $0x8,%ymm3,%ymm8 .byte 197,61,235,192 // vpor %ymm0,%ymm8,%ymm8 .byte 196,67,125,57,195,1 // vextracti128 $0x1,%ymm8,%xmm11 .byte 196,66,125,51,219 // vpmovzxwd %xmm11,%ymm11 .byte 196,66,125,51,192 // vpmovzxwd %xmm8,%ymm8 .byte 196,193,61,114,240,16 // vpslld $0x10,%ymm8,%ymm8 .byte 196,65,61,235,193 // vpor %ymm9,%ymm8,%ymm8 .byte 196,193,53,114,243,16 // vpslld $0x10,%ymm11,%ymm9 .byte 196,65,53,235,202 // vpor %ymm10,%ymm9,%ymm9 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,30 // ja 23f8d <_sk_store_bgra_hsw_lowp+0x81> .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,195,0,0,0 // lea 0xc3(%rip),%r9 # 2403c <_sk_store_bgra_hsw_lowp+0x130> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,126,4,144 // vmovd %xmm8,(%r8,%rdx,4) .byte 233,171,0,0,0 // jmpq 24038 <_sk_store_bgra_hsw_lowp+0x12c> .byte 196,65,126,127,4,144 // vmovdqu %ymm8,(%r8,%rdx,4) .byte 196,65,126,127,76,144,32 // vmovdqu %ymm9,0x20(%r8,%rdx,4) .byte 233,153,0,0,0 // jmpq 24038 <_sk_store_bgra_hsw_lowp+0x12c> .byte 196,67,121,22,68,144,8,2 // vpextrd $0x2,%xmm8,0x8(%r8,%rdx,4) .byte 196,65,121,214,4,144 // vmovq %xmm8,(%r8,%rdx,4) .byte 233,134,0,0,0 // jmpq 24038 <_sk_store_bgra_hsw_lowp+0x12c> .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,22,76,144,24,2 // vpextrd $0x2,%xmm9,0x18(%r8,%rdx,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,22,76,144,20,1 // vpextrd $0x1,%xmm9,0x14(%r8,%rdx,4) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,121,126,76,144,16 // vmovd %xmm9,0x10(%r8,%rdx,4) .byte 196,65,122,127,4,144 // vmovdqu %xmm8,(%r8,%rdx,4) .byte 235,85 // jmp 24038 <_sk_store_bgra_hsw_lowp+0x12c> .byte 196,67,121,22,76,144,40,2 // vpextrd $0x2,%xmm9,0x28(%r8,%rdx,4) .byte 196,67,121,22,76,144,36,1 // vpextrd $0x1,%xmm9,0x24(%r8,%rdx,4) .byte 196,65,121,126,76,144,32 // vmovd %xmm9,0x20(%r8,%rdx,4) .byte 196,65,126,127,4,144 // vmovdqu %ymm8,(%r8,%rdx,4) .byte 235,54 // jmp 24038 <_sk_store_bgra_hsw_lowp+0x12c> .byte 196,67,125,57,202,1 // vextracti128 $0x1,%ymm9,%xmm10 .byte 196,67,121,22,84,144,56,2 // vpextrd $0x2,%xmm10,0x38(%r8,%rdx,4) .byte 196,67,125,57,202,1 // vextracti128 $0x1,%ymm9,%xmm10 .byte 196,67,121,22,84,144,52,1 // vpextrd $0x1,%xmm10,0x34(%r8,%rdx,4) .byte 196,67,125,57,202,1 // vextracti128 $0x1,%ymm9,%xmm10 .byte 196,65,121,126,84,144,48 // vmovd %xmm10,0x30(%r8,%rdx,4) .byte 196,65,126,127,4,144 // vmovdqu %ymm8,(%r8,%rdx,4) .byte 196,65,122,127,76,144,32 // vmovdqu %xmm9,0x20(%r8,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 70,255 // rex.RX (bad) .byte 255 // (bad) .byte 255,107,255 // ljmp *-0x1(%rbx) .byte 255 // (bad) .byte 255,99,255 // jmpq *-0x1(%rbx) .byte 255 // (bad) .byte 255,159,255,255,255,146 // lcall *-0x6d000001(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,132,255,255,255,118,255 // incl -0x890001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // (bad) .byte 190,255,255,255,183 // mov $0xb7ffffff,%esi .byte 255 // (bad) .byte 255 // (bad) .byte 255,175,255,255,255,167 // ljmp *-0x58000001(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 239 // out %eax,(%dx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,226 // jmpq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255,212 // callq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255,198 // inc %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_565_hsw_lowp .globl _sk_load_565_hsw_lowp FUNCTION(_sk_load_565_hsw_lowp) _sk_load_565_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,37 // ja 240b7 <_sk_load_565_hsw_lowp+0x3f> .byte 197,253,239,192 // vpxor %ymm0,%ymm0,%ymm0 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,132,1,0,0 // lea 0x184(%rip),%r9 # 24224 <_sk_load_565_hsw_lowp+0x1ac> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,80 // movzwl (%r8,%rdx,2),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 233,8,1,0,0 // jmpq 241bf <_sk_load_565_hsw_lowp+0x147> .byte 196,193,126,111,4,80 // vmovdqu (%r8,%rdx,2),%ymm0 .byte 233,253,0,0,0 // jmpq 241bf <_sk_load_565_hsw_lowp+0x147> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,193,121,196,76,80,4,2 // vpinsrw $0x2,0x4(%r8,%rdx,2),%xmm0,%xmm1 .byte 196,227,117,56,192,1 // vinserti128 $0x1,%xmm0,%ymm1,%ymm0 .byte 196,193,121,110,12,80 // vmovd (%r8,%rdx,2),%xmm1 .byte 196,227,125,2,193,1 // vpblendd $0x1,%ymm1,%ymm0,%ymm0 .byte 233,218,0,0,0 // jmpq 241bf <_sk_load_565_hsw_lowp+0x147> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,193,121,196,76,80,12,6 // vpinsrw $0x6,0xc(%r8,%rdx,2),%xmm0,%xmm1 .byte 196,227,117,56,192,1 // vinserti128 $0x1,%xmm0,%ymm1,%ymm0 .byte 196,193,121,196,76,80,10,5 // vpinsrw $0x5,0xa(%r8,%rdx,2),%xmm0,%xmm1 .byte 196,227,125,2,193,15 // vpblendd $0xf,%ymm1,%ymm0,%ymm0 .byte 196,193,121,196,76,80,8,4 // vpinsrw $0x4,0x8(%r8,%rdx,2),%xmm0,%xmm1 .byte 196,227,125,2,193,15 // vpblendd $0xf,%ymm1,%ymm0,%ymm0 .byte 196,193,122,126,12,80 // vmovq (%r8,%rdx,2),%xmm1 .byte 196,227,125,2,193,3 // vpblendd $0x3,%ymm1,%ymm0,%ymm0 .byte 233,155,0,0,0 // jmpq 241bf <_sk_load_565_hsw_lowp+0x147> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,193,121,196,76,80,20,2 // vpinsrw $0x2,0x14(%r8,%rdx,2),%xmm0,%xmm1 .byte 196,227,125,56,193,1 // vinserti128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,227,125,57,193,1 // vextracti128 $0x1,%ymm0,%xmm1 .byte 196,193,113,196,76,80,18,1 // vpinsrw $0x1,0x12(%r8,%rdx,2),%xmm1,%xmm1 .byte 196,227,125,56,193,1 // vinserti128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,227,125,57,193,1 // vextracti128 $0x1,%ymm0,%xmm1 .byte 196,193,113,196,76,80,16,0 // vpinsrw $0x0,0x10(%r8,%rdx,2),%xmm1,%xmm1 .byte 196,227,125,56,193,1 // vinserti128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,193,122,111,12,80 // vmovdqu (%r8,%rdx,2),%xmm1 .byte 196,227,117,2,192,240 // vpblendd $0xf0,%ymm0,%ymm1,%ymm0 .byte 235,83 // jmp 241bf <_sk_load_565_hsw_lowp+0x147> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,193,121,196,76,80,28,6 // vpinsrw $0x6,0x1c(%r8,%rdx,2),%xmm0,%xmm1 .byte 196,227,125,56,193,1 // vinserti128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,227,125,57,193,1 // vextracti128 $0x1,%ymm0,%xmm1 .byte 196,193,113,196,76,80,26,5 // vpinsrw $0x5,0x1a(%r8,%rdx,2),%xmm1,%xmm1 .byte 196,227,125,56,193,1 // vinserti128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,227,125,57,193,1 // vextracti128 $0x1,%ymm0,%xmm1 .byte 196,193,113,196,76,80,24,4 // vpinsrw $0x4,0x18(%r8,%rdx,2),%xmm1,%xmm1 .byte 196,227,125,56,193,1 // vinserti128 $0x1,%xmm1,%ymm0,%ymm0 .byte 196,193,122,126,76,80,16 // vmovq 0x10(%r8,%rdx,2),%xmm1 .byte 196,193,122,111,20,80 // vmovdqu (%r8,%rdx,2),%xmm2 .byte 196,227,109,56,201,1 // vinserti128 $0x1,%xmm1,%ymm2,%ymm1 .byte 196,227,117,2,192,192 // vpblendd $0xc0,%ymm0,%ymm1,%ymm0 .byte 196,226,125,121,13,216,107,0,0 // vpbroadcastw 0x6bd8(%rip),%ymm1 # 2ada0 <_sk_srcover_rgba_8888_sse2_lowp+0x7cc> .byte 197,237,113,208,8 // vpsrlw $0x8,%ymm0,%ymm2 .byte 197,237,219,201 // vpand %ymm1,%ymm2,%ymm1 .byte 197,237,113,208,5 // vpsrlw $0x5,%ymm0,%ymm2 .byte 196,226,125,121,29,195,107,0,0 // vpbroadcastw 0x6bc3(%rip),%ymm3 # 2ada2 <_sk_srcover_rgba_8888_sse2_lowp+0x7ce> .byte 197,237,219,211 // vpand %ymm3,%ymm2,%ymm2 .byte 196,226,125,121,29,184,107,0,0 // vpbroadcastw 0x6bb8(%rip),%ymm3 # 2ada4 <_sk_srcover_rgba_8888_sse2_lowp+0x7d0> .byte 197,253,219,219 // vpand %ymm3,%ymm0,%ymm3 .byte 197,253,113,208,13 // vpsrlw $0xd,%ymm0,%ymm0 .byte 197,245,235,192 // vpor %ymm0,%ymm1,%ymm0 .byte 197,245,113,242,2 // vpsllw $0x2,%ymm2,%ymm1 .byte 197,237,113,210,4 // vpsrlw $0x4,%ymm2,%ymm2 .byte 197,245,235,202 // vpor %ymm2,%ymm1,%ymm1 .byte 197,237,113,243,3 // vpsllw $0x3,%ymm3,%ymm2 .byte 197,229,113,211,2 // vpsrlw $0x2,%ymm3,%ymm3 .byte 197,237,235,211 // vpor %ymm3,%ymm2,%ymm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,121,29,134,107,0,0 // vpbroadcastw 0x6b86(%rip),%ymm3 # 2ada6 <_sk_srcover_rgba_8888_sse2_lowp+0x7d2> .byte 255,224 // jmpq *%rax .byte 102,144 // xchg %ax,%ax .byte 133,254 // test %edi,%esi .byte 255 // (bad) .byte 255,176,254,255,255,158 // pushq -0x61000002(%rax) .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 239 // out %eax,(%dx) .byte 254 // (bad) .byte 255 // (bad) .byte 255,225 // jmpq *%rcx .byte 254 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 254 // (bad) .byte 255 // (bad) .byte 255,193 // inc %ecx .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 58,255 // cmp %bh,%bh .byte 255 // (bad) .byte 255,38 // jmpq *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255,130,255,255,255,110 // incl 0x6effffff(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,90,255 // lcall *-0x1(%rdx) .byte 255 // (bad) .byte 255,72,255 // decl -0x1(%rax) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_565_dst_hsw_lowp .globl _sk_load_565_dst_hsw_lowp FUNCTION(_sk_load_565_dst_hsw_lowp) _sk_load_565_dst_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,37 // ja 2429f <_sk_load_565_dst_hsw_lowp+0x3f> .byte 197,221,239,228 // vpxor %ymm4,%ymm4,%ymm4 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,132,1,0,0 // lea 0x184(%rip),%r9 # 2440c <_sk_load_565_dst_hsw_lowp+0x1ac> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,80 // movzwl (%r8,%rdx,2),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 233,8,1,0,0 // jmpq 243a7 <_sk_load_565_dst_hsw_lowp+0x147> .byte 196,193,126,111,36,80 // vmovdqu (%r8,%rdx,2),%ymm4 .byte 233,253,0,0,0 // jmpq 243a7 <_sk_load_565_dst_hsw_lowp+0x147> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,193,89,196,108,80,4,2 // vpinsrw $0x2,0x4(%r8,%rdx,2),%xmm4,%xmm5 .byte 196,227,85,56,228,1 // vinserti128 $0x1,%xmm4,%ymm5,%ymm4 .byte 196,193,121,110,44,80 // vmovd (%r8,%rdx,2),%xmm5 .byte 196,227,93,2,229,1 // vpblendd $0x1,%ymm5,%ymm4,%ymm4 .byte 233,218,0,0,0 // jmpq 243a7 <_sk_load_565_dst_hsw_lowp+0x147> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,193,89,196,108,80,12,6 // vpinsrw $0x6,0xc(%r8,%rdx,2),%xmm4,%xmm5 .byte 196,227,85,56,228,1 // vinserti128 $0x1,%xmm4,%ymm5,%ymm4 .byte 196,193,89,196,108,80,10,5 // vpinsrw $0x5,0xa(%r8,%rdx,2),%xmm4,%xmm5 .byte 196,227,93,2,229,15 // vpblendd $0xf,%ymm5,%ymm4,%ymm4 .byte 196,193,89,196,108,80,8,4 // vpinsrw $0x4,0x8(%r8,%rdx,2),%xmm4,%xmm5 .byte 196,227,93,2,229,15 // vpblendd $0xf,%ymm5,%ymm4,%ymm4 .byte 196,193,122,126,44,80 // vmovq (%r8,%rdx,2),%xmm5 .byte 196,227,93,2,229,3 // vpblendd $0x3,%ymm5,%ymm4,%ymm4 .byte 233,155,0,0,0 // jmpq 243a7 <_sk_load_565_dst_hsw_lowp+0x147> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,193,89,196,108,80,20,2 // vpinsrw $0x2,0x14(%r8,%rdx,2),%xmm4,%xmm5 .byte 196,227,93,56,229,1 // vinserti128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,227,125,57,229,1 // vextracti128 $0x1,%ymm4,%xmm5 .byte 196,193,81,196,108,80,18,1 // vpinsrw $0x1,0x12(%r8,%rdx,2),%xmm5,%xmm5 .byte 196,227,93,56,229,1 // vinserti128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,227,125,57,229,1 // vextracti128 $0x1,%ymm4,%xmm5 .byte 196,193,81,196,108,80,16,0 // vpinsrw $0x0,0x10(%r8,%rdx,2),%xmm5,%xmm5 .byte 196,227,93,56,229,1 // vinserti128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,193,122,111,44,80 // vmovdqu (%r8,%rdx,2),%xmm5 .byte 196,227,85,2,228,240 // vpblendd $0xf0,%ymm4,%ymm5,%ymm4 .byte 235,83 // jmp 243a7 <_sk_load_565_dst_hsw_lowp+0x147> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,193,89,196,108,80,28,6 // vpinsrw $0x6,0x1c(%r8,%rdx,2),%xmm4,%xmm5 .byte 196,227,93,56,229,1 // vinserti128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,227,125,57,229,1 // vextracti128 $0x1,%ymm4,%xmm5 .byte 196,193,81,196,108,80,26,5 // vpinsrw $0x5,0x1a(%r8,%rdx,2),%xmm5,%xmm5 .byte 196,227,93,56,229,1 // vinserti128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,227,125,57,229,1 // vextracti128 $0x1,%ymm4,%xmm5 .byte 196,193,81,196,108,80,24,4 // vpinsrw $0x4,0x18(%r8,%rdx,2),%xmm5,%xmm5 .byte 196,227,93,56,229,1 // vinserti128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,193,122,126,108,80,16 // vmovq 0x10(%r8,%rdx,2),%xmm5 .byte 196,193,122,111,52,80 // vmovdqu (%r8,%rdx,2),%xmm6 .byte 196,227,77,56,237,1 // vinserti128 $0x1,%xmm5,%ymm6,%ymm5 .byte 196,227,85,2,228,192 // vpblendd $0xc0,%ymm4,%ymm5,%ymm4 .byte 196,226,125,121,45,248,105,0,0 // vpbroadcastw 0x69f8(%rip),%ymm5 # 2ada8 <_sk_srcover_rgba_8888_sse2_lowp+0x7d4> .byte 197,205,113,212,8 // vpsrlw $0x8,%ymm4,%ymm6 .byte 197,205,219,237 // vpand %ymm5,%ymm6,%ymm5 .byte 197,205,113,212,5 // vpsrlw $0x5,%ymm4,%ymm6 .byte 196,226,125,121,61,227,105,0,0 // vpbroadcastw 0x69e3(%rip),%ymm7 # 2adaa <_sk_srcover_rgba_8888_sse2_lowp+0x7d6> .byte 197,205,219,247 // vpand %ymm7,%ymm6,%ymm6 .byte 196,226,125,121,61,216,105,0,0 // vpbroadcastw 0x69d8(%rip),%ymm7 # 2adac <_sk_srcover_rgba_8888_sse2_lowp+0x7d8> .byte 197,221,219,255 // vpand %ymm7,%ymm4,%ymm7 .byte 197,221,113,212,13 // vpsrlw $0xd,%ymm4,%ymm4 .byte 197,213,235,228 // vpor %ymm4,%ymm5,%ymm4 .byte 197,213,113,246,2 // vpsllw $0x2,%ymm6,%ymm5 .byte 197,205,113,214,4 // vpsrlw $0x4,%ymm6,%ymm6 .byte 197,213,235,238 // vpor %ymm6,%ymm5,%ymm5 .byte 197,205,113,247,3 // vpsllw $0x3,%ymm7,%ymm6 .byte 197,197,113,215,2 // vpsrlw $0x2,%ymm7,%ymm7 .byte 197,205,235,247 // vpor %ymm7,%ymm6,%ymm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,121,61,166,105,0,0 // vpbroadcastw 0x69a6(%rip),%ymm7 # 2adae <_sk_srcover_rgba_8888_sse2_lowp+0x7da> .byte 255,224 // jmpq *%rax .byte 102,144 // xchg %ax,%ax .byte 133,254 // test %edi,%esi .byte 255 // (bad) .byte 255,176,254,255,255,158 // pushq -0x61000002(%rax) .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 239 // out %eax,(%dx) .byte 254 // (bad) .byte 255 // (bad) .byte 255,225 // jmpq *%rcx .byte 254 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 254 // (bad) .byte 255 // (bad) .byte 255,193 // inc %ecx .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 58,255 // cmp %bh,%bh .byte 255 // (bad) .byte 255,38 // jmpq *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255,130,255,255,255,110 // incl 0x6effffff(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,90,255 // lcall *-0x1(%rdx) .byte 255 // (bad) .byte 255,72,255 // decl -0x1(%rax) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_565_hsw_lowp .globl _sk_store_565_hsw_lowp FUNCTION(_sk_store_565_hsw_lowp) _sk_store_565_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 196,98,125,121,5,79,105,0,0 // vpbroadcastw 0x694f(%rip),%ymm8 # 2adb0 <_sk_srcover_rgba_8888_sse2_lowp+0x7dc> .byte 197,181,113,240,8 // vpsllw $0x8,%ymm0,%ymm9 .byte 196,65,53,219,192 // vpand %ymm8,%ymm9,%ymm8 .byte 196,98,125,121,13,62,105,0,0 // vpbroadcastw 0x693e(%rip),%ymm9 # 2adb2 <_sk_srcover_rgba_8888_sse2_lowp+0x7de> .byte 197,173,113,241,3 // vpsllw $0x3,%ymm1,%ymm10 .byte 196,65,45,219,201 // vpand %ymm9,%ymm10,%ymm9 .byte 196,65,53,235,192 // vpor %ymm8,%ymm9,%ymm8 .byte 197,181,113,210,3 // vpsrlw $0x3,%ymm2,%ymm9 .byte 196,65,61,235,193 // vpor %ymm9,%ymm8,%ymm8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,31 // ja 244b6 <_sk_store_565_hsw_lowp+0x6e> .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,195,0,0,0 // lea 0xc3(%rip),%r9 # 24564 <_sk_store_565_hsw_lowp+0x11c> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 196,67,121,21,4,80,0 // vpextrw $0x0,%xmm8,(%r8,%rdx,2) .byte 233,167,0,0,0 // jmpq 2455d <_sk_store_565_hsw_lowp+0x115> .byte 196,65,126,127,4,80 // vmovdqu %ymm8,(%r8,%rdx,2) .byte 233,156,0,0,0 // jmpq 2455d <_sk_store_565_hsw_lowp+0x115> .byte 196,67,121,21,68,80,4,2 // vpextrw $0x2,%xmm8,0x4(%r8,%rdx,2) .byte 196,65,121,126,4,80 // vmovd %xmm8,(%r8,%rdx,2) .byte 233,137,0,0,0 // jmpq 2455d <_sk_store_565_hsw_lowp+0x115> .byte 196,67,121,21,68,80,12,6 // vpextrw $0x6,%xmm8,0xc(%r8,%rdx,2) .byte 196,67,121,21,68,80,10,5 // vpextrw $0x5,%xmm8,0xa(%r8,%rdx,2) .byte 196,67,121,21,68,80,8,4 // vpextrw $0x4,%xmm8,0x8(%r8,%rdx,2) .byte 196,65,121,214,4,80 // vmovq %xmm8,(%r8,%rdx,2) .byte 235,105 // jmp 2455d <_sk_store_565_hsw_lowp+0x115> .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,21,76,80,20,2 // vpextrw $0x2,%xmm9,0x14(%r8,%rdx,2) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,21,76,80,18,1 // vpextrw $0x1,%xmm9,0x12(%r8,%rdx,2) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,21,76,80,16,0 // vpextrw $0x0,%xmm9,0x10(%r8,%rdx,2) .byte 235,55 // jmp 24557 <_sk_store_565_hsw_lowp+0x10f> .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,21,76,80,28,6 // vpextrw $0x6,%xmm9,0x1c(%r8,%rdx,2) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,21,76,80,26,5 // vpextrw $0x5,%xmm9,0x1a(%r8,%rdx,2) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,21,76,80,24,4 // vpextrw $0x4,%xmm9,0x18(%r8,%rdx,2) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,121,214,76,80,16 // vmovq %xmm9,0x10(%r8,%rdx,2) .byte 196,65,122,127,4,80 // vmovdqu %xmm8,(%r8,%rdx,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 70,255 // rex.RX (bad) .byte 255 // (bad) .byte 255,101,255 // jmpq *-0x1(%rbp) .byte 255 // (bad) .byte 255,93,255 // lcall *-0x1(%rbp) .byte 255 // (bad) .byte 255,136,255,255,255,128 // decl -0x7f000001(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 120,255 // js 24579 <_sk_store_565_hsw_lowp+0x131> .byte 255 // (bad) .byte 255,112,255 // pushq -0x1(%rax) .byte 255 // (bad) .byte 255,243 // push %rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255,172,255,255,255,158,255 // ljmp *-0x610001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,144,255,255,255,230 // callq *-0x19000001(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 216,255 // fdivr %st(7),%st .byte 255 // (bad) .byte 255,202 // dec %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 188 // .byte 0xbc .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_a8_hsw_lowp .globl _sk_load_a8_hsw_lowp FUNCTION(_sk_load_a8_hsw_lowp) _sk_load_a8_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,37 // ja 245dc <_sk_load_a8_hsw_lowp+0x3c> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,219,0,0,0 // lea 0xdb(%rip),%r9 # 246a0 <_sk_load_a8_hsw_lowp+0x100> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 233,175,0,0,0 // jmpq 2468b <_sk_load_a8_hsw_lowp+0xeb> .byte 196,193,122,111,4,16 // vmovdqu (%r8,%rdx,1),%xmm0 .byte 233,164,0,0,0 // jmpq 2468b <_sk_load_a8_hsw_lowp+0xeb> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,16,2,2 // vpinsrb $0x2,0x2(%r8,%rdx,1),%xmm0,%xmm0 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 197,249,110,200 // vmovd %eax,%xmm1 .byte 196,227,121,14,193,1 // vpblendw $0x1,%xmm1,%xmm0,%xmm0 .byte 233,132,0,0,0 // jmpq 2468b <_sk_load_a8_hsw_lowp+0xeb> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,16,6,6 // vpinsrb $0x6,0x6(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,16,5,5 // vpinsrb $0x5,0x5(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,16,4,4 // vpinsrb $0x4,0x4(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,193,121,110,12,16 // vmovd (%r8,%rdx,1),%xmm1 .byte 196,227,121,2,193,1 // vpblendd $0x1,%xmm1,%xmm0,%xmm0 .byte 235,90 // jmp 2468b <_sk_load_a8_hsw_lowp+0xeb> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,16,10,10 // vpinsrb $0xa,0xa(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,16,9,9 // vpinsrb $0x9,0x9(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,16,8,8 // vpinsrb $0x8,0x8(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,193,122,126,12,16 // vmovq (%r8,%rdx,1),%xmm1 .byte 196,227,113,2,192,12 // vpblendd $0xc,%xmm0,%xmm1,%xmm0 .byte 235,48 // jmp 2468b <_sk_load_a8_hsw_lowp+0xeb> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,16,14,14 // vpinsrb $0xe,0xe(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,16,13,13 // vpinsrb $0xd,0xd(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,16,12,12 // vpinsrb $0xc,0xc(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,193,122,126,12,16 // vmovq (%r8,%rdx,1),%xmm1 .byte 196,195,113,34,76,16,8,2 // vpinsrd $0x2,0x8(%r8,%rdx,1),%xmm1,%xmm1 .byte 196,227,113,2,192,8 // vpblendd $0x8,%xmm0,%xmm1,%xmm0 .byte 196,226,125,48,216 // vpmovzxbw %xmm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,253,239,192 // vpxor %ymm0,%ymm0,%ymm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 197,236,87,210 // vxorps %ymm2,%ymm2,%ymm2 .byte 255,224 // jmpq *%rax .byte 46,255 // cs (bad) .byte 255 // (bad) .byte 255,83,255 // callq *-0x1(%rbx) .byte 255 // (bad) .byte 255,71,255 // incl -0x1(%rdi) .byte 255 // (bad) .byte 255,131,255,255,255,123 // incl 0x7bffffff(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,115,255 // pushq -0x1(%rbx) .byte 255 // (bad) .byte 255,103,255 // jmpq *-0x1(%rdi) .byte 255 // (bad) .byte 255,173,255,255,255,165 // ljmp *-0x5a000001(%rbp) .byte 255 // (bad) .byte 255 // (bad) .byte 255,157,255,255,255,145 // lcall *-0x6e000001(%rbp) .byte 255 // (bad) .byte 255 // (bad) .byte 255,215 // callq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255,207 // dec %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255,199 // inc %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 187 // .byte 0xbb .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_a8_dst_hsw_lowp .globl _sk_load_a8_dst_hsw_lowp FUNCTION(_sk_load_a8_dst_hsw_lowp) _sk_load_a8_dst_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,37 // ja 24718 <_sk_load_a8_dst_hsw_lowp+0x3c> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,219,0,0,0 // lea 0xdb(%rip),%r9 # 247dc <_sk_load_a8_dst_hsw_lowp+0x100> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 233,175,0,0,0 // jmpq 247c7 <_sk_load_a8_dst_hsw_lowp+0xeb> .byte 196,193,122,111,36,16 // vmovdqu (%r8,%rdx,1),%xmm4 .byte 233,164,0,0,0 // jmpq 247c7 <_sk_load_a8_dst_hsw_lowp+0xeb> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,16,2,2 // vpinsrb $0x2,0x2(%r8,%rdx,1),%xmm4,%xmm4 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 197,249,110,232 // vmovd %eax,%xmm5 .byte 196,227,89,14,229,1 // vpblendw $0x1,%xmm5,%xmm4,%xmm4 .byte 233,132,0,0,0 // jmpq 247c7 <_sk_load_a8_dst_hsw_lowp+0xeb> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,16,6,6 // vpinsrb $0x6,0x6(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,16,5,5 // vpinsrb $0x5,0x5(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,16,4,4 // vpinsrb $0x4,0x4(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,193,121,110,44,16 // vmovd (%r8,%rdx,1),%xmm5 .byte 196,227,89,2,229,1 // vpblendd $0x1,%xmm5,%xmm4,%xmm4 .byte 235,90 // jmp 247c7 <_sk_load_a8_dst_hsw_lowp+0xeb> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,16,10,10 // vpinsrb $0xa,0xa(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,16,9,9 // vpinsrb $0x9,0x9(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,16,8,8 // vpinsrb $0x8,0x8(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,193,122,126,44,16 // vmovq (%r8,%rdx,1),%xmm5 .byte 196,227,81,2,228,12 // vpblendd $0xc,%xmm4,%xmm5,%xmm4 .byte 235,48 // jmp 247c7 <_sk_load_a8_dst_hsw_lowp+0xeb> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,16,14,14 // vpinsrb $0xe,0xe(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,16,13,13 // vpinsrb $0xd,0xd(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,16,12,12 // vpinsrb $0xc,0xc(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,193,122,126,44,16 // vmovq (%r8,%rdx,1),%xmm5 .byte 196,195,81,34,108,16,8,2 // vpinsrd $0x2,0x8(%r8,%rdx,1),%xmm5,%xmm5 .byte 196,227,81,2,228,8 // vpblendd $0x8,%xmm4,%xmm5,%xmm4 .byte 196,226,125,48,252 // vpmovzxbw %xmm4,%ymm7 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,221,239,228 // vpxor %ymm4,%ymm4,%ymm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 197,204,87,246 // vxorps %ymm6,%ymm6,%ymm6 .byte 255,224 // jmpq *%rax .byte 46,255 // cs (bad) .byte 255 // (bad) .byte 255,83,255 // callq *-0x1(%rbx) .byte 255 // (bad) .byte 255,71,255 // incl -0x1(%rdi) .byte 255 // (bad) .byte 255,131,255,255,255,123 // incl 0x7bffffff(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,115,255 // pushq -0x1(%rbx) .byte 255 // (bad) .byte 255,103,255 // jmpq *-0x1(%rdi) .byte 255 // (bad) .byte 255,173,255,255,255,165 // ljmp *-0x5a000001(%rbp) .byte 255 // (bad) .byte 255 // (bad) .byte 255,157,255,255,255,145 // lcall *-0x6e000001(%rbp) .byte 255 // (bad) .byte 255 // (bad) .byte 255,215 // callq *%rdi .byte 255 // (bad) .byte 255 // (bad) .byte 255,207 // dec %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255,199 // inc %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 187 // .byte 0xbb .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_a8_hsw_lowp .globl _sk_store_a8_hsw_lowp FUNCTION(_sk_store_a8_hsw_lowp) _sk_store_a8_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 196,195,125,57,216,1 // vextracti128 $0x1,%ymm3,%xmm8 .byte 197,121,111,13,189,110,0,0 // vmovdqa 0x6ebd(%rip),%xmm9 # 2b6f0 <_sk_srcover_rgba_8888_sse2_lowp+0x111c> .byte 196,66,57,0,193 // vpshufb %xmm9,%xmm8,%xmm8 .byte 196,66,97,0,201 // vpshufb %xmm9,%xmm3,%xmm9 .byte 196,65,49,108,192 // vpunpcklqdq %xmm8,%xmm9,%xmm8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,28 // ja 24868 <_sk_store_a8_hsw_lowp+0x50> .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,146,0,0,0 // lea 0x92(%rip),%r9 # 248e8 <_sk_store_a8_hsw_lowp+0xd0> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 196,67,121,20,4,16,0 // vpextrb $0x0,%xmm8,(%r8,%rdx,1) .byte 235,121 // jmp 248e1 <_sk_store_a8_hsw_lowp+0xc9> .byte 196,65,122,127,4,16 // vmovdqu %xmm8,(%r8,%rdx,1) .byte 235,113 // jmp 248e1 <_sk_store_a8_hsw_lowp+0xc9> .byte 196,67,121,20,68,16,2,2 // vpextrb $0x2,%xmm8,0x2(%r8,%rdx,1) .byte 196,67,121,21,4,16,0 // vpextrw $0x0,%xmm8,(%r8,%rdx,1) .byte 235,96 // jmp 248e1 <_sk_store_a8_hsw_lowp+0xc9> .byte 196,67,121,20,68,16,6,6 // vpextrb $0x6,%xmm8,0x6(%r8,%rdx,1) .byte 196,67,121,20,68,16,5,5 // vpextrb $0x5,%xmm8,0x5(%r8,%rdx,1) .byte 196,67,121,20,68,16,4,4 // vpextrb $0x4,%xmm8,0x4(%r8,%rdx,1) .byte 196,65,121,126,4,16 // vmovd %xmm8,(%r8,%rdx,1) .byte 235,64 // jmp 248e1 <_sk_store_a8_hsw_lowp+0xc9> .byte 196,67,121,20,68,16,10,10 // vpextrb $0xa,%xmm8,0xa(%r8,%rdx,1) .byte 196,67,121,20,68,16,9,9 // vpextrb $0x9,%xmm8,0x9(%r8,%rdx,1) .byte 196,67,121,20,68,16,8,8 // vpextrb $0x8,%xmm8,0x8(%r8,%rdx,1) .byte 235,32 // jmp 248db <_sk_store_a8_hsw_lowp+0xc3> .byte 196,67,121,20,68,16,14,14 // vpextrb $0xe,%xmm8,0xe(%r8,%rdx,1) .byte 196,67,121,20,68,16,13,13 // vpextrb $0xd,%xmm8,0xd(%r8,%rdx,1) .byte 196,67,121,20,68,16,12,12 // vpextrb $0xc,%xmm8,0xc(%r8,%rdx,1) .byte 196,67,121,22,68,16,8,2 // vpextrd $0x2,%xmm8,0x8(%r8,%rdx,1) .byte 196,65,121,214,4,16 // vmovq %xmm8,(%r8,%rdx,1) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 119,255 // ja 248e9 <_sk_store_a8_hsw_lowp+0xd1> .byte 255 // (bad) .byte 255,144,255,255,255,136 // callq *-0x77000001(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255,177,255,255,255,169 // pushq -0x56000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,161,255,255,255,153 // jmpq *-0x66000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,243 // push %rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255,201 // dec %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255,193 // inc %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 185,255,255,255,235 // mov $0xebffffff,%ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255,227 // jmpq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 219,255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_g8_hsw_lowp .globl _sk_load_g8_hsw_lowp FUNCTION(_sk_load_g8_hsw_lowp) _sk_load_g8_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,37 // ja 24960 <_sk_load_g8_hsw_lowp+0x3c> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,227,0,0,0 // lea 0xe3(%rip),%r9 # 24a2c <_sk_load_g8_hsw_lowp+0x108> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 197,249,110,192 // vmovd %eax,%xmm0 .byte 233,175,0,0,0 // jmpq 24a0f <_sk_load_g8_hsw_lowp+0xeb> .byte 196,193,122,111,4,16 // vmovdqu (%r8,%rdx,1),%xmm0 .byte 233,164,0,0,0 // jmpq 24a0f <_sk_load_g8_hsw_lowp+0xeb> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,16,2,2 // vpinsrb $0x2,0x2(%r8,%rdx,1),%xmm0,%xmm0 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 197,249,110,200 // vmovd %eax,%xmm1 .byte 196,227,121,14,193,1 // vpblendw $0x1,%xmm1,%xmm0,%xmm0 .byte 233,132,0,0,0 // jmpq 24a0f <_sk_load_g8_hsw_lowp+0xeb> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,16,6,6 // vpinsrb $0x6,0x6(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,16,5,5 // vpinsrb $0x5,0x5(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,16,4,4 // vpinsrb $0x4,0x4(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,193,121,110,12,16 // vmovd (%r8,%rdx,1),%xmm1 .byte 196,227,121,2,193,1 // vpblendd $0x1,%xmm1,%xmm0,%xmm0 .byte 235,90 // jmp 24a0f <_sk_load_g8_hsw_lowp+0xeb> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,16,10,10 // vpinsrb $0xa,0xa(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,16,9,9 // vpinsrb $0x9,0x9(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,16,8,8 // vpinsrb $0x8,0x8(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,193,122,126,12,16 // vmovq (%r8,%rdx,1),%xmm1 .byte 196,227,113,2,192,12 // vpblendd $0xc,%xmm0,%xmm1,%xmm0 .byte 235,48 // jmp 24a0f <_sk_load_g8_hsw_lowp+0xeb> .byte 197,249,239,192 // vpxor %xmm0,%xmm0,%xmm0 .byte 196,195,121,32,68,16,14,14 // vpinsrb $0xe,0xe(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,16,13,13 // vpinsrb $0xd,0xd(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,195,121,32,68,16,12,12 // vpinsrb $0xc,0xc(%r8,%rdx,1),%xmm0,%xmm0 .byte 196,193,122,126,12,16 // vmovq (%r8,%rdx,1),%xmm1 .byte 196,195,113,34,76,16,8,2 // vpinsrd $0x2,0x8(%r8,%rdx,1),%xmm1,%xmm1 .byte 196,227,113,2,192,8 // vpblendd $0x8,%xmm0,%xmm1,%xmm0 .byte 196,226,125,48,192 // vpmovzxbw %xmm0,%ymm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,121,29,149,99,0,0 // vpbroadcastw 0x6395(%rip),%ymm3 # 2adb4 <_sk_srcover_rgba_8888_sse2_lowp+0x7e0> .byte 197,253,111,200 // vmovdqa %ymm0,%ymm1 .byte 197,253,111,208 // vmovdqa %ymm0,%ymm2 .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 38,255 // es (bad) .byte 255 // (bad) .byte 255,75,255 // decl -0x1(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 63 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 123,255 // jnp 24a39 <_sk_load_g8_hsw_lowp+0x115> .byte 255 // (bad) .byte 255,115,255 // pushq -0x1(%rbx) .byte 255 // (bad) .byte 255,107,255 // ljmp *-0x1(%rbx) .byte 255 // (bad) .byte 255,95,255 // lcall *-0x1(%rdi) .byte 255 // (bad) .byte 255,165,255,255,255,157 // jmpq *-0x62000001(%rbp) .byte 255 // (bad) .byte 255 // (bad) .byte 255,149,255,255,255,137 // callq *-0x76000001(%rbp) .byte 255 // (bad) .byte 255 // (bad) .byte 255,207 // dec %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255,199 // inc %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 191,255,255,255,179 // mov $0xb3ffffff,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_g8_dst_hsw_lowp .globl _sk_load_g8_dst_hsw_lowp FUNCTION(_sk_load_g8_dst_hsw_lowp) _sk_load_g8_dst_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,37 // ja 24aa4 <_sk_load_g8_dst_hsw_lowp+0x3c> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,227,0,0,0 // lea 0xe3(%rip),%r9 # 24b70 <_sk_load_g8_dst_hsw_lowp+0x108> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 197,249,110,224 // vmovd %eax,%xmm4 .byte 233,175,0,0,0 // jmpq 24b53 <_sk_load_g8_dst_hsw_lowp+0xeb> .byte 196,193,122,111,36,16 // vmovdqu (%r8,%rdx,1),%xmm4 .byte 233,164,0,0,0 // jmpq 24b53 <_sk_load_g8_dst_hsw_lowp+0xeb> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,16,2,2 // vpinsrb $0x2,0x2(%r8,%rdx,1),%xmm4,%xmm4 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 197,249,110,232 // vmovd %eax,%xmm5 .byte 196,227,89,14,229,1 // vpblendw $0x1,%xmm5,%xmm4,%xmm4 .byte 233,132,0,0,0 // jmpq 24b53 <_sk_load_g8_dst_hsw_lowp+0xeb> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,16,6,6 // vpinsrb $0x6,0x6(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,16,5,5 // vpinsrb $0x5,0x5(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,16,4,4 // vpinsrb $0x4,0x4(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,193,121,110,44,16 // vmovd (%r8,%rdx,1),%xmm5 .byte 196,227,89,2,229,1 // vpblendd $0x1,%xmm5,%xmm4,%xmm4 .byte 235,90 // jmp 24b53 <_sk_load_g8_dst_hsw_lowp+0xeb> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,16,10,10 // vpinsrb $0xa,0xa(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,16,9,9 // vpinsrb $0x9,0x9(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,16,8,8 // vpinsrb $0x8,0x8(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,193,122,126,44,16 // vmovq (%r8,%rdx,1),%xmm5 .byte 196,227,81,2,228,12 // vpblendd $0xc,%xmm4,%xmm5,%xmm4 .byte 235,48 // jmp 24b53 <_sk_load_g8_dst_hsw_lowp+0xeb> .byte 197,217,239,228 // vpxor %xmm4,%xmm4,%xmm4 .byte 196,195,89,32,100,16,14,14 // vpinsrb $0xe,0xe(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,16,13,13 // vpinsrb $0xd,0xd(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,195,89,32,100,16,12,12 // vpinsrb $0xc,0xc(%r8,%rdx,1),%xmm4,%xmm4 .byte 196,193,122,126,44,16 // vmovq (%r8,%rdx,1),%xmm5 .byte 196,195,81,34,108,16,8,2 // vpinsrd $0x2,0x8(%r8,%rdx,1),%xmm5,%xmm5 .byte 196,227,81,2,228,8 // vpblendd $0x8,%xmm4,%xmm5,%xmm4 .byte 196,226,125,48,228 // vpmovzxbw %xmm4,%ymm4 .byte 72,173 // lods %ds:(%rsi),%rax .byte 196,226,125,121,61,83,98,0,0 // vpbroadcastw 0x6253(%rip),%ymm7 # 2adb6 <_sk_srcover_rgba_8888_sse2_lowp+0x7e2> .byte 197,253,111,236 // vmovdqa %ymm4,%ymm5 .byte 197,253,111,244 // vmovdqa %ymm4,%ymm6 .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 38,255 // es (bad) .byte 255 // (bad) .byte 255,75,255 // decl -0x1(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 63 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 123,255 // jnp 24b7d <_sk_load_g8_dst_hsw_lowp+0x115> .byte 255 // (bad) .byte 255,115,255 // pushq -0x1(%rbx) .byte 255 // (bad) .byte 255,107,255 // ljmp *-0x1(%rbx) .byte 255 // (bad) .byte 255,95,255 // lcall *-0x1(%rdi) .byte 255 // (bad) .byte 255,165,255,255,255,157 // jmpq *-0x62000001(%rbp) .byte 255 // (bad) .byte 255 // (bad) .byte 255,149,255,255,255,137 // callq *-0x76000001(%rbp) .byte 255 // (bad) .byte 255 // (bad) .byte 255,207 // dec %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255,199 // inc %edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 191,255,255,255,179 // mov $0xb3ffffff,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_luminance_to_alpha_hsw_lowp .globl _sk_luminance_to_alpha_hsw_lowp FUNCTION(_sk_luminance_to_alpha_hsw_lowp) _sk_luminance_to_alpha_hsw_lowp: .byte 196,226,125,121,29,3,98,0,0 // vpbroadcastw 0x6203(%rip),%ymm3 # 2adb8 <_sk_srcover_rgba_8888_sse2_lowp+0x7e4> .byte 197,253,213,195 // vpmullw %ymm3,%ymm0,%ymm0 .byte 196,226,125,121,29,248,97,0,0 // vpbroadcastw 0x61f8(%rip),%ymm3 # 2adba <_sk_srcover_rgba_8888_sse2_lowp+0x7e6> .byte 197,245,213,203 // vpmullw %ymm3,%ymm1,%ymm1 .byte 197,245,253,192 // vpaddw %ymm0,%ymm1,%ymm0 .byte 196,226,125,121,13,233,97,0,0 // vpbroadcastw 0x61e9(%rip),%ymm1 # 2adbc <_sk_srcover_rgba_8888_sse2_lowp+0x7e8> .byte 197,237,213,201 // vpmullw %ymm1,%ymm2,%ymm1 .byte 197,253,253,193 // vpaddw %ymm1,%ymm0,%ymm0 .byte 197,229,113,208,8 // vpsrlw $0x8,%ymm0,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,253,239,192 // vpxor %ymm0,%ymm0,%ymm0 .byte 197,245,239,201 // vpxor %ymm1,%ymm1,%ymm1 .byte 197,237,239,210 // vpxor %ymm2,%ymm2,%ymm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_1_float_hsw_lowp .globl _sk_scale_1_float_hsw_lowp FUNCTION(_sk_scale_1_float_hsw_lowp) _sk_scale_1_float_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,122,16,0 // vmovss (%rax),%xmm8 .byte 197,122,16,13,54,98,0,0 // vmovss 0x6236(%rip),%xmm9 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .byte 196,98,57,169,13,253,97,0,0 // vfmadd213ss 0x61fd(%rip),%xmm8,%xmm9 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 196,193,122,44,193 // vcvttss2si %xmm9,%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,66,125,121,192 // vpbroadcastw %xmm8,%ymm8 .byte 197,189,213,192 // vpmullw %ymm0,%ymm8,%ymm0 .byte 196,98,125,121,13,156,97,0,0 // vpbroadcastw 0x619c(%rip),%ymm9 # 2adbe <_sk_srcover_rgba_8888_sse2_lowp+0x7ea> .byte 196,193,125,253,193 // vpaddw %ymm9,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,189,213,201 // vpmullw %ymm1,%ymm8,%ymm1 .byte 196,193,117,253,201 // vpaddw %ymm9,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,189,213,210 // vpmullw %ymm2,%ymm8,%ymm2 .byte 196,193,109,253,209 // vpaddw %ymm9,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,189,213,219 // vpmullw %ymm3,%ymm8,%ymm3 .byte 196,193,101,253,217 // vpaddw %ymm9,%ymm3,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lerp_1_float_hsw_lowp .globl _sk_lerp_1_float_hsw_lowp FUNCTION(_sk_lerp_1_float_hsw_lowp) _sk_lerp_1_float_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 197,122,16,0 // vmovss (%rax),%xmm8 .byte 197,122,16,13,204,97,0,0 // vmovss 0x61cc(%rip),%xmm9 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .byte 196,98,57,169,13,147,97,0,0 // vfmadd213ss 0x6193(%rip),%xmm8,%xmm9 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 196,193,122,44,193 // vcvttss2si %xmm9,%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 196,66,125,121,192 // vpbroadcastw %xmm8,%ymm8 .byte 196,98,125,121,13,56,97,0,0 // vpbroadcastw 0x6138(%rip),%ymm9 # 2adc0 <_sk_srcover_rgba_8888_sse2_lowp+0x7ec> .byte 196,65,53,249,208 // vpsubw %ymm8,%ymm9,%ymm10 .byte 197,45,213,220 // vpmullw %ymm4,%ymm10,%ymm11 .byte 197,189,213,192 // vpmullw %ymm0,%ymm8,%ymm0 .byte 196,193,125,253,193 // vpaddw %ymm9,%ymm0,%ymm0 .byte 197,165,253,192 // vpaddw %ymm0,%ymm11,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,45,213,221 // vpmullw %ymm5,%ymm10,%ymm11 .byte 197,189,213,201 // vpmullw %ymm1,%ymm8,%ymm1 .byte 196,193,117,253,201 // vpaddw %ymm9,%ymm1,%ymm1 .byte 197,165,253,201 // vpaddw %ymm1,%ymm11,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,45,213,222 // vpmullw %ymm6,%ymm10,%ymm11 .byte 197,189,213,210 // vpmullw %ymm2,%ymm8,%ymm2 .byte 196,193,109,253,209 // vpaddw %ymm9,%ymm2,%ymm2 .byte 197,165,253,210 // vpaddw %ymm2,%ymm11,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,45,213,215 // vpmullw %ymm7,%ymm10,%ymm10 .byte 197,189,213,219 // vpmullw %ymm3,%ymm8,%ymm3 .byte 196,193,101,253,217 // vpaddw %ymm9,%ymm3,%ymm3 .byte 197,173,253,219 // vpaddw %ymm3,%ymm10,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_u8_hsw_lowp .globl _sk_scale_u8_hsw_lowp FUNCTION(_sk_scale_u8_hsw_lowp) _sk_scale_u8_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,38 // ja 24d26 <_sk_scale_u8_hsw_lowp+0x3d> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,21,1,0,0 // lea 0x115(%rip),%r9 # 24e24 <_sk_scale_u8_hsw_lowp+0x13b> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 233,179,0,0,0 // jmpq 24dd9 <_sk_scale_u8_hsw_lowp+0xf0> .byte 196,65,122,111,4,16 // vmovdqu (%r8,%rdx,1),%xmm8 .byte 233,168,0,0,0 // jmpq 24dd9 <_sk_scale_u8_hsw_lowp+0xf0> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,16,2,2 // vpinsrb $0x2,0x2(%r8,%rdx,1),%xmm8,%xmm8 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 197,121,110,200 // vmovd %eax,%xmm9 .byte 196,67,57,14,193,1 // vpblendw $0x1,%xmm9,%xmm8,%xmm8 .byte 233,135,0,0,0 // jmpq 24dd9 <_sk_scale_u8_hsw_lowp+0xf0> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,16,6,6 // vpinsrb $0x6,0x6(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,16,5,5 // vpinsrb $0x5,0x5(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,16,4,4 // vpinsrb $0x4,0x4(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,65,121,110,12,16 // vmovd (%r8,%rdx,1),%xmm9 .byte 196,67,57,2,193,1 // vpblendd $0x1,%xmm9,%xmm8,%xmm8 .byte 235,92 // jmp 24dd9 <_sk_scale_u8_hsw_lowp+0xf0> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,16,10,10 // vpinsrb $0xa,0xa(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,16,9,9 // vpinsrb $0x9,0x9(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,16,8,8 // vpinsrb $0x8,0x8(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,65,122,126,12,16 // vmovq (%r8,%rdx,1),%xmm9 .byte 196,67,49,2,192,12 // vpblendd $0xc,%xmm8,%xmm9,%xmm8 .byte 235,49 // jmp 24dd9 <_sk_scale_u8_hsw_lowp+0xf0> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,16,14,14 // vpinsrb $0xe,0xe(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,16,13,13 // vpinsrb $0xd,0xd(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,16,12,12 // vpinsrb $0xc,0xc(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,65,122,126,12,16 // vmovq (%r8,%rdx,1),%xmm9 .byte 196,67,49,34,76,16,8,2 // vpinsrd $0x2,0x8(%r8,%rdx,1),%xmm9,%xmm9 .byte 196,67,49,2,192,8 // vpblendd $0x8,%xmm8,%xmm9,%xmm8 .byte 196,66,125,48,192 // vpmovzxbw %xmm8,%ymm8 .byte 197,189,213,192 // vpmullw %ymm0,%ymm8,%ymm0 .byte 196,98,125,121,13,215,95,0,0 // vpbroadcastw 0x5fd7(%rip),%ymm9 # 2adc2 <_sk_srcover_rgba_8888_sse2_lowp+0x7ee> .byte 196,193,125,253,193 // vpaddw %ymm9,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,189,213,201 // vpmullw %ymm1,%ymm8,%ymm1 .byte 196,193,117,253,201 // vpaddw %ymm9,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,189,213,210 // vpmullw %ymm2,%ymm8,%ymm2 .byte 196,193,109,253,209 // vpaddw %ymm9,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,189,213,219 // vpmullw %ymm3,%ymm8,%ymm3 .byte 196,193,101,253,217 // vpaddw %ymm9,%ymm3,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 144 // nop .byte 244 // hlt .byte 254 // (bad) .byte 255 // (bad) .byte 255,26 // lcall *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,75 // decl 0x4bffffff(%rip) # 4c024e30 <_sk_srcover_rgba_8888_sse2_lowp+0x4bffa85c> .byte 255 // (bad) .byte 255 // (bad) .byte 255,67,255 // incl -0x1(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 59,255 // cmp %edi,%edi .byte 255 // (bad) .byte 255,46 // ljmp *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,118,255 // pushq -0x1(%rsi) .byte 255 // (bad) .byte 255,110,255 // ljmp *-0x1(%rsi) .byte 255 // (bad) .byte 255,102,255 // jmpq *-0x1(%rsi) .byte 255 // (bad) .byte 255,89,255 // lcall *-0x1(%rcx) .byte 255 // (bad) .byte 255,161,255,255,255,153 // jmpq *-0x66000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,145,255,255,255,132 // callq *-0x7b000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_lerp_u8_hsw_lowp .globl _sk_lerp_u8_hsw_lowp FUNCTION(_sk_lerp_u8_hsw_lowp) _sk_lerp_u8_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,38 // ja 24e9d <_sk_lerp_u8_hsw_lowp+0x3d> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,58,1,0,0 // lea 0x13a(%rip),%r9 # 24fc0 <_sk_lerp_u8_hsw_lowp+0x160> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 233,179,0,0,0 // jmpq 24f50 <_sk_lerp_u8_hsw_lowp+0xf0> .byte 196,65,122,111,4,16 // vmovdqu (%r8,%rdx,1),%xmm8 .byte 233,168,0,0,0 // jmpq 24f50 <_sk_lerp_u8_hsw_lowp+0xf0> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,16,2,2 // vpinsrb $0x2,0x2(%r8,%rdx,1),%xmm8,%xmm8 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 197,121,110,200 // vmovd %eax,%xmm9 .byte 196,67,57,14,193,1 // vpblendw $0x1,%xmm9,%xmm8,%xmm8 .byte 233,135,0,0,0 // jmpq 24f50 <_sk_lerp_u8_hsw_lowp+0xf0> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,16,6,6 // vpinsrb $0x6,0x6(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,16,5,5 // vpinsrb $0x5,0x5(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,16,4,4 // vpinsrb $0x4,0x4(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,65,121,110,12,16 // vmovd (%r8,%rdx,1),%xmm9 .byte 196,67,57,2,193,1 // vpblendd $0x1,%xmm9,%xmm8,%xmm8 .byte 235,92 // jmp 24f50 <_sk_lerp_u8_hsw_lowp+0xf0> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,16,10,10 // vpinsrb $0xa,0xa(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,16,9,9 // vpinsrb $0x9,0x9(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,16,8,8 // vpinsrb $0x8,0x8(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,65,122,126,12,16 // vmovq (%r8,%rdx,1),%xmm9 .byte 196,67,49,2,192,12 // vpblendd $0xc,%xmm8,%xmm9,%xmm8 .byte 235,49 // jmp 24f50 <_sk_lerp_u8_hsw_lowp+0xf0> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,67,57,32,68,16,14,14 // vpinsrb $0xe,0xe(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,16,13,13 // vpinsrb $0xd,0xd(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,67,57,32,68,16,12,12 // vpinsrb $0xc,0xc(%r8,%rdx,1),%xmm8,%xmm8 .byte 196,65,122,126,12,16 // vmovq (%r8,%rdx,1),%xmm9 .byte 196,67,49,34,76,16,8,2 // vpinsrd $0x2,0x8(%r8,%rdx,1),%xmm9,%xmm9 .byte 196,67,49,2,192,8 // vpblendd $0x8,%xmm8,%xmm9,%xmm8 .byte 196,66,125,48,192 // vpmovzxbw %xmm8,%ymm8 .byte 196,98,125,121,13,102,94,0,0 // vpbroadcastw 0x5e66(%rip),%ymm9 # 2adc4 <_sk_srcover_rgba_8888_sse2_lowp+0x7f0> .byte 196,65,61,239,209 // vpxor %ymm9,%ymm8,%ymm10 .byte 197,45,213,220 // vpmullw %ymm4,%ymm10,%ymm11 .byte 197,189,213,192 // vpmullw %ymm0,%ymm8,%ymm0 .byte 196,193,125,253,193 // vpaddw %ymm9,%ymm0,%ymm0 .byte 197,165,253,192 // vpaddw %ymm0,%ymm11,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,45,213,221 // vpmullw %ymm5,%ymm10,%ymm11 .byte 197,189,213,201 // vpmullw %ymm1,%ymm8,%ymm1 .byte 196,193,117,253,201 // vpaddw %ymm9,%ymm1,%ymm1 .byte 197,165,253,201 // vpaddw %ymm1,%ymm11,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,45,213,222 // vpmullw %ymm6,%ymm10,%ymm11 .byte 197,189,213,210 // vpmullw %ymm2,%ymm8,%ymm2 .byte 196,193,109,253,209 // vpaddw %ymm9,%ymm2,%ymm2 .byte 197,165,253,210 // vpaddw %ymm2,%ymm11,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,45,213,215 // vpmullw %ymm7,%ymm10,%ymm10 .byte 197,189,213,219 // vpmullw %ymm3,%ymm8,%ymm3 .byte 196,193,101,253,217 // vpaddw %ymm9,%ymm3,%ymm3 .byte 197,173,253,219 // vpaddw %ymm3,%ymm10,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 144 // nop .byte 207 // iret .byte 254 // (bad) .byte 255 // (bad) .byte 255,245 // push %rbp .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 232,254,255,255,38 // callq 27024fcb <_sk_srcover_rgba_8888_sse2_lowp+0x26ffa9f7> .byte 255 // (bad) .byte 255 // (bad) .byte 255,30 // lcall *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,22 // callq *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,9 // decl (%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,81,255 // callq *-0x1(%rcx) .byte 255 // (bad) .byte 255,73,255 // decl -0x1(%rcx) .byte 255 // (bad) .byte 255,65,255 // incl -0x1(%rcx) .byte 255 // (bad) .byte 255,52,255 // pushq (%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // (bad) .byte 124,255 // jl 24fed <_sk_lerp_u8_hsw_lowp+0x18d> .byte 255 // (bad) .byte 255,116,255,255 // pushq -0x1(%rdi,%rdi,8) .byte 255,108,255,255 // ljmp *-0x1(%rdi,%rdi,8) .byte 255,95,255 // lcall *-0x1(%rdi) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_scale_565_hsw_lowp .globl _sk_scale_565_hsw_lowp FUNCTION(_sk_scale_565_hsw_lowp) _sk_scale_565_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,38 // ja 2503c <_sk_scale_565_hsw_lowp+0x40> .byte 196,65,61,239,192 // vpxor %ymm8,%ymm8,%ymm8 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,255,1,0,0 // lea 0x1ff(%rip),%r9 # 25224 <_sk_scale_565_hsw_lowp+0x228> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,80 // movzwl (%r8,%rdx,2),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 233,12,1,0,0 // jmpq 25148 <_sk_scale_565_hsw_lowp+0x14c> .byte 196,65,126,111,4,80 // vmovdqu (%r8,%rdx,2),%ymm8 .byte 233,1,1,0,0 // jmpq 25148 <_sk_scale_565_hsw_lowp+0x14c> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,65,57,196,76,80,4,2 // vpinsrw $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm9 .byte 196,67,53,56,192,1 // vinserti128 $0x1,%xmm8,%ymm9,%ymm8 .byte 196,65,121,110,12,80 // vmovd (%r8,%rdx,2),%xmm9 .byte 196,67,61,2,193,1 // vpblendd $0x1,%ymm9,%ymm8,%ymm8 .byte 233,221,0,0,0 // jmpq 25148 <_sk_scale_565_hsw_lowp+0x14c> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,65,57,196,76,80,12,6 // vpinsrw $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm9 .byte 196,67,53,56,192,1 // vinserti128 $0x1,%xmm8,%ymm9,%ymm8 .byte 196,65,57,196,76,80,10,5 // vpinsrw $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm9 .byte 196,67,61,2,193,15 // vpblendd $0xf,%ymm9,%ymm8,%ymm8 .byte 196,65,57,196,76,80,8,4 // vpinsrw $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm9 .byte 196,67,61,2,193,15 // vpblendd $0xf,%ymm9,%ymm8,%ymm8 .byte 196,65,122,126,12,80 // vmovq (%r8,%rdx,2),%xmm9 .byte 196,67,61,2,193,3 // vpblendd $0x3,%ymm9,%ymm8,%ymm8 .byte 233,157,0,0,0 // jmpq 25148 <_sk_scale_565_hsw_lowp+0x14c> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,65,57,196,76,80,20,2 // vpinsrw $0x2,0x14(%r8,%rdx,2),%xmm8,%xmm9 .byte 196,67,61,56,193,1 // vinserti128 $0x1,%xmm9,%ymm8,%ymm8 .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,49,196,76,80,18,1 // vpinsrw $0x1,0x12(%r8,%rdx,2),%xmm9,%xmm9 .byte 196,67,61,56,193,1 // vinserti128 $0x1,%xmm9,%ymm8,%ymm8 .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,49,196,76,80,16,0 // vpinsrw $0x0,0x10(%r8,%rdx,2),%xmm9,%xmm9 .byte 196,67,61,56,193,1 // vinserti128 $0x1,%xmm9,%ymm8,%ymm8 .byte 196,65,122,111,12,80 // vmovdqu (%r8,%rdx,2),%xmm9 .byte 196,67,53,2,192,240 // vpblendd $0xf0,%ymm8,%ymm9,%ymm8 .byte 235,84 // jmp 25148 <_sk_scale_565_hsw_lowp+0x14c> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,65,57,196,76,80,28,6 // vpinsrw $0x6,0x1c(%r8,%rdx,2),%xmm8,%xmm9 .byte 196,67,61,56,193,1 // vinserti128 $0x1,%xmm9,%ymm8,%ymm8 .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,49,196,76,80,26,5 // vpinsrw $0x5,0x1a(%r8,%rdx,2),%xmm9,%xmm9 .byte 196,67,61,56,193,1 // vinserti128 $0x1,%xmm9,%ymm8,%ymm8 .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,49,196,76,80,24,4 // vpinsrw $0x4,0x18(%r8,%rdx,2),%xmm9,%xmm9 .byte 196,67,61,56,193,1 // vinserti128 $0x1,%xmm9,%ymm8,%ymm8 .byte 196,65,122,126,76,80,16 // vmovq 0x10(%r8,%rdx,2),%xmm9 .byte 196,65,122,111,20,80 // vmovdqu (%r8,%rdx,2),%xmm10 .byte 196,67,45,56,201,1 // vinserti128 $0x1,%xmm9,%ymm10,%ymm9 .byte 196,67,53,2,192,192 // vpblendd $0xc0,%ymm8,%ymm9,%ymm8 .byte 196,98,125,121,13,117,92,0,0 // vpbroadcastw 0x5c75(%rip),%ymm9 # 2adc6 <_sk_srcover_rgba_8888_sse2_lowp+0x7f2> .byte 196,193,45,113,208,8 // vpsrlw $0x8,%ymm8,%ymm10 .byte 196,65,45,219,201 // vpand %ymm9,%ymm10,%ymm9 .byte 196,193,45,113,208,5 // vpsrlw $0x5,%ymm8,%ymm10 .byte 196,98,125,121,29,93,92,0,0 // vpbroadcastw 0x5c5d(%rip),%ymm11 # 2adc8 <_sk_srcover_rgba_8888_sse2_lowp+0x7f4> .byte 196,65,45,219,211 // vpand %ymm11,%ymm10,%ymm10 .byte 196,98,125,121,29,81,92,0,0 // vpbroadcastw 0x5c51(%rip),%ymm11 # 2adca <_sk_srcover_rgba_8888_sse2_lowp+0x7f6> .byte 196,65,61,219,219 // vpand %ymm11,%ymm8,%ymm11 .byte 196,193,61,113,208,13 // vpsrlw $0xd,%ymm8,%ymm8 .byte 196,65,53,235,192 // vpor %ymm8,%ymm9,%ymm8 .byte 196,193,53,113,242,2 // vpsllw $0x2,%ymm10,%ymm9 .byte 196,193,45,113,210,4 // vpsrlw $0x4,%ymm10,%ymm10 .byte 196,65,53,235,202 // vpor %ymm10,%ymm9,%ymm9 .byte 196,193,45,113,243,3 // vpsllw $0x3,%ymm11,%ymm10 .byte 196,193,37,113,211,2 // vpsrlw $0x2,%ymm11,%ymm11 .byte 196,65,45,235,211 // vpor %ymm11,%ymm10,%ymm10 .byte 196,98,125,121,29,24,92,0,0 // vpbroadcastw 0x5c18(%rip),%ymm11 # 2adcc <_sk_srcover_rgba_8888_sse2_lowp+0x7f8> .byte 196,65,101,239,227 // vpxor %ymm11,%ymm3,%ymm12 .byte 196,65,69,239,219 // vpxor %ymm11,%ymm7,%ymm11 .byte 196,65,37,101,220 // vpcmpgtw %ymm12,%ymm11,%ymm11 .byte 196,66,53,58,226 // vpminuw %ymm10,%ymm9,%ymm12 .byte 196,66,29,58,224 // vpminuw %ymm8,%ymm12,%ymm12 .byte 196,66,53,62,234 // vpmaxuw %ymm10,%ymm9,%ymm13 .byte 196,66,21,62,232 // vpmaxuw %ymm8,%ymm13,%ymm13 .byte 196,67,21,76,220,176 // vpblendvb %ymm11,%ymm12,%ymm13,%ymm11 .byte 197,189,213,192 // vpmullw %ymm0,%ymm8,%ymm0 .byte 196,98,125,121,5,228,91,0,0 // vpbroadcastw 0x5be4(%rip),%ymm8 # 2adce <_sk_srcover_rgba_8888_sse2_lowp+0x7fa> .byte 196,193,125,253,192 // vpaddw %ymm8,%ymm0,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 197,181,213,201 // vpmullw %ymm1,%ymm9,%ymm1 .byte 196,193,117,253,200 // vpaddw %ymm8,%ymm1,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 197,173,213,210 // vpmullw %ymm2,%ymm10,%ymm2 .byte 196,193,109,253,208 // vpaddw %ymm8,%ymm2,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 197,165,213,219 // vpmullw %ymm3,%ymm11,%ymm3 .byte 196,193,101,253,216 // vpaddw %ymm8,%ymm3,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,144 // xchg %ax,%ax .byte 10,254 // or %dh,%bh .byte 255 // (bad) .byte 255,54 // pushq (%rsi) .byte 254 // (bad) .byte 255 // (bad) .byte 255,35 // jmpq *(%rbx) .byte 254 // (bad) .byte 255 // (bad) .byte 255,118,254 // pushq -0x2(%rsi) .byte 255 // (bad) .byte 255,104,254 // ljmp *-0x2(%rax) .byte 255 // (bad) .byte 255,90,254 // lcall *-0x2(%rdx) .byte 255 // (bad) .byte 255,71,254 // incl -0x2(%rdi) .byte 255 // (bad) .byte 255,194 // inc %edx .byte 254 // (bad) .byte 255 // (bad) .byte 255,174,254,255,255,154 // ljmp *-0x65000002(%rsi) .byte 254 // (bad) .byte 255 // (bad) .byte 255,135,254,255,255,11 // incl 0xbfffffe(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,247 // push %rdi .byte 254 // (bad) .byte 255 // (bad) .byte 255,227 // jmpq *%rbx .byte 254 // (bad) .byte 255 // (bad) .byte 255,208 // callq *%rax .byte 254 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_lerp_565_hsw_lowp .globl _sk_lerp_565_hsw_lowp FUNCTION(_sk_lerp_565_hsw_lowp) _sk_lerp_565_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,15 // and $0xf,%al .byte 254,200 // dec %al .byte 60,14 // cmp $0xe,%al .byte 119,38 // ja 252a0 <_sk_lerp_565_hsw_lowp+0x40> .byte 196,65,61,239,192 // vpxor %ymm8,%ymm8,%ymm8 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,51,2,0,0 // lea 0x233(%rip),%r9 # 254bc <_sk_lerp_565_hsw_lowp+0x25c> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,80 // movzwl (%r8,%rdx,2),%eax .byte 197,121,110,192 // vmovd %eax,%xmm8 .byte 233,12,1,0,0 // jmpq 253ac <_sk_lerp_565_hsw_lowp+0x14c> .byte 196,65,126,111,4,80 // vmovdqu (%r8,%rdx,2),%ymm8 .byte 233,1,1,0,0 // jmpq 253ac <_sk_lerp_565_hsw_lowp+0x14c> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,65,57,196,76,80,4,2 // vpinsrw $0x2,0x4(%r8,%rdx,2),%xmm8,%xmm9 .byte 196,67,53,56,192,1 // vinserti128 $0x1,%xmm8,%ymm9,%ymm8 .byte 196,65,121,110,12,80 // vmovd (%r8,%rdx,2),%xmm9 .byte 196,67,61,2,193,1 // vpblendd $0x1,%ymm9,%ymm8,%ymm8 .byte 233,221,0,0,0 // jmpq 253ac <_sk_lerp_565_hsw_lowp+0x14c> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,65,57,196,76,80,12,6 // vpinsrw $0x6,0xc(%r8,%rdx,2),%xmm8,%xmm9 .byte 196,67,53,56,192,1 // vinserti128 $0x1,%xmm8,%ymm9,%ymm8 .byte 196,65,57,196,76,80,10,5 // vpinsrw $0x5,0xa(%r8,%rdx,2),%xmm8,%xmm9 .byte 196,67,61,2,193,15 // vpblendd $0xf,%ymm9,%ymm8,%ymm8 .byte 196,65,57,196,76,80,8,4 // vpinsrw $0x4,0x8(%r8,%rdx,2),%xmm8,%xmm9 .byte 196,67,61,2,193,15 // vpblendd $0xf,%ymm9,%ymm8,%ymm8 .byte 196,65,122,126,12,80 // vmovq (%r8,%rdx,2),%xmm9 .byte 196,67,61,2,193,3 // vpblendd $0x3,%ymm9,%ymm8,%ymm8 .byte 233,157,0,0,0 // jmpq 253ac <_sk_lerp_565_hsw_lowp+0x14c> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,65,57,196,76,80,20,2 // vpinsrw $0x2,0x14(%r8,%rdx,2),%xmm8,%xmm9 .byte 196,67,61,56,193,1 // vinserti128 $0x1,%xmm9,%ymm8,%ymm8 .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,49,196,76,80,18,1 // vpinsrw $0x1,0x12(%r8,%rdx,2),%xmm9,%xmm9 .byte 196,67,61,56,193,1 // vinserti128 $0x1,%xmm9,%ymm8,%ymm8 .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,49,196,76,80,16,0 // vpinsrw $0x0,0x10(%r8,%rdx,2),%xmm9,%xmm9 .byte 196,67,61,56,193,1 // vinserti128 $0x1,%xmm9,%ymm8,%ymm8 .byte 196,65,122,111,12,80 // vmovdqu (%r8,%rdx,2),%xmm9 .byte 196,67,53,2,192,240 // vpblendd $0xf0,%ymm8,%ymm9,%ymm8 .byte 235,84 // jmp 253ac <_sk_lerp_565_hsw_lowp+0x14c> .byte 196,65,57,239,192 // vpxor %xmm8,%xmm8,%xmm8 .byte 196,65,57,196,76,80,28,6 // vpinsrw $0x6,0x1c(%r8,%rdx,2),%xmm8,%xmm9 .byte 196,67,61,56,193,1 // vinserti128 $0x1,%xmm9,%ymm8,%ymm8 .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,49,196,76,80,26,5 // vpinsrw $0x5,0x1a(%r8,%rdx,2),%xmm9,%xmm9 .byte 196,67,61,56,193,1 // vinserti128 $0x1,%xmm9,%ymm8,%ymm8 .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,49,196,76,80,24,4 // vpinsrw $0x4,0x18(%r8,%rdx,2),%xmm9,%xmm9 .byte 196,67,61,56,193,1 // vinserti128 $0x1,%xmm9,%ymm8,%ymm8 .byte 196,65,122,126,76,80,16 // vmovq 0x10(%r8,%rdx,2),%xmm9 .byte 196,65,122,111,20,80 // vmovdqu (%r8,%rdx,2),%xmm10 .byte 196,67,45,56,201,1 // vinserti128 $0x1,%xmm9,%ymm10,%ymm9 .byte 196,67,53,2,192,192 // vpblendd $0xc0,%ymm8,%ymm9,%ymm8 .byte 196,98,125,121,13,27,90,0,0 // vpbroadcastw 0x5a1b(%rip),%ymm9 # 2add0 <_sk_srcover_rgba_8888_sse2_lowp+0x7fc> .byte 196,193,45,113,208,8 // vpsrlw $0x8,%ymm8,%ymm10 .byte 196,65,45,219,201 // vpand %ymm9,%ymm10,%ymm9 .byte 196,193,45,113,208,5 // vpsrlw $0x5,%ymm8,%ymm10 .byte 196,98,125,121,29,3,90,0,0 // vpbroadcastw 0x5a03(%rip),%ymm11 # 2add2 <_sk_srcover_rgba_8888_sse2_lowp+0x7fe> .byte 196,65,45,219,211 // vpand %ymm11,%ymm10,%ymm10 .byte 196,98,125,121,29,247,89,0,0 // vpbroadcastw 0x59f7(%rip),%ymm11 # 2add4 <_sk_srcover_rgba_8888_sse2_lowp+0x800> .byte 196,65,61,219,219 // vpand %ymm11,%ymm8,%ymm11 .byte 196,193,61,113,208,13 // vpsrlw $0xd,%ymm8,%ymm8 .byte 196,65,53,235,192 // vpor %ymm8,%ymm9,%ymm8 .byte 196,193,53,113,242,2 // vpsllw $0x2,%ymm10,%ymm9 .byte 196,193,45,113,210,4 // vpsrlw $0x4,%ymm10,%ymm10 .byte 196,65,53,235,202 // vpor %ymm10,%ymm9,%ymm9 .byte 196,193,45,113,243,3 // vpsllw $0x3,%ymm11,%ymm10 .byte 196,193,37,113,211,2 // vpsrlw $0x2,%ymm11,%ymm11 .byte 196,65,45,235,211 // vpor %ymm11,%ymm10,%ymm10 .byte 196,98,125,121,29,190,89,0,0 // vpbroadcastw 0x59be(%rip),%ymm11 # 2add6 <_sk_srcover_rgba_8888_sse2_lowp+0x802> .byte 196,65,101,239,227 // vpxor %ymm11,%ymm3,%ymm12 .byte 196,65,69,239,219 // vpxor %ymm11,%ymm7,%ymm11 .byte 196,65,37,101,220 // vpcmpgtw %ymm12,%ymm11,%ymm11 .byte 196,66,53,58,226 // vpminuw %ymm10,%ymm9,%ymm12 .byte 196,66,29,58,224 // vpminuw %ymm8,%ymm12,%ymm12 .byte 196,66,53,62,234 // vpmaxuw %ymm10,%ymm9,%ymm13 .byte 196,66,21,62,232 // vpmaxuw %ymm8,%ymm13,%ymm13 .byte 196,67,21,76,220,176 // vpblendvb %ymm11,%ymm12,%ymm13,%ymm11 .byte 196,98,125,121,37,142,89,0,0 // vpbroadcastw 0x598e(%rip),%ymm12 # 2add8 <_sk_srcover_rgba_8888_sse2_lowp+0x804> .byte 196,65,61,239,236 // vpxor %ymm12,%ymm8,%ymm13 .byte 197,21,213,236 // vpmullw %ymm4,%ymm13,%ymm13 .byte 197,189,213,192 // vpmullw %ymm0,%ymm8,%ymm0 .byte 196,193,125,253,196 // vpaddw %ymm12,%ymm0,%ymm0 .byte 197,149,253,192 // vpaddw %ymm0,%ymm13,%ymm0 .byte 197,253,113,208,8 // vpsrlw $0x8,%ymm0,%ymm0 .byte 196,65,53,239,196 // vpxor %ymm12,%ymm9,%ymm8 .byte 197,61,213,197 // vpmullw %ymm5,%ymm8,%ymm8 .byte 197,181,213,201 // vpmullw %ymm1,%ymm9,%ymm1 .byte 196,193,117,253,204 // vpaddw %ymm12,%ymm1,%ymm1 .byte 197,189,253,201 // vpaddw %ymm1,%ymm8,%ymm1 .byte 197,245,113,209,8 // vpsrlw $0x8,%ymm1,%ymm1 .byte 196,65,45,239,196 // vpxor %ymm12,%ymm10,%ymm8 .byte 197,61,213,198 // vpmullw %ymm6,%ymm8,%ymm8 .byte 197,173,213,210 // vpmullw %ymm2,%ymm10,%ymm2 .byte 196,193,109,253,212 // vpaddw %ymm12,%ymm2,%ymm2 .byte 197,189,253,210 // vpaddw %ymm2,%ymm8,%ymm2 .byte 197,237,113,210,8 // vpsrlw $0x8,%ymm2,%ymm2 .byte 196,65,37,239,196 // vpxor %ymm12,%ymm11,%ymm8 .byte 197,61,213,199 // vpmullw %ymm7,%ymm8,%ymm8 .byte 197,165,213,219 // vpmullw %ymm3,%ymm11,%ymm3 .byte 196,193,101,253,220 // vpaddw %ymm12,%ymm3,%ymm3 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 197,229,113,211,8 // vpsrlw $0x8,%ymm3,%ymm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,144 // xchg %ax,%ax .byte 214 // (bad) .byte 253 // std .byte 255 // (bad) .byte 255,2 // incl (%rdx) .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 239 // out %eax,(%dx) .byte 253 // std .byte 255 // (bad) .byte 255,66,254 // incl -0x2(%rdx) .byte 255 // (bad) .byte 255,52,254 // pushq (%rsi,%rdi,8) .byte 255 // (bad) .byte 255,38 // jmpq *(%rsi) .byte 254 // (bad) .byte 255 // (bad) .byte 255,19 // callq *(%rbx) .byte 254 // (bad) .byte 255 // (bad) .byte 255,142,254,255,255,122 // decl 0x7afffffe(%rsi) .byte 254 // (bad) .byte 255 // (bad) .byte 255,102,254 // jmpq *-0x2(%rsi) .byte 255 // (bad) .byte 255,83,254 // callq *-0x2(%rbx) .byte 255 // (bad) .byte 255,215 // callq *%rdi .byte 254 // (bad) .byte 255 // (bad) .byte 255,195 // inc %ebx .byte 254 // (bad) .byte 255 // (bad) .byte 255,175,254,255,255,156 // ljmp *-0x63000002(%rdi) .byte 254 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_srcover_rgba_8888_hsw_lowp .globl _sk_srcover_rgba_8888_hsw_lowp FUNCTION(_sk_srcover_rgba_8888_hsw_lowp) _sk_srcover_rgba_8888_hsw_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 77,141,12,144 // lea (%r8,%rdx,4),%r9 .byte 65,137,250 // mov %edi,%r10d .byte 65,128,226,15 // and $0xf,%r10b .byte 65,254,202 // dec %r10b .byte 69,15,182,194 // movzbl %r10b,%r8d .byte 65,128,248,14 // cmp $0xe,%r8b .byte 119,51 // ja 25554 <_sk_srcover_rgba_8888_hsw_lowp+0x5c> .byte 197,221,239,228 // vpxor %ymm4,%ymm4,%ymm4 .byte 76,141,29,236,2,0,0 // lea 0x2ec(%rip),%r11 # 25818 <_sk_srcover_rgba_8888_hsw_lowp+0x320> .byte 75,99,4,131 // movslq (%r11,%r8,4),%rax .byte 76,1,216 // add %r11,%rax .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 197,205,239,246 // vpxor %ymm6,%ymm6,%ymm6 .byte 196,65,61,239,192 // vpxor %ymm8,%ymm8,%ymm8 .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 255,224 // jmpq *%rax .byte 196,193,121,110,41 // vmovd (%r9),%xmm5 .byte 197,221,239,228 // vpxor %ymm4,%ymm4,%ymm4 .byte 233,22,1,0,0 // jmpq 2566a <_sk_srcover_rgba_8888_hsw_lowp+0x172> .byte 196,193,126,111,41 // vmovdqu (%r9),%ymm5 .byte 196,193,126,111,97,32 // vmovdqu 0x20(%r9),%ymm4 .byte 233,6,1,0,0 // jmpq 2566a <_sk_srcover_rgba_8888_hsw_lowp+0x172> .byte 196,193,121,110,97,8 // vmovd 0x8(%r9),%xmm4 .byte 196,226,121,89,228 // vpbroadcastq %xmm4,%xmm4 .byte 197,197,239,255 // vpxor %ymm7,%ymm7,%ymm7 .byte 196,227,69,2,228,4 // vpblendd $0x4,%ymm4,%ymm7,%ymm4 .byte 196,194,121,53,41 // vpmovzxdq (%r9),%xmm5 .byte 197,249,112,237,232 // vpshufd $0xe8,%xmm5,%xmm5 .byte 196,227,93,2,237,3 // vpblendd $0x3,%ymm5,%ymm4,%ymm5 .byte 197,253,111,231 // vmovdqa %ymm7,%ymm4 .byte 233,216,0,0,0 // jmpq 2566a <_sk_srcover_rgba_8888_hsw_lowp+0x172> .byte 196,193,121,110,97,24 // vmovd 0x18(%r9),%xmm4 .byte 196,226,125,89,228 // vpbroadcastq %xmm4,%ymm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,85,2,228,64 // vpblendd $0x40,%ymm4,%ymm5,%ymm4 .byte 196,227,125,57,230,1 // vextracti128 $0x1,%ymm4,%xmm6 .byte 196,195,73,34,113,20,1 // vpinsrd $0x1,0x14(%r9),%xmm6,%xmm6 .byte 196,227,93,56,230,1 // vinserti128 $0x1,%xmm6,%ymm4,%ymm4 .byte 197,253,111,245 // vmovdqa %ymm5,%ymm6 .byte 196,227,125,57,229,1 // vextracti128 $0x1,%ymm4,%xmm5 .byte 196,195,81,34,105,16,0 // vpinsrd $0x0,0x10(%r9),%xmm5,%xmm5 .byte 196,227,93,56,229,1 // vinserti128 $0x1,%xmm5,%ymm4,%ymm4 .byte 197,125,111,198 // vmovdqa %ymm6,%ymm8 .byte 196,193,122,111,41 // vmovdqu (%r9),%xmm5 .byte 196,227,85,2,236,240 // vpblendd $0xf0,%ymm4,%ymm5,%ymm5 .byte 197,125,127,196 // vmovdqa %ymm8,%ymm4 .byte 233,129,0,0,0 // jmpq 2566a <_sk_srcover_rgba_8888_hsw_lowp+0x172> .byte 196,193,121,110,97,40 // vmovd 0x28(%r9),%xmm4 .byte 196,226,121,89,228 // vpbroadcastq %xmm4,%xmm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,85,2,228,4 // vpblendd $0x4,%ymm4,%ymm5,%ymm4 .byte 196,195,89,34,105,36,1 // vpinsrd $0x1,0x24(%r9),%xmm4,%xmm5 .byte 196,227,93,2,229,15 // vpblendd $0xf,%ymm5,%ymm4,%ymm4 .byte 196,193,121,110,105,32 // vmovd 0x20(%r9),%xmm5 .byte 196,227,93,2,229,1 // vpblendd $0x1,%ymm5,%ymm4,%ymm4 .byte 196,193,126,111,41 // vmovdqu (%r9),%ymm5 .byte 235,76 // jmp 2566a <_sk_srcover_rgba_8888_hsw_lowp+0x172> .byte 196,193,121,110,97,56 // vmovd 0x38(%r9),%xmm4 .byte 196,226,125,89,228 // vpbroadcastq %xmm4,%ymm4 .byte 197,213,239,237 // vpxor %ymm5,%ymm5,%ymm5 .byte 196,227,85,2,228,64 // vpblendd $0x40,%ymm4,%ymm5,%ymm4 .byte 196,227,125,57,229,1 // vextracti128 $0x1,%ymm4,%xmm5 .byte 196,195,81,34,105,52,1 // vpinsrd $0x1,0x34(%r9),%xmm5,%xmm5 .byte 196,227,93,56,229,1 // vinserti128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,227,125,57,229,1 // vextracti128 $0x1,%ymm4,%xmm5 .byte 196,195,81,34,105,48,0 // vpinsrd $0x0,0x30(%r9),%xmm5,%xmm5 .byte 196,227,93,56,229,1 // vinserti128 $0x1,%xmm5,%ymm4,%ymm4 .byte 196,193,126,111,41 // vmovdqu (%r9),%ymm5 .byte 196,193,122,111,113,32 // vmovdqu 0x20(%r9),%xmm6 .byte 196,227,77,2,228,240 // vpblendd $0xf0,%ymm4,%ymm6,%ymm4 .byte 196,227,85,56,244,1 // vinserti128 $0x1,%xmm4,%ymm5,%ymm6 .byte 196,227,85,70,252,49 // vperm2i128 $0x31,%ymm4,%ymm5,%ymm7 .byte 197,221,239,228 // vpxor %ymm4,%ymm4,%ymm4 .byte 196,227,69,14,236,170 // vpblendw $0xaa,%ymm4,%ymm7,%ymm5 .byte 196,227,77,14,228,170 // vpblendw $0xaa,%ymm4,%ymm6,%ymm4 .byte 196,226,93,43,237 // vpackusdw %ymm5,%ymm4,%ymm5 .byte 197,125,111,5,77,87,0,0 // vmovdqa 0x574d(%rip),%ymm8 # 2ade0 <_sk_srcover_rgba_8888_sse2_lowp+0x80c> .byte 196,193,85,219,224 // vpand %ymm8,%ymm5,%ymm4 .byte 196,98,125,121,13,95,87,0,0 // vpbroadcastw 0x575f(%rip),%ymm9 # 2ae00 <_sk_srcover_rgba_8888_sse2_lowp+0x82c> .byte 197,213,113,213,8 // vpsrlw $0x8,%ymm5,%ymm5 .byte 197,197,114,215,16 // vpsrld $0x10,%ymm7,%ymm7 .byte 197,205,114,214,16 // vpsrld $0x10,%ymm6,%ymm6 .byte 196,226,77,43,255 // vpackusdw %ymm7,%ymm6,%ymm7 .byte 196,193,69,219,240 // vpand %ymm8,%ymm7,%ymm6 .byte 197,197,113,215,8 // vpsrlw $0x8,%ymm7,%ymm7 .byte 197,53,249,195 // vpsubw %ymm3,%ymm9,%ymm8 .byte 196,65,93,213,208 // vpmullw %ymm8,%ymm4,%ymm10 .byte 196,65,45,253,209 // vpaddw %ymm9,%ymm10,%ymm10 .byte 196,193,45,113,210,8 // vpsrlw $0x8,%ymm10,%ymm10 .byte 197,173,253,192 // vpaddw %ymm0,%ymm10,%ymm0 .byte 196,65,85,213,208 // vpmullw %ymm8,%ymm5,%ymm10 .byte 196,65,45,253,209 // vpaddw %ymm9,%ymm10,%ymm10 .byte 196,193,45,113,210,8 // vpsrlw $0x8,%ymm10,%ymm10 .byte 197,173,253,201 // vpaddw %ymm1,%ymm10,%ymm1 .byte 196,65,77,213,208 // vpmullw %ymm8,%ymm6,%ymm10 .byte 196,65,45,253,209 // vpaddw %ymm9,%ymm10,%ymm10 .byte 196,193,45,113,210,8 // vpsrlw $0x8,%ymm10,%ymm10 .byte 197,173,253,210 // vpaddw %ymm2,%ymm10,%ymm2 .byte 196,65,69,213,192 // vpmullw %ymm8,%ymm7,%ymm8 .byte 196,65,61,253,193 // vpaddw %ymm9,%ymm8,%ymm8 .byte 196,193,61,113,208,8 // vpsrlw $0x8,%ymm8,%ymm8 .byte 197,189,253,219 // vpaddw %ymm3,%ymm8,%ymm3 .byte 197,189,113,241,8 // vpsllw $0x8,%ymm1,%ymm8 .byte 197,61,235,192 // vpor %ymm0,%ymm8,%ymm8 .byte 196,66,125,51,200 // vpmovzxwd %xmm8,%ymm9 .byte 196,67,125,57,192,1 // vextracti128 $0x1,%ymm8,%xmm8 .byte 196,66,125,51,208 // vpmovzxwd %xmm8,%ymm10 .byte 197,189,113,243,8 // vpsllw $0x8,%ymm3,%ymm8 .byte 197,61,235,194 // vpor %ymm2,%ymm8,%ymm8 .byte 196,67,125,57,195,1 // vextracti128 $0x1,%ymm8,%xmm11 .byte 196,66,125,51,219 // vpmovzxwd %xmm11,%ymm11 .byte 196,66,125,51,192 // vpmovzxwd %xmm8,%ymm8 .byte 196,193,61,114,240,16 // vpslld $0x10,%ymm8,%ymm8 .byte 196,65,61,235,193 // vpor %ymm9,%ymm8,%ymm8 .byte 196,193,53,114,243,16 // vpslld $0x10,%ymm11,%ymm9 .byte 196,65,53,235,202 // vpor %ymm10,%ymm9,%ymm9 .byte 65,128,250,14 // cmp $0xe,%r10b .byte 119,26 // ja 2577b <_sk_srcover_rgba_8888_hsw_lowp+0x283> .byte 76,141,21,236,0,0,0 // lea 0xec(%rip),%r10 # 25854 <_sk_srcover_rgba_8888_hsw_lowp+0x35c> .byte 75,99,4,130 // movslq (%r10,%r8,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 196,65,121,126,1 // vmovd %xmm8,(%r9) .byte 233,151,0,0,0 // jmpq 25812 <_sk_srcover_rgba_8888_hsw_lowp+0x31a> .byte 196,65,126,127,1 // vmovdqu %ymm8,(%r9) .byte 196,65,126,127,73,32 // vmovdqu %ymm9,0x20(%r9) .byte 233,135,0,0,0 // jmpq 25812 <_sk_srcover_rgba_8888_hsw_lowp+0x31a> .byte 196,67,121,22,65,8,2 // vpextrd $0x2,%xmm8,0x8(%r9) .byte 196,65,121,214,1 // vmovq %xmm8,(%r9) .byte 235,121 // jmp 25812 <_sk_srcover_rgba_8888_hsw_lowp+0x31a> .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,22,73,24,2 // vpextrd $0x2,%xmm9,0x18(%r9) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,67,121,22,73,20,1 // vpextrd $0x1,%xmm9,0x14(%r9) .byte 196,67,125,57,193,1 // vextracti128 $0x1,%ymm8,%xmm9 .byte 196,65,121,126,73,16 // vmovd %xmm9,0x10(%r9) .byte 196,65,122,127,1 // vmovdqu %xmm8,(%r9) .byte 235,76 // jmp 25812 <_sk_srcover_rgba_8888_hsw_lowp+0x31a> .byte 196,67,121,22,73,40,2 // vpextrd $0x2,%xmm9,0x28(%r9) .byte 196,67,121,22,73,36,1 // vpextrd $0x1,%xmm9,0x24(%r9) .byte 196,65,121,126,73,32 // vmovd %xmm9,0x20(%r9) .byte 196,65,126,127,1 // vmovdqu %ymm8,(%r9) .byte 235,49 // jmp 25812 <_sk_srcover_rgba_8888_hsw_lowp+0x31a> .byte 196,67,125,57,202,1 // vextracti128 $0x1,%ymm9,%xmm10 .byte 196,67,121,22,81,56,2 // vpextrd $0x2,%xmm10,0x38(%r9) .byte 196,67,125,57,202,1 // vextracti128 $0x1,%ymm9,%xmm10 .byte 196,67,121,22,81,52,1 // vpextrd $0x1,%xmm10,0x34(%r9) .byte 196,67,125,57,202,1 // vextracti128 $0x1,%ymm9,%xmm10 .byte 196,65,121,126,81,48 // vmovd %xmm10,0x30(%r9) .byte 196,65,126,127,1 // vmovdqu %ymm8,(%r9) .byte 196,65,122,127,73,32 // vmovdqu %xmm9,0x20(%r9) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,144 // xchg %ax,%ax .byte 46,253 // cs std .byte 255 // (bad) .byte 255,97,253 // jmpq *-0x3(%rcx) .byte 255 // (bad) .byte 255,76,253,255 // decl -0x1(%rbp,%rdi,8) .byte 255 // (bad) .byte 189,253,255,255,166 // mov $0xa6fffffd,%ebp .byte 253 // std .byte 255 // (bad) .byte 255,143,253,255,255,122 // decl 0x7afffffd(%rdi) .byte 253 // std .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 253 // std .byte 255 // (bad) .byte 255,243 // push %rbx .byte 253 // std .byte 255 // (bad) .byte 255,230 // jmpq *%rsi .byte 253 // std .byte 255 // (bad) .byte 255,209 // callq *%rcx .byte 253 // std .byte 255 // (bad) .byte 255,65,254 // incl -0x2(%rcx) .byte 255 // (bad) .byte 255,46 // ljmp *(%rsi) .byte 254 // (bad) .byte 255 // (bad) .byte 255,27 // lcall *(%rbx) .byte 254 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 254 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,62 // lcall *0x3effffff(%rip) # 3f025858 <_sk_srcover_rgba_8888_sse2_lowp+0x3effb284> .byte 255 // (bad) .byte 255 // (bad) .byte 255,55 // pushq (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,107,255 // ljmp *-0x1(%rbx) .byte 255 // (bad) .byte 255,95,255 // lcall *-0x1(%rdi) .byte 255 // (bad) .byte 255,82,255 // callq *-0x1(%rdx) .byte 255 // (bad) .byte 255,69,255 // incl -0x1(%rbp) .byte 255 // (bad) .byte 255,134,255,255,255,128 // incl -0x7f000001(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 121,255 // jns 25879 <_sk_srcover_rgba_8888_hsw_lowp+0x381> .byte 255 // (bad) .byte 255,114,255 // pushq -0x1(%rdx) .byte 255 // (bad) .byte 255,179,255,255,255,167 // pushq -0x58000001(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,154,255,255,255,141 // lcall *-0x72000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_start_pipeline_sse41_lowp .globl _sk_start_pipeline_sse41_lowp FUNCTION(_sk_start_pipeline_sse41_lowp) _sk_start_pipeline_sse41_lowp: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,131,236,24 // sub $0x18,%rsp .byte 73,137,215 // mov %rdx,%r15 .byte 72,137,243 // mov %rsi,%rbx .byte 72,137,125,208 // mov %rdi,-0x30(%rbp) .byte 76,137,198 // mov %r8,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,197 // mov %rax,%r13 .byte 73,137,246 // mov %rsi,%r14 .byte 72,137,77,192 // mov %rcx,-0x40(%rbp) .byte 72,57,203 // cmp %rcx,%rbx .byte 15,131,131,0,0,0 // jae 25946 <_sk_start_pipeline_sse41_lowp+0xb6> .byte 72,139,69,208 // mov -0x30(%rbp),%rax .byte 72,141,64,8 // lea 0x8(%rax),%rax .byte 72,137,69,200 // mov %rax,-0x38(%rbp) .byte 76,57,125,200 // cmp %r15,-0x38(%rbp) .byte 72,139,85,208 // mov -0x30(%rbp),%rdx .byte 119,59 // ja 25914 <_sk_start_pipeline_sse41_lowp+0x84> .byte 76,139,101,208 // mov -0x30(%rbp),%r12 .byte 49,255 // xor %edi,%edi .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 76,137,246 // mov %r14,%rsi .byte 76,137,226 // mov %r12,%rdx .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 73,141,84,36,8 // lea 0x8(%r12),%rdx .byte 73,131,196,16 // add $0x10,%r12 .byte 77,57,252 // cmp %r15,%r12 .byte 73,137,212 // mov %rdx,%r12 .byte 118,201 // jbe 258dd <_sk_start_pipeline_sse41_lowp+0x4d> .byte 76,137,255 // mov %r15,%rdi .byte 72,41,215 // sub %rdx,%rdi .byte 116,33 // je 2593d <_sk_start_pipeline_sse41_lowp+0xad> .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 76,137,246 // mov %r14,%rsi .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 72,255,195 // inc %rbx .byte 72,59,93,192 // cmp -0x40(%rbp),%rbx .byte 117,137 // jne 258cf <_sk_start_pipeline_sse41_lowp+0x3f> .byte 72,131,196,24 // add $0x18,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 195 // retq HIDDEN _sk_just_return_sse41_lowp .globl _sk_just_return_sse41_lowp FUNCTION(_sk_just_return_sse41_lowp) _sk_just_return_sse41_lowp: .byte 195 // retq HIDDEN _sk_uniform_color_sse41_lowp .globl _sk_uniform_color_sse41_lowp FUNCTION(_sk_uniform_color_sse41_lowp) _sk_uniform_color_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,182,64,16 // movzbl 0x10(%rax),%r8d .byte 102,65,15,110,192 // movd %r8d,%xmm0 .byte 242,15,112,192,0 // pshuflw $0x0,%xmm0,%xmm0 .byte 102,15,112,192,80 // pshufd $0x50,%xmm0,%xmm0 .byte 68,15,182,64,17 // movzbl 0x11(%rax),%r8d .byte 102,65,15,110,200 // movd %r8d,%xmm1 .byte 242,15,112,201,0 // pshuflw $0x0,%xmm1,%xmm1 .byte 102,15,112,201,80 // pshufd $0x50,%xmm1,%xmm1 .byte 68,15,182,64,18 // movzbl 0x12(%rax),%r8d .byte 102,65,15,110,208 // movd %r8d,%xmm2 .byte 242,15,112,210,0 // pshuflw $0x0,%xmm2,%xmm2 .byte 102,15,112,210,80 // pshufd $0x50,%xmm2,%xmm2 .byte 15,182,64,19 // movzbl 0x13(%rax),%eax .byte 102,15,110,216 // movd %eax,%xmm3 .byte 242,15,112,219,0 // pshuflw $0x0,%xmm3,%xmm3 .byte 102,15,112,219,80 // pshufd $0x50,%xmm3,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_black_color_sse41_lowp .globl _sk_black_color_sse41_lowp FUNCTION(_sk_black_color_sse41_lowp) _sk_black_color_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,237,85,0,0 // movaps 0x55ed(%rip),%xmm3 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_white_color_sse41_lowp .globl _sk_white_color_sse41_lowp FUNCTION(_sk_white_color_sse41_lowp) _sk_white_color_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,5,217,85,0,0 // movaps 0x55d9(%rip),%xmm0 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_set_rgb_sse41_lowp .globl _sk_set_rgb_sse41_lowp FUNCTION(_sk_set_rgb_sse41_lowp) _sk_set_rgb_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,21,88,84,0,0 // movss 0x5458(%rip),%xmm2 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,89,194 // mulss %xmm2,%xmm0 .byte 243,68,15,16,5,23,84,0,0 // movss 0x5417(%rip),%xmm8 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 243,65,15,88,192 // addss %xmm8,%xmm0 .byte 243,68,15,44,192 // cvttss2si %xmm0,%r8d .byte 102,65,15,110,192 // movd %r8d,%xmm0 .byte 242,15,112,192,0 // pshuflw $0x0,%xmm0,%xmm0 .byte 102,15,112,192,80 // pshufd $0x50,%xmm0,%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 243,15,89,202 // mulss %xmm2,%xmm1 .byte 243,65,15,88,200 // addss %xmm8,%xmm1 .byte 243,68,15,44,193 // cvttss2si %xmm1,%r8d .byte 102,65,15,110,200 // movd %r8d,%xmm1 .byte 242,15,112,201,0 // pshuflw $0x0,%xmm1,%xmm1 .byte 102,15,112,201,80 // pshufd $0x50,%xmm1,%xmm1 .byte 243,15,89,80,8 // mulss 0x8(%rax),%xmm2 .byte 243,65,15,88,208 // addss %xmm8,%xmm2 .byte 243,15,44,194 // cvttss2si %xmm2,%eax .byte 102,15,110,208 // movd %eax,%xmm2 .byte 242,15,112,210,0 // pshuflw $0x0,%xmm2,%xmm2 .byte 102,15,112,210,80 // pshufd $0x50,%xmm2,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_sse41_lowp .globl _sk_premul_sse41_lowp FUNCTION(_sk_premul_sse41_lowp) _sk_premul_sse41_lowp: .byte 102,15,213,195 // pmullw %xmm3,%xmm0 .byte 102,68,15,111,5,75,85,0,0 // movdqa 0x554b(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,213,203 // pmullw %xmm3,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,213,211 // pmullw %xmm3,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_swap_rb_sse41_lowp .globl _sk_swap_rb_sse41_lowp FUNCTION(_sk_swap_rb_sse41_lowp) _sk_swap_rb_sse41_lowp: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_src_dst_sse41_lowp .globl _sk_move_src_dst_sse41_lowp FUNCTION(_sk_move_src_dst_sse41_lowp) _sk_move_src_dst_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_dst_src_sse41_lowp .globl _sk_move_dst_src_sse41_lowp FUNCTION(_sk_move_dst_src_sse41_lowp) _sk_move_dst_src_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_invert_sse41_lowp .globl _sk_invert_sse41_lowp FUNCTION(_sk_invert_sse41_lowp) _sk_invert_sse41_lowp: .byte 102,68,15,111,5,233,84,0,0 // movdqa 0x54e9(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,68,15,249,200 // psubw %xmm0,%xmm9 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,68,15,249,209 // psubw %xmm1,%xmm10 .byte 102,69,15,111,216 // movdqa %xmm8,%xmm11 .byte 102,68,15,249,218 // psubw %xmm2,%xmm11 .byte 102,68,15,249,195 // psubw %xmm3,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,65,15,111,202 // movdqa %xmm10,%xmm1 .byte 102,65,15,111,211 // movdqa %xmm11,%xmm2 .byte 102,65,15,111,216 // movdqa %xmm8,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_clear_sse41_lowp .globl _sk_clear_sse41_lowp FUNCTION(_sk_clear_sse41_lowp) _sk_clear_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_srcatop_sse41_lowp .globl _sk_srcatop_sse41_lowp FUNCTION(_sk_srcatop_sse41_lowp) _sk_srcatop_sse41_lowp: .byte 102,68,15,111,195 // movdqa %xmm3,%xmm8 .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,15,111,29,141,84,0,0 // movdqa 0x548d(%rip),%xmm3 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,68,15,111,203 // movdqa %xmm3,%xmm9 .byte 102,69,15,249,200 // psubw %xmm8,%xmm9 .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,68,15,213,196 // pmullw %xmm4,%xmm8 .byte 102,15,253,195 // paddw %xmm3,%xmm0 .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,213,207 // pmullw %xmm7,%xmm1 .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,68,15,213,197 // pmullw %xmm5,%xmm8 .byte 102,15,253,203 // paddw %xmm3,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,68,15,213,206 // pmullw %xmm6,%xmm9 .byte 102,15,253,211 // paddw %xmm3,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,68,15,111,199 // movdqa %xmm7,%xmm8 .byte 102,68,15,213,195 // pmullw %xmm3,%xmm8 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstatop_sse41_lowp .globl _sk_dstatop_sse41_lowp FUNCTION(_sk_dstatop_sse41_lowp) _sk_dstatop_sse41_lowp: .byte 102,68,15,111,196 // movdqa %xmm4,%xmm8 .byte 102,68,15,213,195 // pmullw %xmm3,%xmm8 .byte 102,68,15,111,13,13,84,0,0 // movdqa 0x540d(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,253,193 // paddw %xmm9,%xmm8 .byte 102,68,15,111,213 // movdqa %xmm5,%xmm10 .byte 102,68,15,213,211 // pmullw %xmm3,%xmm10 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,68,15,111,222 // movdqa %xmm6,%xmm11 .byte 102,68,15,213,219 // pmullw %xmm3,%xmm11 .byte 102,69,15,253,217 // paddw %xmm9,%xmm11 .byte 102,65,15,213,217 // pmullw %xmm9,%xmm3 .byte 102,65,15,253,217 // paddw %xmm9,%xmm3 .byte 102,68,15,249,207 // psubw %xmm7,%xmm9 .byte 102,65,15,213,193 // pmullw %xmm9,%xmm0 .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,65,15,213,201 // pmullw %xmm9,%xmm1 .byte 102,65,15,253,202 // paddw %xmm10,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,65,15,213,209 // pmullw %xmm9,%xmm2 .byte 102,65,15,253,211 // paddw %xmm11,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcin_sse41_lowp .globl _sk_srcin_sse41_lowp FUNCTION(_sk_srcin_sse41_lowp) _sk_srcin_sse41_lowp: .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,68,15,111,5,152,83,0,0 // movdqa 0x5398(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,213,207 // pmullw %xmm7,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstin_sse41_lowp .globl _sk_dstin_sse41_lowp FUNCTION(_sk_dstin_sse41_lowp) _sk_dstin_sse41_lowp: .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,15,213,195 // pmullw %xmm3,%xmm0 .byte 102,68,15,111,5,79,83,0,0 // movdqa 0x534f(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,213,203 // pmullw %xmm3,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,111,214 // movdqa %xmm6,%xmm2 .byte 102,15,213,211 // pmullw %xmm3,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcout_sse41_lowp .globl _sk_srcout_sse41_lowp FUNCTION(_sk_srcout_sse41_lowp) _sk_srcout_sse41_lowp: .byte 102,68,15,111,5,6,83,0,0 // movdqa 0x5306(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,68,15,249,207 // psubw %xmm7,%xmm9 .byte 102,65,15,213,193 // pmullw %xmm9,%xmm0 .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,65,15,213,201 // pmullw %xmm9,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,65,15,213,209 // pmullw %xmm9,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,65,15,213,217 // pmullw %xmm9,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstout_sse41_lowp .globl _sk_dstout_sse41_lowp FUNCTION(_sk_dstout_sse41_lowp) _sk_dstout_sse41_lowp: .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,68,15,111,5,175,82,0,0 // movdqa 0x52af(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,111,216 // movdqa %xmm8,%xmm3 .byte 102,15,249,216 // psubw %xmm0,%xmm3 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,213,196 // pmullw %xmm4,%xmm0 .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,213,205 // pmullw %xmm5,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,213,214 // pmullw %xmm6,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcover_sse41_lowp .globl _sk_srcover_sse41_lowp FUNCTION(_sk_srcover_sse41_lowp) _sk_srcover_sse41_lowp: .byte 102,68,15,111,13,85,82,0,0 // movdqa 0x5255(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,68,15,249,195 // psubw %xmm3,%xmm8 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,68,15,213,212 // pmullw %xmm4,%xmm10 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,65,15,253,194 // paddw %xmm10,%xmm0 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,68,15,213,213 // pmullw %xmm5,%xmm10 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,65,15,253,202 // paddw %xmm10,%xmm1 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,68,15,213,214 // pmullw %xmm6,%xmm10 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,65,15,253,210 // paddw %xmm10,%xmm2 .byte 102,68,15,213,199 // pmullw %xmm7,%xmm8 .byte 102,69,15,253,193 // paddw %xmm9,%xmm8 .byte 102,65,15,113,208,8 // psrlw $0x8,%xmm8 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstover_sse41_lowp .globl _sk_dstover_sse41_lowp FUNCTION(_sk_dstover_sse41_lowp) _sk_dstover_sse41_lowp: .byte 102,68,15,111,5,219,81,0,0 // movdqa 0x51db(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,68,15,249,207 // psubw %xmm7,%xmm9 .byte 102,65,15,213,193 // pmullw %xmm9,%xmm0 .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,253,196 // paddw %xmm4,%xmm0 .byte 102,65,15,213,201 // pmullw %xmm9,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,253,205 // paddw %xmm5,%xmm1 .byte 102,65,15,213,209 // pmullw %xmm9,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,253,214 // paddw %xmm6,%xmm2 .byte 102,65,15,213,217 // pmullw %xmm9,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,253,223 // paddw %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_modulate_sse41_lowp .globl _sk_modulate_sse41_lowp FUNCTION(_sk_modulate_sse41_lowp) _sk_modulate_sse41_lowp: .byte 102,15,213,196 // pmullw %xmm4,%xmm0 .byte 102,68,15,111,5,116,81,0,0 // movdqa 0x5174(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,213,205 // pmullw %xmm5,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,213,214 // pmullw %xmm6,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_multiply_sse41_lowp .globl _sk_multiply_sse41_lowp FUNCTION(_sk_multiply_sse41_lowp) _sk_multiply_sse41_lowp: .byte 102,68,15,111,13,51,81,0,0 // movdqa 0x5133(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,68,15,249,195 // psubw %xmm3,%xmm8 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,68,15,213,212 // pmullw %xmm4,%xmm10 .byte 102,68,15,111,220 // movdqa %xmm4,%xmm11 .byte 102,69,15,253,217 // paddw %xmm9,%xmm11 .byte 102,68,15,249,223 // psubw %xmm7,%xmm11 .byte 102,65,15,213,195 // pmullw %xmm11,%xmm0 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,253,194 // paddw %xmm10,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,68,15,213,213 // pmullw %xmm5,%xmm10 .byte 102,68,15,111,221 // movdqa %xmm5,%xmm11 .byte 102,69,15,253,217 // paddw %xmm9,%xmm11 .byte 102,68,15,249,223 // psubw %xmm7,%xmm11 .byte 102,65,15,213,203 // pmullw %xmm11,%xmm1 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,253,202 // paddw %xmm10,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,68,15,213,214 // pmullw %xmm6,%xmm10 .byte 102,68,15,111,222 // movdqa %xmm6,%xmm11 .byte 102,69,15,253,217 // paddw %xmm9,%xmm11 .byte 102,68,15,249,223 // psubw %xmm7,%xmm11 .byte 102,65,15,213,211 // pmullw %xmm11,%xmm2 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,253,210 // paddw %xmm10,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,68,15,213,199 // pmullw %xmm7,%xmm8 .byte 102,65,15,213,217 // pmullw %xmm9,%xmm3 .byte 102,65,15,253,217 // paddw %xmm9,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_plus__sse41_lowp .globl _sk_plus__sse41_lowp FUNCTION(_sk_plus__sse41_lowp) _sk_plus__sse41_lowp: .byte 102,15,253,196 // paddw %xmm4,%xmm0 .byte 102,68,15,111,5,120,80,0,0 // movdqa 0x5078(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,56,58,192 // pminuw %xmm8,%xmm0 .byte 102,15,253,205 // paddw %xmm5,%xmm1 .byte 102,65,15,56,58,200 // pminuw %xmm8,%xmm1 .byte 102,15,253,214 // paddw %xmm6,%xmm2 .byte 102,65,15,56,58,208 // pminuw %xmm8,%xmm2 .byte 102,15,253,223 // paddw %xmm7,%xmm3 .byte 102,65,15,56,58,216 // pminuw %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_screen_sse41_lowp .globl _sk_screen_sse41_lowp FUNCTION(_sk_screen_sse41_lowp) _sk_screen_sse41_lowp: .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,15,253,193 // paddw %xmm1,%xmm0 .byte 102,15,213,204 // pmullw %xmm4,%xmm1 .byte 102,68,15,111,21,50,80,0,0 // movdqa 0x5032(%rip),%xmm10 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,202 // paddw %xmm10,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,249,193 // psubw %xmm1,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,68,15,213,197 // pmullw %xmm5,%xmm8 .byte 102,69,15,253,194 // paddw %xmm10,%xmm8 .byte 102,65,15,113,208,8 // psrlw $0x8,%xmm8 .byte 102,65,15,249,200 // psubw %xmm8,%xmm1 .byte 102,68,15,111,198 // movdqa %xmm6,%xmm8 .byte 102,68,15,253,194 // paddw %xmm2,%xmm8 .byte 102,15,213,214 // pmullw %xmm6,%xmm2 .byte 102,65,15,253,210 // paddw %xmm10,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,68,15,249,194 // psubw %xmm2,%xmm8 .byte 102,68,15,111,207 // movdqa %xmm7,%xmm9 .byte 102,68,15,253,203 // paddw %xmm3,%xmm9 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 102,65,15,253,218 // paddw %xmm10,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,68,15,249,203 // psubw %xmm3,%xmm9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 102,65,15,111,217 // movdqa %xmm9,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_xor__sse41_lowp .globl _sk_xor__sse41_lowp FUNCTION(_sk_xor__sse41_lowp) _sk_xor__sse41_lowp: .byte 102,68,15,111,195 // movdqa %xmm3,%xmm8 .byte 102,68,15,111,13,176,79,0,0 // movdqa 0x4fb0(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,111,209 // movdqa %xmm9,%xmm10 .byte 102,68,15,249,215 // psubw %xmm7,%xmm10 .byte 102,65,15,213,194 // pmullw %xmm10,%xmm0 .byte 102,65,15,111,217 // movdqa %xmm9,%xmm3 .byte 102,65,15,249,216 // psubw %xmm8,%xmm3 .byte 102,68,15,111,219 // movdqa %xmm3,%xmm11 .byte 102,68,15,213,220 // pmullw %xmm4,%xmm11 .byte 102,65,15,253,195 // paddw %xmm11,%xmm0 .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,65,15,213,202 // pmullw %xmm10,%xmm1 .byte 102,68,15,111,219 // movdqa %xmm3,%xmm11 .byte 102,68,15,213,221 // pmullw %xmm5,%xmm11 .byte 102,65,15,253,203 // paddw %xmm11,%xmm1 .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,65,15,213,210 // pmullw %xmm10,%xmm2 .byte 102,68,15,111,219 // movdqa %xmm3,%xmm11 .byte 102,68,15,213,222 // pmullw %xmm6,%xmm11 .byte 102,65,15,253,211 // paddw %xmm11,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,69,15,213,208 // pmullw %xmm8,%xmm10 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 102,65,15,253,218 // paddw %xmm10,%xmm3 .byte 102,65,15,253,217 // paddw %xmm9,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_darken_sse41_lowp .globl _sk_darken_sse41_lowp FUNCTION(_sk_darken_sse41_lowp) _sk_darken_sse41_lowp: .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,68,15,111,200 // movdqa %xmm0,%xmm9 .byte 102,15,111,204 // movdqa %xmm4,%xmm1 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,68,15,213,207 // pmullw %xmm7,%xmm9 .byte 102,15,213,203 // pmullw %xmm3,%xmm1 .byte 102,65,15,56,62,201 // pmaxuw %xmm9,%xmm1 .byte 102,68,15,111,13,247,78,0,0 // movdqa 0x4ef7(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,249,193 // psubw %xmm1,%xmm0 .byte 102,68,15,111,213 // movdqa %xmm5,%xmm10 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,68,15,213,199 // pmullw %xmm7,%xmm8 .byte 102,68,15,213,211 // pmullw %xmm3,%xmm10 .byte 102,69,15,56,62,208 // pmaxuw %xmm8,%xmm10 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,65,15,249,202 // psubw %xmm10,%xmm1 .byte 102,68,15,111,214 // movdqa %xmm6,%xmm10 .byte 102,68,15,111,198 // movdqa %xmm6,%xmm8 .byte 102,68,15,253,194 // paddw %xmm2,%xmm8 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,68,15,213,211 // pmullw %xmm3,%xmm10 .byte 102,68,15,56,62,210 // pmaxuw %xmm2,%xmm10 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,69,15,249,194 // psubw %xmm10,%xmm8 .byte 102,65,15,111,209 // movdqa %xmm9,%xmm2 .byte 102,15,249,211 // psubw %xmm3,%xmm2 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,253,218 // paddw %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_lighten_sse41_lowp .globl _sk_lighten_sse41_lowp FUNCTION(_sk_lighten_sse41_lowp) _sk_lighten_sse41_lowp: .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,68,15,111,200 // movdqa %xmm0,%xmm9 .byte 102,15,111,204 // movdqa %xmm4,%xmm1 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,68,15,213,207 // pmullw %xmm7,%xmm9 .byte 102,15,213,203 // pmullw %xmm3,%xmm1 .byte 102,65,15,56,58,201 // pminuw %xmm9,%xmm1 .byte 102,68,15,111,13,58,78,0,0 // movdqa 0x4e3a(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,249,193 // psubw %xmm1,%xmm0 .byte 102,68,15,111,213 // movdqa %xmm5,%xmm10 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,68,15,213,199 // pmullw %xmm7,%xmm8 .byte 102,68,15,213,211 // pmullw %xmm3,%xmm10 .byte 102,69,15,56,58,208 // pminuw %xmm8,%xmm10 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,65,15,249,202 // psubw %xmm10,%xmm1 .byte 102,68,15,111,214 // movdqa %xmm6,%xmm10 .byte 102,68,15,111,198 // movdqa %xmm6,%xmm8 .byte 102,68,15,253,194 // paddw %xmm2,%xmm8 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,68,15,213,211 // pmullw %xmm3,%xmm10 .byte 102,68,15,56,58,210 // pminuw %xmm2,%xmm10 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,69,15,249,194 // psubw %xmm10,%xmm8 .byte 102,65,15,111,209 // movdqa %xmm9,%xmm2 .byte 102,15,249,211 // psubw %xmm3,%xmm2 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,253,218 // paddw %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_difference_sse41_lowp .globl _sk_difference_sse41_lowp FUNCTION(_sk_difference_sse41_lowp) _sk_difference_sse41_lowp: .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,68,15,111,200 // movdqa %xmm0,%xmm9 .byte 102,15,111,204 // movdqa %xmm4,%xmm1 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,68,15,213,207 // pmullw %xmm7,%xmm9 .byte 102,15,213,203 // pmullw %xmm3,%xmm1 .byte 102,65,15,56,58,201 // pminuw %xmm9,%xmm1 .byte 102,68,15,111,13,125,77,0,0 // movdqa 0x4d7d(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,15,113,209,7 // psrlw $0x7,%xmm1 .byte 102,68,15,111,21,202,84,0,0 // movdqa 0x54ca(%rip),%xmm10 # 2b700 <_sk_srcover_rgba_8888_sse2_lowp+0x112c> .byte 102,65,15,219,202 // pand %xmm10,%xmm1 .byte 102,15,249,193 // psubw %xmm1,%xmm0 .byte 102,68,15,111,221 // movdqa %xmm5,%xmm11 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,68,15,213,199 // pmullw %xmm7,%xmm8 .byte 102,68,15,213,219 // pmullw %xmm3,%xmm11 .byte 102,69,15,56,58,216 // pminuw %xmm8,%xmm11 .byte 102,69,15,253,217 // paddw %xmm9,%xmm11 .byte 102,65,15,113,211,7 // psrlw $0x7,%xmm11 .byte 102,69,15,219,218 // pand %xmm10,%xmm11 .byte 102,65,15,249,203 // psubw %xmm11,%xmm1 .byte 102,68,15,111,222 // movdqa %xmm6,%xmm11 .byte 102,68,15,111,198 // movdqa %xmm6,%xmm8 .byte 102,68,15,253,194 // paddw %xmm2,%xmm8 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,68,15,213,219 // pmullw %xmm3,%xmm11 .byte 102,68,15,56,58,218 // pminuw %xmm2,%xmm11 .byte 102,69,15,253,217 // paddw %xmm9,%xmm11 .byte 102,65,15,113,211,7 // psrlw $0x7,%xmm11 .byte 102,69,15,219,218 // pand %xmm10,%xmm11 .byte 102,69,15,249,195 // psubw %xmm11,%xmm8 .byte 102,65,15,111,209 // movdqa %xmm9,%xmm2 .byte 102,15,249,211 // psubw %xmm3,%xmm2 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,253,218 // paddw %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_exclusion_sse41_lowp .globl _sk_exclusion_sse41_lowp FUNCTION(_sk_exclusion_sse41_lowp) _sk_exclusion_sse41_lowp: .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,15,253,193 // paddw %xmm1,%xmm0 .byte 102,15,213,204 // pmullw %xmm4,%xmm1 .byte 102,68,15,111,13,185,76,0,0 // movdqa 0x4cb9(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,15,113,209,7 // psrlw $0x7,%xmm1 .byte 102,68,15,111,21,6,84,0,0 // movdqa 0x5406(%rip),%xmm10 # 2b700 <_sk_srcover_rgba_8888_sse2_lowp+0x112c> .byte 102,65,15,219,202 // pand %xmm10,%xmm1 .byte 102,15,249,193 // psubw %xmm1,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,68,15,213,197 // pmullw %xmm5,%xmm8 .byte 102,69,15,253,193 // paddw %xmm9,%xmm8 .byte 102,65,15,113,208,7 // psrlw $0x7,%xmm8 .byte 102,69,15,219,194 // pand %xmm10,%xmm8 .byte 102,65,15,249,200 // psubw %xmm8,%xmm1 .byte 102,68,15,111,198 // movdqa %xmm6,%xmm8 .byte 102,68,15,253,194 // paddw %xmm2,%xmm8 .byte 102,15,213,214 // pmullw %xmm6,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,113,210,7 // psrlw $0x7,%xmm2 .byte 102,65,15,219,210 // pand %xmm10,%xmm2 .byte 102,68,15,249,194 // psubw %xmm2,%xmm8 .byte 102,65,15,111,209 // movdqa %xmm9,%xmm2 .byte 102,15,249,211 // psubw %xmm3,%xmm2 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,253,218 // paddw %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_hardlight_sse41_lowp .globl _sk_hardlight_sse41_lowp FUNCTION(_sk_hardlight_sse41_lowp) _sk_hardlight_sse41_lowp: .byte 102,68,15,111,231 // movdqa %xmm7,%xmm12 .byte 15,41,116,36,232 // movaps %xmm6,-0x18(%rsp) .byte 102,15,111,245 // movdqa %xmm5,%xmm6 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,68,15,111,192 // movdqa %xmm0,%xmm8 .byte 102,68,15,111,29,20,76,0,0 // movdqa 0x4c14(%rip),%xmm11 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,249,220 // psubw %xmm12,%xmm11 .byte 102,65,15,111,227 // movdqa %xmm11,%xmm4 .byte 102,65,15,213,224 // pmullw %xmm8,%xmm4 .byte 102,68,15,111,251 // movdqa %xmm3,%xmm15 .byte 102,69,15,249,248 // psubw %xmm8,%xmm15 .byte 102,69,15,253,192 // paddw %xmm8,%xmm8 .byte 102,68,15,111,13,93,83,0,0 // movdqa 0x535d(%rip),%xmm9 # 2b710 <_sk_srcover_rgba_8888_sse2_lowp+0x113c> .byte 102,68,15,111,243 // movdqa %xmm3,%xmm14 .byte 102,69,15,239,241 // pxor %xmm9,%xmm14 .byte 102,65,15,111,196 // movdqa %xmm12,%xmm0 .byte 102,69,15,111,212 // movdqa %xmm12,%xmm10 .byte 102,68,15,213,211 // pmullw %xmm3,%xmm10 .byte 102,15,249,197 // psubw %xmm5,%xmm0 .byte 102,65,15,213,199 // pmullw %xmm15,%xmm0 .byte 102,15,253,192 // paddw %xmm0,%xmm0 .byte 102,69,15,111,250 // movdqa %xmm10,%xmm15 .byte 102,68,15,249,248 // psubw %xmm0,%xmm15 .byte 102,65,15,111,192 // movdqa %xmm8,%xmm0 .byte 102,65,15,239,193 // pxor %xmm9,%xmm0 .byte 102,65,15,101,198 // pcmpgtw %xmm14,%xmm0 .byte 102,68,15,213,197 // pmullw %xmm5,%xmm8 .byte 102,69,15,56,16,199 // pblendvb %xmm0,%xmm15,%xmm8 .byte 102,65,15,111,196 // movdqa %xmm12,%xmm0 .byte 102,68,15,111,251 // movdqa %xmm3,%xmm15 .byte 102,68,15,249,249 // psubw %xmm1,%xmm15 .byte 102,15,249,198 // psubw %xmm6,%xmm0 .byte 102,65,15,213,199 // pmullw %xmm15,%xmm0 .byte 102,15,253,192 // paddw %xmm0,%xmm0 .byte 102,69,15,111,234 // movdqa %xmm10,%xmm13 .byte 102,68,15,249,232 // psubw %xmm0,%xmm13 .byte 102,69,15,111,251 // movdqa %xmm11,%xmm15 .byte 102,68,15,213,249 // pmullw %xmm1,%xmm15 .byte 102,15,253,201 // paddw %xmm1,%xmm1 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,65,15,239,193 // pxor %xmm9,%xmm0 .byte 102,65,15,101,198 // pcmpgtw %xmm14,%xmm0 .byte 102,15,213,206 // pmullw %xmm6,%xmm1 .byte 102,65,15,56,16,205 // pblendvb %xmm0,%xmm13,%xmm1 .byte 102,68,15,213,218 // pmullw %xmm2,%xmm11 .byte 102,68,15,111,235 // movdqa %xmm3,%xmm13 .byte 102,68,15,249,234 // psubw %xmm2,%xmm13 .byte 102,15,253,210 // paddw %xmm2,%xmm2 .byte 102,68,15,239,202 // pxor %xmm2,%xmm9 .byte 102,69,15,101,206 // pcmpgtw %xmm14,%xmm9 .byte 102,15,111,68,36,232 // movdqa -0x18(%rsp),%xmm0 .byte 102,15,249,248 // psubw %xmm0,%xmm7 .byte 102,65,15,213,253 // pmullw %xmm13,%xmm7 .byte 102,15,253,255 // paddw %xmm7,%xmm7 .byte 102,68,15,249,215 // psubw %xmm7,%xmm10 .byte 102,15,213,208 // pmullw %xmm0,%xmm2 .byte 102,68,15,111,232 // movdqa %xmm0,%xmm13 .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,65,15,56,16,210 // pblendvb %xmm0,%xmm10,%xmm2 .byte 102,68,15,111,13,5,75,0,0 // movdqa 0x4b05(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,15,249,195 // psubw %xmm3,%xmm0 .byte 102,15,111,248 // movdqa %xmm0,%xmm7 .byte 102,15,213,253 // pmullw %xmm5,%xmm7 .byte 102,15,253,252 // paddw %xmm4,%xmm7 .byte 102,69,15,253,193 // paddw %xmm9,%xmm8 .byte 102,68,15,253,199 // paddw %xmm7,%xmm8 .byte 102,15,111,224 // movdqa %xmm0,%xmm4 .byte 102,15,213,230 // pmullw %xmm6,%xmm4 .byte 102,65,15,253,231 // paddw %xmm15,%xmm4 .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,15,253,204 // paddw %xmm4,%xmm1 .byte 102,15,111,224 // movdqa %xmm0,%xmm4 .byte 102,65,15,213,229 // pmullw %xmm13,%xmm4 .byte 102,65,15,253,227 // paddw %xmm11,%xmm4 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,253,212 // paddw %xmm4,%xmm2 .byte 102,65,15,213,196 // pmullw %xmm12,%xmm0 .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,253,216 // paddw %xmm0,%xmm3 .byte 102,65,15,113,208,8 // psrlw $0x8,%xmm8 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,252 // movdqa %xmm12,%xmm7 .byte 102,65,15,111,192 // movdqa %xmm8,%xmm0 .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,15,111,238 // movdqa %xmm6,%xmm5 .byte 102,65,15,111,245 // movdqa %xmm13,%xmm6 .byte 255,224 // jmpq *%rax HIDDEN _sk_overlay_sse41_lowp .globl _sk_overlay_sse41_lowp FUNCTION(_sk_overlay_sse41_lowp) _sk_overlay_sse41_lowp: .byte 102,68,15,111,231 // movdqa %xmm7,%xmm12 .byte 102,68,15,111,192 // movdqa %xmm0,%xmm8 .byte 102,68,15,111,29,104,74,0,0 // movdqa 0x4a68(%rip),%xmm11 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,249,220 // psubw %xmm12,%xmm11 .byte 102,65,15,111,195 // movdqa %xmm11,%xmm0 .byte 102,65,15,213,192 // pmullw %xmm8,%xmm0 .byte 102,15,127,68,36,232 // movdqa %xmm0,-0x18(%rsp) .byte 102,68,15,111,243 // movdqa %xmm3,%xmm14 .byte 102,69,15,249,240 // psubw %xmm8,%xmm14 .byte 102,68,15,213,196 // pmullw %xmm4,%xmm8 .byte 102,69,15,111,252 // movdqa %xmm12,%xmm15 .byte 102,68,15,249,252 // psubw %xmm4,%xmm15 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,15,253,192 // paddw %xmm0,%xmm0 .byte 102,68,15,111,13,153,81,0,0 // movdqa 0x5199(%rip),%xmm9 # 2b710 <_sk_srcover_rgba_8888_sse2_lowp+0x113c> .byte 102,69,15,111,212 // movdqa %xmm12,%xmm10 .byte 102,68,15,213,211 // pmullw %xmm3,%xmm10 .byte 102,69,15,213,254 // pmullw %xmm14,%xmm15 .byte 102,69,15,253,255 // paddw %xmm15,%xmm15 .byte 102,69,15,111,234 // movdqa %xmm10,%xmm13 .byte 102,69,15,249,239 // psubw %xmm15,%xmm13 .byte 102,69,15,111,244 // movdqa %xmm12,%xmm14 .byte 102,69,15,239,241 // pxor %xmm9,%xmm14 .byte 102,65,15,239,193 // pxor %xmm9,%xmm0 .byte 102,65,15,101,198 // pcmpgtw %xmm14,%xmm0 .byte 102,69,15,253,192 // paddw %xmm8,%xmm8 .byte 102,69,15,56,16,197 // pblendvb %xmm0,%xmm13,%xmm8 .byte 102,65,15,111,196 // movdqa %xmm12,%xmm0 .byte 102,68,15,111,235 // movdqa %xmm3,%xmm13 .byte 102,68,15,249,233 // psubw %xmm1,%xmm13 .byte 102,15,249,197 // psubw %xmm5,%xmm0 .byte 102,65,15,213,197 // pmullw %xmm13,%xmm0 .byte 102,15,253,192 // paddw %xmm0,%xmm0 .byte 102,69,15,111,234 // movdqa %xmm10,%xmm13 .byte 102,68,15,249,232 // psubw %xmm0,%xmm13 .byte 102,69,15,111,251 // movdqa %xmm11,%xmm15 .byte 102,68,15,213,249 // pmullw %xmm1,%xmm15 .byte 102,15,213,205 // pmullw %xmm5,%xmm1 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,253,192 // paddw %xmm0,%xmm0 .byte 102,65,15,239,193 // pxor %xmm9,%xmm0 .byte 102,65,15,101,198 // pcmpgtw %xmm14,%xmm0 .byte 102,15,253,201 // paddw %xmm1,%xmm1 .byte 102,65,15,56,16,205 // pblendvb %xmm0,%xmm13,%xmm1 .byte 102,15,111,198 // movdqa %xmm6,%xmm0 .byte 102,15,253,192 // paddw %xmm0,%xmm0 .byte 102,68,15,239,200 // pxor %xmm0,%xmm9 .byte 102,65,15,111,196 // movdqa %xmm12,%xmm0 .byte 102,15,249,198 // psubw %xmm6,%xmm0 .byte 102,69,15,101,206 // pcmpgtw %xmm14,%xmm9 .byte 102,15,111,251 // movdqa %xmm3,%xmm7 .byte 102,15,249,250 // psubw %xmm2,%xmm7 .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,15,253,192 // paddw %xmm0,%xmm0 .byte 102,68,15,249,208 // psubw %xmm0,%xmm10 .byte 102,68,15,213,218 // pmullw %xmm2,%xmm11 .byte 102,15,213,214 // pmullw %xmm6,%xmm2 .byte 102,15,253,210 // paddw %xmm2,%xmm2 .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,65,15,56,16,210 // pblendvb %xmm0,%xmm10,%xmm2 .byte 102,68,15,111,13,75,73,0,0 // movdqa 0x494b(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,15,249,195 // psubw %xmm3,%xmm0 .byte 102,15,111,248 // movdqa %xmm0,%xmm7 .byte 102,15,213,252 // pmullw %xmm4,%xmm7 .byte 102,15,253,124,36,232 // paddw -0x18(%rsp),%xmm7 .byte 102,69,15,253,193 // paddw %xmm9,%xmm8 .byte 102,68,15,253,199 // paddw %xmm7,%xmm8 .byte 102,15,111,248 // movdqa %xmm0,%xmm7 .byte 102,15,213,253 // pmullw %xmm5,%xmm7 .byte 102,65,15,253,255 // paddw %xmm15,%xmm7 .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,15,253,207 // paddw %xmm7,%xmm1 .byte 102,15,111,248 // movdqa %xmm0,%xmm7 .byte 102,15,213,254 // pmullw %xmm6,%xmm7 .byte 102,65,15,253,251 // paddw %xmm11,%xmm7 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,253,215 // paddw %xmm7,%xmm2 .byte 102,65,15,213,196 // pmullw %xmm12,%xmm0 .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,253,216 // paddw %xmm0,%xmm3 .byte 102,65,15,113,208,8 // psrlw $0x8,%xmm8 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,252 // movdqa %xmm12,%xmm7 .byte 102,65,15,111,192 // movdqa %xmm8,%xmm0 .byte 255,224 // jmpq *%rax HIDDEN _sk_load_8888_sse41_lowp .globl _sk_load_8888_sse41_lowp FUNCTION(_sk_load_8888_sse41_lowp) _sk_load_8888_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,41 // ja 26717 <_sk_load_8888_sse41_lowp+0x44> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,239,0,0,0 // lea 0xef(%rip),%r9 # 267ec <_sk_load_8888_sse41_lowp+0x119> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 255,224 // jmpq *%rax .byte 102,65,15,110,20,144 // movd (%r8,%rdx,4),%xmm2 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 235,89 // jmp 26770 <_sk_load_8888_sse41_lowp+0x9d> .byte 243,65,15,111,20,144 // movdqu (%r8,%rdx,4),%xmm2 .byte 243,69,15,111,68,144,16 // movdqu 0x10(%r8,%rdx,4),%xmm8 .byte 235,74 // jmp 26770 <_sk_load_8888_sse41_lowp+0x9d> .byte 102,65,15,110,68,144,8 // movd 0x8(%r8,%rdx,4),%xmm0 .byte 102,68,15,112,192,69 // pshufd $0x45,%xmm0,%xmm8 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 243,65,15,126,20,144 // movq (%r8,%rdx,4),%xmm2 .byte 102,65,15,58,14,208,240 // pblendw $0xf0,%xmm8,%xmm2 .byte 102,68,15,111,192 // movdqa %xmm0,%xmm8 .byte 235,37 // jmp 26770 <_sk_load_8888_sse41_lowp+0x9d> .byte 102,65,15,110,68,144,24 // movd 0x18(%r8,%rdx,4),%xmm0 .byte 102,68,15,112,192,69 // pshufd $0x45,%xmm0,%xmm8 .byte 102,69,15,58,34,68,144,20,1 // pinsrd $0x1,0x14(%r8,%rdx,4),%xmm8 .byte 102,69,15,58,34,68,144,16,0 // pinsrd $0x0,0x10(%r8,%rdx,4),%xmm8 .byte 243,65,15,111,20,144 // movdqu (%r8,%rdx,4),%xmm2 .byte 102,15,111,5,168,79,0,0 // movdqa 0x4fa8(%rip),%xmm0 # 2b720 <_sk_srcover_rgba_8888_sse2_lowp+0x114c> .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,56,0,200 // pshufb %xmm0,%xmm1 .byte 102,65,15,111,216 // movdqa %xmm8,%xmm3 .byte 102,15,56,0,216 // pshufb %xmm0,%xmm3 .byte 102,15,108,203 // punpcklqdq %xmm3,%xmm1 .byte 102,68,15,111,13,8,72,0,0 // movdqa 0x4808(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,65,15,219,193 // pand %xmm9,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,68,15,111,21,129,79,0,0 // movdqa 0x4f81(%rip),%xmm10 # 2b730 <_sk_srcover_rgba_8888_sse2_lowp+0x115c> .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,65,15,56,0,218 // pshufb %xmm10,%xmm3 .byte 102,69,15,111,216 // movdqa %xmm8,%xmm11 .byte 102,69,15,56,0,218 // pshufb %xmm10,%xmm11 .byte 102,65,15,108,219 // punpcklqdq %xmm11,%xmm3 .byte 102,68,15,111,21,110,79,0,0 // movdqa 0x4f6e(%rip),%xmm10 # 2b740 <_sk_srcover_rgba_8888_sse2_lowp+0x116c> .byte 102,65,15,56,0,210 // pshufb %xmm10,%xmm2 .byte 102,69,15,56,0,194 // pshufb %xmm10,%xmm8 .byte 102,65,15,108,208 // punpcklqdq %xmm8,%xmm2 .byte 102,65,15,219,209 // pand %xmm9,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 30 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,75,255 // decl -0x1(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 58,255 // cmp %bh,%bh .byte 255 // (bad) .byte 255 // (bad) .byte 126,255 // jle 267f9 <_sk_load_8888_sse41_lowp+0x126> .byte 255 // (bad) .byte 255,117,255 // pushq -0x1(%rbp) .byte 255 // (bad) .byte 255,108,255,255 // ljmp *-0x1(%rdi,%rdi,8) .byte 255,95,255 // lcall *-0x1(%rdi) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_8888_dst_sse41_lowp .globl _sk_load_8888_dst_sse41_lowp FUNCTION(_sk_load_8888_dst_sse41_lowp) _sk_load_8888_dst_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,41 // ja 2684c <_sk_load_8888_dst_sse41_lowp+0x44> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,242,0,0,0 // lea 0xf2(%rip),%r9 # 26924 <_sk_load_8888_dst_sse41_lowp+0x11c> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 255,224 // jmpq *%rax .byte 102,65,15,110,52,144 // movd (%r8,%rdx,4),%xmm6 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 235,89 // jmp 268a5 <_sk_load_8888_dst_sse41_lowp+0x9d> .byte 243,65,15,111,52,144 // movdqu (%r8,%rdx,4),%xmm6 .byte 243,69,15,111,68,144,16 // movdqu 0x10(%r8,%rdx,4),%xmm8 .byte 235,74 // jmp 268a5 <_sk_load_8888_dst_sse41_lowp+0x9d> .byte 102,65,15,110,100,144,8 // movd 0x8(%r8,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 243,65,15,126,52,144 // movq (%r8,%rdx,4),%xmm6 .byte 102,65,15,58,14,240,240 // pblendw $0xf0,%xmm8,%xmm6 .byte 102,68,15,111,196 // movdqa %xmm4,%xmm8 .byte 235,37 // jmp 268a5 <_sk_load_8888_dst_sse41_lowp+0x9d> .byte 102,65,15,110,100,144,24 // movd 0x18(%r8,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 102,69,15,58,34,68,144,20,1 // pinsrd $0x1,0x14(%r8,%rdx,4),%xmm8 .byte 102,69,15,58,34,68,144,16,0 // pinsrd $0x0,0x10(%r8,%rdx,4),%xmm8 .byte 243,65,15,111,52,144 // movdqu (%r8,%rdx,4),%xmm6 .byte 102,15,111,37,115,78,0,0 // movdqa 0x4e73(%rip),%xmm4 # 2b720 <_sk_srcover_rgba_8888_sse2_lowp+0x114c> .byte 102,15,111,238 // movdqa %xmm6,%xmm5 .byte 102,15,56,0,236 // pshufb %xmm4,%xmm5 .byte 102,65,15,111,248 // movdqa %xmm8,%xmm7 .byte 102,15,56,0,252 // pshufb %xmm4,%xmm7 .byte 102,15,108,239 // punpcklqdq %xmm7,%xmm5 .byte 102,68,15,111,13,211,70,0,0 // movdqa 0x46d3(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,65,15,219,225 // pand %xmm9,%xmm4 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,68,15,111,21,76,78,0,0 // movdqa 0x4e4c(%rip),%xmm10 # 2b730 <_sk_srcover_rgba_8888_sse2_lowp+0x115c> .byte 102,15,111,254 // movdqa %xmm6,%xmm7 .byte 102,65,15,56,0,250 // pshufb %xmm10,%xmm7 .byte 102,69,15,111,216 // movdqa %xmm8,%xmm11 .byte 102,69,15,56,0,218 // pshufb %xmm10,%xmm11 .byte 102,65,15,108,251 // punpcklqdq %xmm11,%xmm7 .byte 102,68,15,111,21,57,78,0,0 // movdqa 0x4e39(%rip),%xmm10 # 2b740 <_sk_srcover_rgba_8888_sse2_lowp+0x116c> .byte 102,65,15,56,0,242 // pshufb %xmm10,%xmm6 .byte 102,69,15,56,0,194 // pshufb %xmm10,%xmm8 .byte 102,65,15,108,240 // punpcklqdq %xmm8,%xmm6 .byte 102,65,15,219,241 // pand %xmm9,%xmm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 27,255 // sbb %edi,%edi .byte 255 // (bad) .byte 255,72,255 // decl -0x1(%rax) .byte 255 // (bad) .byte 255,55 // pushq (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 123,255 // jnp 26931 <_sk_load_8888_dst_sse41_lowp+0x129> .byte 255 // (bad) .byte 255,114,255 // pushq -0x1(%rdx) .byte 255 // (bad) .byte 255,105,255 // ljmp *-0x1(%rcx) .byte 255 // (bad) .byte 255,92,255,255 // lcall *-0x1(%rdi,%rdi,8) .byte 255 // .byte 0xff HIDDEN _sk_store_8888_sse41_lowp .globl _sk_store_8888_sse41_lowp FUNCTION(_sk_store_8888_sse41_lowp) _sk_store_8888_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,65,15,113,240,8 // psllw $0x8,%xmm8 .byte 102,68,15,235,192 // por %xmm0,%xmm8 .byte 102,69,15,112,200,78 // pshufd $0x4e,%xmm8,%xmm9 .byte 102,69,15,56,51,209 // pmovzxwd %xmm9,%xmm10 .byte 102,69,15,56,51,216 // pmovzxwd %xmm8,%xmm11 .byte 102,68,15,111,227 // movdqa %xmm3,%xmm12 .byte 102,65,15,113,244,8 // psllw $0x8,%xmm12 .byte 102,68,15,235,226 // por %xmm2,%xmm12 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 102,69,15,105,204 // punpckhwd %xmm12,%xmm9 .byte 102,69,15,235,202 // por %xmm10,%xmm9 .byte 102,69,15,97,196 // punpcklwd %xmm12,%xmm8 .byte 102,69,15,235,195 // por %xmm11,%xmm8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,27 // ja 269c6 <_sk_store_8888_sse41_lowp+0x86> .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,87,0,0,0 // lea 0x57(%rip),%r9 # 26a0c <_sk_store_8888_sse41_lowp+0xcc> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,126,4,144 // movd %xmm8,(%r8,%rdx,4) .byte 235,63 // jmp 26a05 <_sk_store_8888_sse41_lowp+0xc5> .byte 243,69,15,127,4,144 // movdqu %xmm8,(%r8,%rdx,4) .byte 243,69,15,127,76,144,16 // movdqu %xmm9,0x10(%r8,%rdx,4) .byte 235,48 // jmp 26a05 <_sk_store_8888_sse41_lowp+0xc5> .byte 102,69,15,58,22,68,144,8,2 // pextrd $0x2,%xmm8,0x8(%r8,%rdx,4) .byte 102,69,15,214,4,144 // movq %xmm8,(%r8,%rdx,4) .byte 235,31 // jmp 26a05 <_sk_store_8888_sse41_lowp+0xc5> .byte 102,69,15,58,22,76,144,24,2 // pextrd $0x2,%xmm9,0x18(%r8,%rdx,4) .byte 102,69,15,58,22,76,144,20,1 // pextrd $0x1,%xmm9,0x14(%r8,%rdx,4) .byte 102,69,15,126,76,144,16 // movd %xmm9,0x10(%r8,%rdx,4) .byte 243,69,15,127,4,144 // movdqu %xmm8,(%r8,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 178,255 // mov $0xff,%dl .byte 255 // (bad) .byte 255,210 // callq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255,201 // dec %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255,243 // push %rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 236 // in (%dx),%al .byte 255 // (bad) .byte 255 // (bad) .byte 255,227 // jmpq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 218,255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_bgra_sse41_lowp .globl _sk_load_bgra_sse41_lowp FUNCTION(_sk_load_bgra_sse41_lowp) _sk_load_bgra_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,41 // ja 26a6c <_sk_load_bgra_sse41_lowp+0x44> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,242,0,0,0 // lea 0xf2(%rip),%r9 # 26b44 <_sk_load_bgra_sse41_lowp+0x11c> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 255,224 // jmpq *%rax .byte 102,65,15,110,4,144 // movd (%r8,%rdx,4),%xmm0 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 235,89 // jmp 26ac5 <_sk_load_bgra_sse41_lowp+0x9d> .byte 243,65,15,111,4,144 // movdqu (%r8,%rdx,4),%xmm0 .byte 243,69,15,111,68,144,16 // movdqu 0x10(%r8,%rdx,4),%xmm8 .byte 235,74 // jmp 26ac5 <_sk_load_bgra_sse41_lowp+0x9d> .byte 102,65,15,110,68,144,8 // movd 0x8(%r8,%rdx,4),%xmm0 .byte 102,68,15,112,192,69 // pshufd $0x45,%xmm0,%xmm8 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 243,65,15,126,4,144 // movq (%r8,%rdx,4),%xmm0 .byte 102,65,15,58,14,192,240 // pblendw $0xf0,%xmm8,%xmm0 .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 235,37 // jmp 26ac5 <_sk_load_bgra_sse41_lowp+0x9d> .byte 102,65,15,110,68,144,24 // movd 0x18(%r8,%rdx,4),%xmm0 .byte 102,68,15,112,192,69 // pshufd $0x45,%xmm0,%xmm8 .byte 102,69,15,58,34,68,144,20,1 // pinsrd $0x1,0x14(%r8,%rdx,4),%xmm8 .byte 102,69,15,58,34,68,144,16,0 // pinsrd $0x0,0x10(%r8,%rdx,4),%xmm8 .byte 243,65,15,111,4,144 // movdqu (%r8,%rdx,4),%xmm0 .byte 102,15,111,21,83,76,0,0 // movdqa 0x4c53(%rip),%xmm2 # 2b720 <_sk_srcover_rgba_8888_sse2_lowp+0x114c> .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,56,0,202 // pshufb %xmm2,%xmm1 .byte 102,65,15,111,216 // movdqa %xmm8,%xmm3 .byte 102,15,56,0,218 // pshufb %xmm2,%xmm3 .byte 102,15,108,203 // punpcklqdq %xmm3,%xmm1 .byte 102,68,15,111,13,179,68,0,0 // movdqa 0x44b3(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,111,209 // movdqa %xmm1,%xmm2 .byte 102,65,15,219,209 // pand %xmm9,%xmm2 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,68,15,111,21,44,76,0,0 // movdqa 0x4c2c(%rip),%xmm10 # 2b730 <_sk_srcover_rgba_8888_sse2_lowp+0x115c> .byte 102,15,111,216 // movdqa %xmm0,%xmm3 .byte 102,65,15,56,0,218 // pshufb %xmm10,%xmm3 .byte 102,69,15,111,216 // movdqa %xmm8,%xmm11 .byte 102,69,15,56,0,218 // pshufb %xmm10,%xmm11 .byte 102,65,15,108,219 // punpcklqdq %xmm11,%xmm3 .byte 102,68,15,111,21,25,76,0,0 // movdqa 0x4c19(%rip),%xmm10 # 2b740 <_sk_srcover_rgba_8888_sse2_lowp+0x116c> .byte 102,65,15,56,0,194 // pshufb %xmm10,%xmm0 .byte 102,69,15,56,0,194 // pshufb %xmm10,%xmm8 .byte 102,65,15,108,192 // punpcklqdq %xmm8,%xmm0 .byte 102,65,15,219,193 // pand %xmm9,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 27,255 // sbb %edi,%edi .byte 255 // (bad) .byte 255,72,255 // decl -0x1(%rax) .byte 255 // (bad) .byte 255,55 // pushq (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 123,255 // jnp 26b51 <_sk_load_bgra_sse41_lowp+0x129> .byte 255 // (bad) .byte 255,114,255 // pushq -0x1(%rdx) .byte 255 // (bad) .byte 255,105,255 // ljmp *-0x1(%rcx) .byte 255 // (bad) .byte 255,92,255,255 // lcall *-0x1(%rdi,%rdi,8) .byte 255 // .byte 0xff HIDDEN _sk_load_bgra_dst_sse41_lowp .globl _sk_load_bgra_dst_sse41_lowp FUNCTION(_sk_load_bgra_dst_sse41_lowp) _sk_load_bgra_dst_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,41 // ja 26ba4 <_sk_load_bgra_dst_sse41_lowp+0x44> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,242,0,0,0 // lea 0xf2(%rip),%r9 # 26c7c <_sk_load_bgra_dst_sse41_lowp+0x11c> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 255,224 // jmpq *%rax .byte 102,65,15,110,36,144 // movd (%r8,%rdx,4),%xmm4 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 235,89 // jmp 26bfd <_sk_load_bgra_dst_sse41_lowp+0x9d> .byte 243,65,15,111,36,144 // movdqu (%r8,%rdx,4),%xmm4 .byte 243,69,15,111,68,144,16 // movdqu 0x10(%r8,%rdx,4),%xmm8 .byte 235,74 // jmp 26bfd <_sk_load_bgra_dst_sse41_lowp+0x9d> .byte 102,65,15,110,100,144,8 // movd 0x8(%r8,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 243,65,15,126,36,144 // movq (%r8,%rdx,4),%xmm4 .byte 102,65,15,58,14,224,240 // pblendw $0xf0,%xmm8,%xmm4 .byte 102,68,15,111,197 // movdqa %xmm5,%xmm8 .byte 235,37 // jmp 26bfd <_sk_load_bgra_dst_sse41_lowp+0x9d> .byte 102,65,15,110,100,144,24 // movd 0x18(%r8,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 102,69,15,58,34,68,144,20,1 // pinsrd $0x1,0x14(%r8,%rdx,4),%xmm8 .byte 102,69,15,58,34,68,144,16,0 // pinsrd $0x0,0x10(%r8,%rdx,4),%xmm8 .byte 243,65,15,111,36,144 // movdqu (%r8,%rdx,4),%xmm4 .byte 102,15,111,53,27,75,0,0 // movdqa 0x4b1b(%rip),%xmm6 # 2b720 <_sk_srcover_rgba_8888_sse2_lowp+0x114c> .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,56,0,238 // pshufb %xmm6,%xmm5 .byte 102,65,15,111,248 // movdqa %xmm8,%xmm7 .byte 102,15,56,0,254 // pshufb %xmm6,%xmm7 .byte 102,15,108,239 // punpcklqdq %xmm7,%xmm5 .byte 102,68,15,111,13,123,67,0,0 // movdqa 0x437b(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,111,245 // movdqa %xmm5,%xmm6 .byte 102,65,15,219,241 // pand %xmm9,%xmm6 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,68,15,111,21,244,74,0,0 // movdqa 0x4af4(%rip),%xmm10 # 2b730 <_sk_srcover_rgba_8888_sse2_lowp+0x115c> .byte 102,15,111,252 // movdqa %xmm4,%xmm7 .byte 102,65,15,56,0,250 // pshufb %xmm10,%xmm7 .byte 102,69,15,111,216 // movdqa %xmm8,%xmm11 .byte 102,69,15,56,0,218 // pshufb %xmm10,%xmm11 .byte 102,65,15,108,251 // punpcklqdq %xmm11,%xmm7 .byte 102,68,15,111,21,225,74,0,0 // movdqa 0x4ae1(%rip),%xmm10 # 2b740 <_sk_srcover_rgba_8888_sse2_lowp+0x116c> .byte 102,65,15,56,0,226 // pshufb %xmm10,%xmm4 .byte 102,69,15,56,0,194 // pshufb %xmm10,%xmm8 .byte 102,65,15,108,224 // punpcklqdq %xmm8,%xmm4 .byte 102,65,15,219,225 // pand %xmm9,%xmm4 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 27,255 // sbb %edi,%edi .byte 255 // (bad) .byte 255,72,255 // decl -0x1(%rax) .byte 255 // (bad) .byte 255,55 // pushq (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 123,255 // jnp 26c89 <_sk_load_bgra_dst_sse41_lowp+0x129> .byte 255 // (bad) .byte 255,114,255 // pushq -0x1(%rdx) .byte 255 // (bad) .byte 255,105,255 // ljmp *-0x1(%rcx) .byte 255 // (bad) .byte 255,92,255,255 // lcall *-0x1(%rdi,%rdi,8) .byte 255 // .byte 0xff HIDDEN _sk_store_bgra_sse41_lowp .globl _sk_store_bgra_sse41_lowp FUNCTION(_sk_store_bgra_sse41_lowp) _sk_store_bgra_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,65,15,113,240,8 // psllw $0x8,%xmm8 .byte 102,68,15,235,194 // por %xmm2,%xmm8 .byte 102,69,15,112,200,78 // pshufd $0x4e,%xmm8,%xmm9 .byte 102,69,15,56,51,209 // pmovzxwd %xmm9,%xmm10 .byte 102,69,15,56,51,216 // pmovzxwd %xmm8,%xmm11 .byte 102,68,15,111,227 // movdqa %xmm3,%xmm12 .byte 102,65,15,113,244,8 // psllw $0x8,%xmm12 .byte 102,68,15,235,224 // por %xmm0,%xmm12 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 102,69,15,105,204 // punpckhwd %xmm12,%xmm9 .byte 102,69,15,235,202 // por %xmm10,%xmm9 .byte 102,69,15,97,196 // punpcklwd %xmm12,%xmm8 .byte 102,69,15,235,195 // por %xmm11,%xmm8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,27 // ja 26d1e <_sk_store_bgra_sse41_lowp+0x86> .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,87,0,0,0 // lea 0x57(%rip),%r9 # 26d64 <_sk_store_bgra_sse41_lowp+0xcc> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,126,4,144 // movd %xmm8,(%r8,%rdx,4) .byte 235,63 // jmp 26d5d <_sk_store_bgra_sse41_lowp+0xc5> .byte 243,69,15,127,4,144 // movdqu %xmm8,(%r8,%rdx,4) .byte 243,69,15,127,76,144,16 // movdqu %xmm9,0x10(%r8,%rdx,4) .byte 235,48 // jmp 26d5d <_sk_store_bgra_sse41_lowp+0xc5> .byte 102,69,15,58,22,68,144,8,2 // pextrd $0x2,%xmm8,0x8(%r8,%rdx,4) .byte 102,69,15,214,4,144 // movq %xmm8,(%r8,%rdx,4) .byte 235,31 // jmp 26d5d <_sk_store_bgra_sse41_lowp+0xc5> .byte 102,69,15,58,22,76,144,24,2 // pextrd $0x2,%xmm9,0x18(%r8,%rdx,4) .byte 102,69,15,58,22,76,144,20,1 // pextrd $0x1,%xmm9,0x14(%r8,%rdx,4) .byte 102,69,15,126,76,144,16 // movd %xmm9,0x10(%r8,%rdx,4) .byte 243,69,15,127,4,144 // movdqu %xmm8,(%r8,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 178,255 // mov $0xff,%dl .byte 255 // (bad) .byte 255,210 // callq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255,201 // dec %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255,243 // push %rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 236 // in (%dx),%al .byte 255 // (bad) .byte 255 // (bad) .byte 255,227 // jmpq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 218,255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_565_sse41_lowp .globl _sk_load_565_sse41_lowp FUNCTION(_sk_load_565_sse41_lowp) _sk_load_565_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,34 // ja 26dbc <_sk_load_565_sse41_lowp+0x3c> .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,196,0,0,0 // lea 0xc4(%rip),%r9 # 26e6c <_sk_load_565_sse41_lowp+0xec> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,80 // movzwl (%r8,%rdx,2),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 235,74 // jmp 26e06 <_sk_load_565_sse41_lowp+0x86> .byte 243,65,15,111,4,80 // movdqu (%r8,%rdx,2),%xmm0 .byte 235,66 // jmp 26e06 <_sk_load_565_sse41_lowp+0x86> .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,65,15,196,76,80,4,2 // pinsrw $0x2,0x4(%r8,%rdx,2),%xmm1 .byte 102,65,15,110,4,80 // movd (%r8,%rdx,2),%xmm0 .byte 102,15,58,14,193,252 // pblendw $0xfc,%xmm1,%xmm0 .byte 235,40 // jmp 26e06 <_sk_load_565_sse41_lowp+0x86> .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,65,15,196,76,80,12,6 // pinsrw $0x6,0xc(%r8,%rdx,2),%xmm1 .byte 102,65,15,196,76,80,10,5 // pinsrw $0x5,0xa(%r8,%rdx,2),%xmm1 .byte 102,65,15,196,76,80,8,4 // pinsrw $0x4,0x8(%r8,%rdx,2),%xmm1 .byte 243,65,15,126,4,80 // movq (%r8,%rdx,2),%xmm0 .byte 102,15,58,14,193,240 // pblendw $0xf0,%xmm1,%xmm0 .byte 102,15,111,216 // movdqa %xmm0,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,219,29,57,73,0,0 // pand 0x4939(%rip),%xmm3 # 2b750 <_sk_srcover_rgba_8888_sse2_lowp+0x117c> .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,113,209,5 // psrlw $0x5,%xmm1 .byte 102,15,219,13,56,73,0,0 // pand 0x4938(%rip),%xmm1 # 2b760 <_sk_srcover_rgba_8888_sse2_lowp+0x118c> .byte 102,15,111,21,64,73,0,0 // movdqa 0x4940(%rip),%xmm2 # 2b770 <_sk_srcover_rgba_8888_sse2_lowp+0x119c> .byte 102,15,219,208 // pand %xmm0,%xmm2 .byte 102,15,113,208,13 // psrlw $0xd,%xmm0 .byte 102,15,235,195 // por %xmm3,%xmm0 .byte 102,15,111,217 // movdqa %xmm1,%xmm3 .byte 102,15,113,243,2 // psllw $0x2,%xmm3 .byte 102,15,113,209,4 // psrlw $0x4,%xmm1 .byte 102,15,235,203 // por %xmm3,%xmm1 .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,15,113,243,3 // psllw $0x3,%xmm3 .byte 102,15,113,210,2 // psrlw $0x2,%xmm2 .byte 102,15,235,211 // por %xmm3,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,54,65,0,0 // movaps 0x4136(%rip),%xmm3 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 255,224 // jmpq *%rax .byte 69,255 // rex.RB (bad) .byte 255 // (bad) .byte 255,100,255,255 // jmpq *-0x1(%rdi,%rdi,8) .byte 255,88,255 // lcall *-0x1(%rax) .byte 255 // (bad) .byte 255,142,255,255,255,134 // decl -0x79000001(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 126,255 // jle 26e81 <_sk_load_565_sse41_lowp+0x101> .byte 255 // (bad) .byte 255,114,255 // pushq -0x1(%rdx) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_565_dst_sse41_lowp .globl _sk_load_565_dst_sse41_lowp FUNCTION(_sk_load_565_dst_sse41_lowp) _sk_load_565_dst_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,34 // ja 26ec4 <_sk_load_565_dst_sse41_lowp+0x3c> .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,196,0,0,0 // lea 0xc4(%rip),%r9 # 26f74 <_sk_load_565_dst_sse41_lowp+0xec> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,80 // movzwl (%r8,%rdx,2),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 235,74 // jmp 26f0e <_sk_load_565_dst_sse41_lowp+0x86> .byte 243,65,15,111,36,80 // movdqu (%r8,%rdx,2),%xmm4 .byte 235,66 // jmp 26f0e <_sk_load_565_dst_sse41_lowp+0x86> .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 102,65,15,196,108,80,4,2 // pinsrw $0x2,0x4(%r8,%rdx,2),%xmm5 .byte 102,65,15,110,36,80 // movd (%r8,%rdx,2),%xmm4 .byte 102,15,58,14,229,252 // pblendw $0xfc,%xmm5,%xmm4 .byte 235,40 // jmp 26f0e <_sk_load_565_dst_sse41_lowp+0x86> .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 102,65,15,196,108,80,12,6 // pinsrw $0x6,0xc(%r8,%rdx,2),%xmm5 .byte 102,65,15,196,108,80,10,5 // pinsrw $0x5,0xa(%r8,%rdx,2),%xmm5 .byte 102,65,15,196,108,80,8,4 // pinsrw $0x4,0x8(%r8,%rdx,2),%xmm5 .byte 243,65,15,126,36,80 // movq (%r8,%rdx,2),%xmm4 .byte 102,15,58,14,229,240 // pblendw $0xf0,%xmm5,%xmm4 .byte 102,15,111,252 // movdqa %xmm4,%xmm7 .byte 102,15,113,215,8 // psrlw $0x8,%xmm7 .byte 102,15,219,61,49,72,0,0 // pand 0x4831(%rip),%xmm7 # 2b750 <_sk_srcover_rgba_8888_sse2_lowp+0x117c> .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,113,213,5 // psrlw $0x5,%xmm5 .byte 102,15,219,45,48,72,0,0 // pand 0x4830(%rip),%xmm5 # 2b760 <_sk_srcover_rgba_8888_sse2_lowp+0x118c> .byte 102,15,111,53,56,72,0,0 // movdqa 0x4838(%rip),%xmm6 # 2b770 <_sk_srcover_rgba_8888_sse2_lowp+0x119c> .byte 102,15,219,244 // pand %xmm4,%xmm6 .byte 102,15,113,212,13 // psrlw $0xd,%xmm4 .byte 102,15,235,231 // por %xmm7,%xmm4 .byte 102,15,111,253 // movdqa %xmm5,%xmm7 .byte 102,15,113,247,2 // psllw $0x2,%xmm7 .byte 102,15,113,213,4 // psrlw $0x4,%xmm5 .byte 102,15,235,239 // por %xmm7,%xmm5 .byte 102,15,111,254 // movdqa %xmm6,%xmm7 .byte 102,15,113,247,3 // psllw $0x3,%xmm7 .byte 102,15,113,214,2 // psrlw $0x2,%xmm6 .byte 102,15,235,247 // por %xmm7,%xmm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,61,46,64,0,0 // movaps 0x402e(%rip),%xmm7 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 255,224 // jmpq *%rax .byte 69,255 // rex.RB (bad) .byte 255 // (bad) .byte 255,100,255,255 // jmpq *-0x1(%rdi,%rdi,8) .byte 255,88,255 // lcall *-0x1(%rax) .byte 255 // (bad) .byte 255,142,255,255,255,134 // decl -0x79000001(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 126,255 // jle 26f89 <_sk_load_565_dst_sse41_lowp+0x101> .byte 255 // (bad) .byte 255,114,255 // pushq -0x1(%rdx) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_565_sse41_lowp .globl _sk_store_565_sse41_lowp FUNCTION(_sk_store_565_sse41_lowp) _sk_store_565_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 102,68,15,111,192 // movdqa %xmm0,%xmm8 .byte 102,65,15,113,240,8 // psllw $0x8,%xmm8 .byte 102,68,15,219,5,204,71,0,0 // pand 0x47cc(%rip),%xmm8 # 2b780 <_sk_srcover_rgba_8888_sse2_lowp+0x11ac> .byte 102,68,15,111,201 // movdqa %xmm1,%xmm9 .byte 102,65,15,113,241,3 // psllw $0x3,%xmm9 .byte 102,68,15,219,13,200,71,0,0 // pand 0x47c8(%rip),%xmm9 # 2b790 <_sk_srcover_rgba_8888_sse2_lowp+0x11bc> .byte 102,69,15,235,200 // por %xmm8,%xmm9 .byte 102,68,15,111,194 // movdqa %xmm2,%xmm8 .byte 102,65,15,113,208,3 // psrlw $0x3,%xmm8 .byte 102,69,15,235,193 // por %xmm9,%xmm8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,29 // ja 27004 <_sk_store_565_sse41_lowp+0x74> .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,83,0,0,0 // lea 0x53(%rip),%r9 # 27044 <_sk_store_565_sse41_lowp+0xb4> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,58,21,4,80,0 // pextrw $0x0,%xmm8,(%r8,%rdx,2) .byte 235,58 // jmp 2703e <_sk_store_565_sse41_lowp+0xae> .byte 243,69,15,127,4,80 // movdqu %xmm8,(%r8,%rdx,2) .byte 235,50 // jmp 2703e <_sk_store_565_sse41_lowp+0xae> .byte 102,69,15,58,21,68,80,4,2 // pextrw $0x2,%xmm8,0x4(%r8,%rdx,2) .byte 102,69,15,126,4,80 // movd %xmm8,(%r8,%rdx,2) .byte 235,33 // jmp 2703e <_sk_store_565_sse41_lowp+0xae> .byte 102,69,15,58,21,68,80,12,6 // pextrw $0x6,%xmm8,0xc(%r8,%rdx,2) .byte 102,69,15,58,21,68,80,10,5 // pextrw $0x5,%xmm8,0xa(%r8,%rdx,2) .byte 102,69,15,58,21,68,80,8,4 // pextrw $0x4,%xmm8,0x8(%r8,%rdx,2) .byte 102,69,15,214,4,80 // movq %xmm8,(%r8,%rdx,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,144 // xchg %ax,%ax .byte 182,255 // mov $0xff,%dh .byte 255 // (bad) .byte 255,209 // callq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255,200 // dec %eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,244 // push %rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 235,255 // jmp 27055 <_sk_store_565_sse41_lowp+0xc5> .byte 255 // (bad) .byte 255,226 // jmpq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 217,255 // fcos .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_a8_sse41_lowp .globl _sk_load_a8_sse41_lowp FUNCTION(_sk_load_a8_sse41_lowp) _sk_load_a8_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,34 // ja 27099 <_sk_load_a8_sse41_lowp+0x39> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,143,0,0,0 // lea 0x8f(%rip),%r9 # 27114 <_sk_load_a8_sse41_lowp+0xb4> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 102,15,110,216 // movd %eax,%xmm3 .byte 235,100 // jmp 270fd <_sk_load_a8_sse41_lowp+0x9d> .byte 102,65,15,56,48,28,16 // pmovzxbw (%r8,%rdx,1),%xmm3 .byte 235,91 // jmp 270fd <_sk_load_a8_sse41_lowp+0x9d> .byte 65,15,182,68,16,2 // movzbl 0x2(%r8,%rdx,1),%eax .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,196,192,2 // pinsrw $0x2,%eax,%xmm0 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 102,15,110,200 // movd %eax,%xmm1 .byte 102,15,56,48,217 // pmovzxbw %xmm1,%xmm3 .byte 102,15,58,14,216,252 // pblendw $0xfc,%xmm0,%xmm3 .byte 235,54 // jmp 270fd <_sk_load_a8_sse41_lowp+0x9d> .byte 65,15,182,68,16,6 // movzbl 0x6(%r8,%rdx,1),%eax .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,196,192,6 // pinsrw $0x6,%eax,%xmm0 .byte 65,15,182,68,16,5 // movzbl 0x5(%r8,%rdx,1),%eax .byte 102,15,196,192,5 // pinsrw $0x5,%eax,%xmm0 .byte 65,15,182,68,16,4 // movzbl 0x4(%r8,%rdx,1),%eax .byte 102,15,196,192,4 // pinsrw $0x4,%eax,%xmm0 .byte 102,65,15,110,12,16 // movd (%r8,%rdx,1),%xmm1 .byte 102,15,56,48,217 // pmovzxbw %xmm1,%xmm3 .byte 102,15,58,14,216,240 // pblendw $0xf0,%xmm0,%xmm3 .byte 102,15,219,29,155,62,0,0 // pand 0x3e9b(%rip),%xmm3 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,224 // jmpq *%rax .byte 122,255 // jp 27115 <_sk_load_a8_sse41_lowp+0xb5> .byte 255 // (bad) .byte 255,157,255,255,255,142 // lcall *-0x71000001(%rbp) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 216,255 // fdivr %st(7),%st .byte 255 // (bad) .byte 255,205 // dec %ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255,194 // inc %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 179,255 // mov $0xff,%bl .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_a8_dst_sse41_lowp .globl _sk_load_a8_dst_sse41_lowp FUNCTION(_sk_load_a8_dst_sse41_lowp) _sk_load_a8_dst_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,34 // ja 27169 <_sk_load_a8_dst_sse41_lowp+0x39> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,143,0,0,0 // lea 0x8f(%rip),%r9 # 271e4 <_sk_load_a8_dst_sse41_lowp+0xb4> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 102,15,110,248 // movd %eax,%xmm7 .byte 235,100 // jmp 271cd <_sk_load_a8_dst_sse41_lowp+0x9d> .byte 102,65,15,56,48,60,16 // pmovzxbw (%r8,%rdx,1),%xmm7 .byte 235,91 // jmp 271cd <_sk_load_a8_dst_sse41_lowp+0x9d> .byte 65,15,182,68,16,2 // movzbl 0x2(%r8,%rdx,1),%eax .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,196,224,2 // pinsrw $0x2,%eax,%xmm4 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 102,15,110,232 // movd %eax,%xmm5 .byte 102,15,56,48,253 // pmovzxbw %xmm5,%xmm7 .byte 102,15,58,14,252,252 // pblendw $0xfc,%xmm4,%xmm7 .byte 235,54 // jmp 271cd <_sk_load_a8_dst_sse41_lowp+0x9d> .byte 65,15,182,68,16,6 // movzbl 0x6(%r8,%rdx,1),%eax .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,196,224,6 // pinsrw $0x6,%eax,%xmm4 .byte 65,15,182,68,16,5 // movzbl 0x5(%r8,%rdx,1),%eax .byte 102,15,196,224,5 // pinsrw $0x5,%eax,%xmm4 .byte 65,15,182,68,16,4 // movzbl 0x4(%r8,%rdx,1),%eax .byte 102,15,196,224,4 // pinsrw $0x4,%eax,%xmm4 .byte 102,65,15,110,44,16 // movd (%r8,%rdx,1),%xmm5 .byte 102,15,56,48,253 // pmovzxbw %xmm5,%xmm7 .byte 102,15,58,14,252,240 // pblendw $0xf0,%xmm4,%xmm7 .byte 102,15,219,61,203,61,0,0 // pand 0x3dcb(%rip),%xmm7 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 255,224 // jmpq *%rax .byte 122,255 // jp 271e5 <_sk_load_a8_dst_sse41_lowp+0xb5> .byte 255 // (bad) .byte 255,157,255,255,255,142 // lcall *-0x71000001(%rbp) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 216,255 // fdivr %st(7),%st .byte 255 // (bad) .byte 255,205 // dec %ebp .byte 255 // (bad) .byte 255 // (bad) .byte 255,194 // inc %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 179,255 // mov $0xff,%bl .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_a8_sse41_lowp .globl _sk_store_a8_sse41_lowp FUNCTION(_sk_store_a8_sse41_lowp) _sk_store_a8_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,29 // ja 27234 <_sk_store_a8_sse41_lowp+0x34> .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,131,0,0,0 // lea 0x83(%rip),%r9 # 272a4 <_sk_store_a8_sse41_lowp+0xa4> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 102,65,15,58,20,28,16,0 // pextrb $0x0,%xmm3,(%r8,%rdx,1) .byte 235,105 // jmp 2729d <_sk_store_a8_sse41_lowp+0x9d> .byte 102,68,15,111,195 // movdqa %xmm3,%xmm8 .byte 102,68,15,56,0,5,173,68,0,0 // pshufb 0x44ad(%rip),%xmm8 # 2b6f0 <_sk_srcover_rgba_8888_sse2_lowp+0x111c> .byte 102,69,15,214,4,16 // movq %xmm8,(%r8,%rdx,1) .byte 235,82 // jmp 2729d <_sk_store_a8_sse41_lowp+0x9d> .byte 102,65,15,58,20,92,16,2,4 // pextrb $0x4,%xmm3,0x2(%r8,%rdx,1) .byte 102,68,15,111,195 // movdqa %xmm3,%xmm8 .byte 102,68,15,56,0,5,77,61,0,0 // pshufb 0x3d4d(%rip),%xmm8 # 2afb0 <_sk_srcover_rgba_8888_sse2_lowp+0x9dc> .byte 102,69,15,58,21,4,16,0 // pextrw $0x0,%xmm8,(%r8,%rdx,1) .byte 235,48 // jmp 2729d <_sk_store_a8_sse41_lowp+0x9d> .byte 102,65,15,58,20,92,16,6,12 // pextrb $0xc,%xmm3,0x6(%r8,%rdx,1) .byte 102,65,15,58,20,92,16,5,10 // pextrb $0xa,%xmm3,0x5(%r8,%rdx,1) .byte 102,65,15,58,20,92,16,4,8 // pextrb $0x8,%xmm3,0x4(%r8,%rdx,1) .byte 102,68,15,111,195 // movdqa %xmm3,%xmm8 .byte 102,68,15,56,0,5,41,61,0,0 // pshufb 0x3d29(%rip),%xmm8 # 2afc0 <_sk_srcover_rgba_8888_sse2_lowp+0x9ec> .byte 102,69,15,126,4,16 // movd %xmm8,(%r8,%rdx,1) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 134,255 // xchg %bh,%bh .byte 255 // (bad) .byte 255,176,255,255,255,167 // pushq -0x58000001(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255,228 // jmpq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 219,255 // (bad) .byte 255 // (bad) .byte 255,210 // callq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255,201 // dec %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_g8_sse41_lowp .globl _sk_load_g8_sse41_lowp FUNCTION(_sk_load_g8_sse41_lowp) _sk_load_g8_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,34 // ja 272f9 <_sk_load_g8_sse41_lowp+0x39> .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,147,0,0,0 // lea 0x93(%rip),%r9 # 27378 <_sk_load_g8_sse41_lowp+0xb8> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 235,100 // jmp 2735d <_sk_load_g8_sse41_lowp+0x9d> .byte 102,65,15,56,48,4,16 // pmovzxbw (%r8,%rdx,1),%xmm0 .byte 235,91 // jmp 2735d <_sk_load_g8_sse41_lowp+0x9d> .byte 65,15,182,68,16,2 // movzbl 0x2(%r8,%rdx,1),%eax .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,15,196,200,2 // pinsrw $0x2,%eax,%xmm1 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,56,48,192 // pmovzxbw %xmm0,%xmm0 .byte 102,15,58,14,193,252 // pblendw $0xfc,%xmm1,%xmm0 .byte 235,54 // jmp 2735d <_sk_load_g8_sse41_lowp+0x9d> .byte 65,15,182,68,16,6 // movzbl 0x6(%r8,%rdx,1),%eax .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,15,196,200,6 // pinsrw $0x6,%eax,%xmm1 .byte 65,15,182,68,16,5 // movzbl 0x5(%r8,%rdx,1),%eax .byte 102,15,196,200,5 // pinsrw $0x5,%eax,%xmm1 .byte 65,15,182,68,16,4 // movzbl 0x4(%r8,%rdx,1),%eax .byte 102,15,196,200,4 // pinsrw $0x4,%eax,%xmm1 .byte 102,65,15,110,4,16 // movd (%r8,%rdx,1),%xmm0 .byte 102,15,56,48,192 // pmovzxbw %xmm0,%xmm0 .byte 102,15,58,14,193,240 // pblendw $0xf0,%xmm1,%xmm0 .byte 102,15,219,5,59,60,0,0 // pand 0x3c3b(%rip),%xmm0 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,50,60,0,0 // movaps 0x3c32(%rip),%xmm3 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 255,224 // jmpq *%rax .byte 118,255 // jbe 27379 <_sk_load_g8_sse41_lowp+0xb9> .byte 255 // (bad) .byte 255,153,255,255,255,138 // lcall *-0x75000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,212 // callq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255,201 // dec %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 190,255,255,255,175 // mov $0xafffffff,%esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_g8_dst_sse41_lowp .globl _sk_load_g8_dst_sse41_lowp FUNCTION(_sk_load_g8_dst_sse41_lowp) _sk_load_g8_dst_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,34 // ja 273cd <_sk_load_g8_dst_sse41_lowp+0x39> .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,147,0,0,0 // lea 0x93(%rip),%r9 # 2744c <_sk_load_g8_dst_sse41_lowp+0xb8> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 235,100 // jmp 27431 <_sk_load_g8_dst_sse41_lowp+0x9d> .byte 102,65,15,56,48,36,16 // pmovzxbw (%r8,%rdx,1),%xmm4 .byte 235,91 // jmp 27431 <_sk_load_g8_dst_sse41_lowp+0x9d> .byte 65,15,182,68,16,2 // movzbl 0x2(%r8,%rdx,1),%eax .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 102,15,196,232,2 // pinsrw $0x2,%eax,%xmm5 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,56,48,228 // pmovzxbw %xmm4,%xmm4 .byte 102,15,58,14,229,252 // pblendw $0xfc,%xmm5,%xmm4 .byte 235,54 // jmp 27431 <_sk_load_g8_dst_sse41_lowp+0x9d> .byte 65,15,182,68,16,6 // movzbl 0x6(%r8,%rdx,1),%eax .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 102,15,196,232,6 // pinsrw $0x6,%eax,%xmm5 .byte 65,15,182,68,16,5 // movzbl 0x5(%r8,%rdx,1),%eax .byte 102,15,196,232,5 // pinsrw $0x5,%eax,%xmm5 .byte 65,15,182,68,16,4 // movzbl 0x4(%r8,%rdx,1),%eax .byte 102,15,196,232,4 // pinsrw $0x4,%eax,%xmm5 .byte 102,65,15,110,36,16 // movd (%r8,%rdx,1),%xmm4 .byte 102,15,56,48,228 // pmovzxbw %xmm4,%xmm4 .byte 102,15,58,14,229,240 // pblendw $0xf0,%xmm5,%xmm4 .byte 102,15,219,37,103,59,0,0 // pand 0x3b67(%rip),%xmm4 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,61,94,59,0,0 // movaps 0x3b5e(%rip),%xmm7 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 255,224 // jmpq *%rax .byte 118,255 // jbe 2744d <_sk_load_g8_dst_sse41_lowp+0xb9> .byte 255 // (bad) .byte 255,153,255,255,255,138 // lcall *-0x75000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,212 // callq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255,201 // dec %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 190,255,255,255,175 // mov $0xafffffff,%esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_luminance_to_alpha_sse41_lowp .globl _sk_luminance_to_alpha_sse41_lowp FUNCTION(_sk_luminance_to_alpha_sse41_lowp) _sk_luminance_to_alpha_sse41_lowp: .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,15,213,5,44,67,0,0 // pmullw 0x432c(%rip),%xmm0 # 2b7a0 <_sk_srcover_rgba_8888_sse2_lowp+0x11cc> .byte 102,15,213,13,52,67,0,0 // pmullw 0x4334(%rip),%xmm1 # 2b7b0 <_sk_srcover_rgba_8888_sse2_lowp+0x11dc> .byte 102,15,253,200 // paddw %xmm0,%xmm1 .byte 102,15,213,29,56,67,0,0 // pmullw 0x4338(%rip),%xmm3 # 2b7c0 <_sk_srcover_rgba_8888_sse2_lowp+0x11ec> .byte 102,15,253,217 // paddw %xmm1,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_1_float_sse41_lowp .globl _sk_scale_1_float_sse41_lowp FUNCTION(_sk_scale_1_float_sse41_lowp) _sk_scale_1_float_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 243,68,15,89,5,131,57,0,0 // mulss 0x3983(%rip),%xmm8 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .byte 243,68,15,88,5,74,57,0,0 // addss 0x394a(%rip),%xmm8 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 243,65,15,44,192 // cvttss2si %xmm8,%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 242,69,15,112,192,0 // pshuflw $0x0,%xmm8,%xmm8 .byte 102,69,15,112,192,80 // pshufd $0x50,%xmm8,%xmm8 .byte 102,65,15,213,192 // pmullw %xmm8,%xmm0 .byte 102,68,15,111,13,194,58,0,0 // movdqa 0x3ac2(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,65,15,213,200 // pmullw %xmm8,%xmm1 .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,65,15,213,208 // pmullw %xmm8,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,65,15,213,216 // pmullw %xmm8,%xmm3 .byte 102,65,15,253,217 // paddw %xmm9,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lerp_1_float_sse41_lowp .globl _sk_lerp_1_float_sse41_lowp FUNCTION(_sk_lerp_1_float_sse41_lowp) _sk_lerp_1_float_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 243,68,15,89,5,11,57,0,0 // mulss 0x390b(%rip),%xmm8 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .byte 243,68,15,88,5,210,56,0,0 // addss 0x38d2(%rip),%xmm8 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 243,65,15,44,192 // cvttss2si %xmm8,%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 242,69,15,112,192,0 // pshuflw $0x0,%xmm8,%xmm8 .byte 102,69,15,112,192,80 // pshufd $0x50,%xmm8,%xmm8 .byte 102,68,15,111,13,79,58,0,0 // movdqa 0x3a4f(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,213,192 // pmullw %xmm8,%xmm0 .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,65,15,213,200 // pmullw %xmm8,%xmm1 .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,65,15,213,208 // pmullw %xmm8,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,65,15,213,216 // pmullw %xmm8,%xmm3 .byte 102,65,15,253,217 // paddw %xmm9,%xmm3 .byte 102,69,15,249,200 // psubw %xmm8,%xmm9 .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,68,15,213,196 // pmullw %xmm4,%xmm8 .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,68,15,213,197 // pmullw %xmm5,%xmm8 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,68,15,213,198 // pmullw %xmm6,%xmm8 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,68,15,213,207 // pmullw %xmm7,%xmm9 .byte 102,65,15,253,217 // paddw %xmm9,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_u8_sse41_lowp .globl _sk_scale_u8_sse41_lowp FUNCTION(_sk_scale_u8_sse41_lowp) _sk_scale_u8_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,36 // ja 27608 <_sk_scale_u8_sse41_lowp+0x3b> .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,221,0,0,0 // lea 0xdd(%rip),%r9 # 276d0 <_sk_scale_u8_sse41_lowp+0x103> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 235,111 // jmp 27677 <_sk_scale_u8_sse41_lowp+0xaa> .byte 102,69,15,56,48,4,16 // pmovzxbw (%r8,%rdx,1),%xmm8 .byte 235,102 // jmp 27677 <_sk_scale_u8_sse41_lowp+0xaa> .byte 65,15,182,68,16,2 // movzbl 0x2(%r8,%rdx,1),%eax .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 102,68,15,196,200,2 // pinsrw $0x2,%eax,%xmm9 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,56,48,192 // pmovzxbw %xmm8,%xmm8 .byte 102,69,15,58,14,193,252 // pblendw $0xfc,%xmm9,%xmm8 .byte 235,60 // jmp 27677 <_sk_scale_u8_sse41_lowp+0xaa> .byte 65,15,182,68,16,6 // movzbl 0x6(%r8,%rdx,1),%eax .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 102,68,15,196,200,6 // pinsrw $0x6,%eax,%xmm9 .byte 65,15,182,68,16,5 // movzbl 0x5(%r8,%rdx,1),%eax .byte 102,68,15,196,200,5 // pinsrw $0x5,%eax,%xmm9 .byte 65,15,182,68,16,4 // movzbl 0x4(%r8,%rdx,1),%eax .byte 102,68,15,196,200,4 // pinsrw $0x4,%eax,%xmm9 .byte 102,69,15,110,4,16 // movd (%r8,%rdx,1),%xmm8 .byte 102,69,15,56,48,192 // pmovzxbw %xmm8,%xmm8 .byte 102,69,15,58,14,193,240 // pblendw $0xf0,%xmm9,%xmm8 .byte 102,68,15,219,5,32,57,0,0 // pand 0x3920(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,213,192 // pmullw %xmm8,%xmm0 .byte 102,68,15,111,13,18,57,0,0 // movdqa 0x3912(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,65,15,213,200 // pmullw %xmm8,%xmm1 .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,65,15,213,208 // pmullw %xmm8,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,68,15,213,195 // pmullw %xmm3,%xmm8 .byte 102,69,15,253,193 // paddw %xmm9,%xmm8 .byte 102,65,15,113,208,8 // psrlw $0x8,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,216 // movdqa %xmm8,%xmm3 .byte 255,224 // jmpq *%rax .byte 144 // nop .byte 44,255 // sub $0xff,%al .byte 255 // (bad) .byte 255,82,255 // callq *-0x1(%rdx) .byte 255 // (bad) .byte 255,65,255 // incl -0x1(%rcx) .byte 255 // (bad) .byte 255,148,255,255,255,136,255 // callq *-0x770001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // (bad) .byte 124,255 // jl 276e5 <_sk_scale_u8_sse41_lowp+0x118> .byte 255 // (bad) .byte 255,107,255 // ljmp *-0x1(%rbx) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_lerp_u8_sse41_lowp .globl _sk_lerp_u8_sse41_lowp FUNCTION(_sk_lerp_u8_sse41_lowp) _sk_lerp_u8_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,36 // ja 27727 <_sk_lerp_u8_sse41_lowp+0x3b> .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,30,1,0,0 // lea 0x11e(%rip),%r9 # 27830 <_sk_lerp_u8_sse41_lowp+0x144> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 235,111 // jmp 27796 <_sk_lerp_u8_sse41_lowp+0xaa> .byte 102,69,15,56,48,4,16 // pmovzxbw (%r8,%rdx,1),%xmm8 .byte 235,102 // jmp 27796 <_sk_lerp_u8_sse41_lowp+0xaa> .byte 65,15,182,68,16,2 // movzbl 0x2(%r8,%rdx,1),%eax .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 102,68,15,196,200,2 // pinsrw $0x2,%eax,%xmm9 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 102,69,15,56,48,192 // pmovzxbw %xmm8,%xmm8 .byte 102,69,15,58,14,193,252 // pblendw $0xfc,%xmm9,%xmm8 .byte 235,60 // jmp 27796 <_sk_lerp_u8_sse41_lowp+0xaa> .byte 65,15,182,68,16,6 // movzbl 0x6(%r8,%rdx,1),%eax .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 102,68,15,196,200,6 // pinsrw $0x6,%eax,%xmm9 .byte 65,15,182,68,16,5 // movzbl 0x5(%r8,%rdx,1),%eax .byte 102,68,15,196,200,5 // pinsrw $0x5,%eax,%xmm9 .byte 65,15,182,68,16,4 // movzbl 0x4(%r8,%rdx,1),%eax .byte 102,68,15,196,200,4 // pinsrw $0x4,%eax,%xmm9 .byte 102,69,15,110,4,16 // movd (%r8,%rdx,1),%xmm8 .byte 102,69,15,56,48,192 // pmovzxbw %xmm8,%xmm8 .byte 102,69,15,58,14,193,240 // pblendw $0xf0,%xmm9,%xmm8 .byte 102,68,15,219,5,1,56,0,0 // pand 0x3801(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,68,15,111,21,248,55,0,0 // movdqa 0x37f8(%rip),%xmm10 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,69,15,239,202 // pxor %xmm10,%xmm9 .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .byte 102,68,15,213,220 // pmullw %xmm4,%xmm11 .byte 102,65,15,213,192 // pmullw %xmm8,%xmm0 .byte 102,65,15,253,194 // paddw %xmm10,%xmm0 .byte 102,65,15,253,195 // paddw %xmm11,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .byte 102,68,15,213,221 // pmullw %xmm5,%xmm11 .byte 102,65,15,213,200 // pmullw %xmm8,%xmm1 .byte 102,65,15,253,202 // paddw %xmm10,%xmm1 .byte 102,65,15,253,203 // paddw %xmm11,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .byte 102,68,15,213,222 // pmullw %xmm6,%xmm11 .byte 102,65,15,213,208 // pmullw %xmm8,%xmm2 .byte 102,65,15,253,210 // paddw %xmm10,%xmm2 .byte 102,65,15,253,211 // paddw %xmm11,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,68,15,213,207 // pmullw %xmm7,%xmm9 .byte 102,68,15,213,195 // pmullw %xmm3,%xmm8 .byte 102,69,15,253,194 // paddw %xmm10,%xmm8 .byte 102,69,15,253,193 // paddw %xmm9,%xmm8 .byte 102,65,15,113,208,8 // psrlw $0x8,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,216 // movdqa %xmm8,%xmm3 .byte 255,224 // jmpq *%rax .byte 144 // nop .byte 235,254 // jmp 27830 <_sk_lerp_u8_sse41_lowp+0x144> .byte 255 // (bad) .byte 255,17 // callq *(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255,83,255 // callq *-0x1(%rbx) .byte 255 // (bad) .byte 255,71,255 // incl -0x1(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 59,255 // cmp %edi,%edi .byte 255 // (bad) .byte 255,42 // ljmp *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_scale_565_sse41_lowp .globl _sk_scale_565_sse41_lowp FUNCTION(_sk_scale_565_sse41_lowp) _sk_scale_565_sse41_lowp: .byte 102,68,15,111,192 // movdqa %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,35 // ja 2788e <_sk_scale_565_sse41_lowp+0x42> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,111,1,0,0 // lea 0x16f(%rip),%r9 # 279e8 <_sk_scale_565_sse41_lowp+0x19c> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,80 // movzwl (%r8,%rdx,2),%eax .byte 102,68,15,110,200 // movd %eax,%xmm9 .byte 235,76 // jmp 278da <_sk_scale_565_sse41_lowp+0x8e> .byte 243,69,15,111,12,80 // movdqu (%r8,%rdx,2),%xmm9 .byte 235,68 // jmp 278da <_sk_scale_565_sse41_lowp+0x8e> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,65,15,196,68,80,4,2 // pinsrw $0x2,0x4(%r8,%rdx,2),%xmm0 .byte 102,69,15,110,12,80 // movd (%r8,%rdx,2),%xmm9 .byte 102,68,15,58,14,200,252 // pblendw $0xfc,%xmm0,%xmm9 .byte 235,41 // jmp 278da <_sk_scale_565_sse41_lowp+0x8e> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,65,15,196,68,80,12,6 // pinsrw $0x6,0xc(%r8,%rdx,2),%xmm0 .byte 102,65,15,196,68,80,10,5 // pinsrw $0x5,0xa(%r8,%rdx,2),%xmm0 .byte 102,65,15,196,68,80,8,4 // pinsrw $0x4,0x8(%r8,%rdx,2),%xmm0 .byte 243,69,15,126,12,80 // movq (%r8,%rdx,2),%xmm9 .byte 102,68,15,58,14,200,240 // pblendw $0xf0,%xmm0,%xmm9 .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,219,5,100,62,0,0 // pand 0x3e64(%rip),%xmm0 # 2b750 <_sk_srcover_rgba_8888_sse2_lowp+0x117c> .byte 102,69,15,111,209 // movdqa %xmm9,%xmm10 .byte 102,65,15,113,210,5 // psrlw $0x5,%xmm10 .byte 102,68,15,219,21,96,62,0,0 // pand 0x3e60(%rip),%xmm10 # 2b760 <_sk_srcover_rgba_8888_sse2_lowp+0x118c> .byte 102,68,15,111,29,103,62,0,0 // movdqa 0x3e67(%rip),%xmm11 # 2b770 <_sk_srcover_rgba_8888_sse2_lowp+0x119c> .byte 102,69,15,219,217 // pand %xmm9,%xmm11 .byte 102,65,15,113,209,13 // psrlw $0xd,%xmm9 .byte 102,68,15,235,200 // por %xmm0,%xmm9 .byte 102,65,15,111,194 // movdqa %xmm10,%xmm0 .byte 102,15,113,240,2 // psllw $0x2,%xmm0 .byte 102,65,15,113,210,4 // psrlw $0x4,%xmm10 .byte 102,68,15,235,208 // por %xmm0,%xmm10 .byte 102,65,15,111,195 // movdqa %xmm11,%xmm0 .byte 102,15,113,240,3 // psllw $0x3,%xmm0 .byte 102,65,15,113,211,2 // psrlw $0x2,%xmm11 .byte 102,68,15,235,216 // por %xmm0,%xmm11 .byte 102,15,111,5,197,61,0,0 // movdqa 0x3dc5(%rip),%xmm0 # 2b710 <_sk_srcover_rgba_8888_sse2_lowp+0x113c> .byte 102,68,15,111,227 // movdqa %xmm3,%xmm12 .byte 102,68,15,239,224 // pxor %xmm0,%xmm12 .byte 102,15,239,199 // pxor %xmm7,%xmm0 .byte 102,65,15,101,196 // pcmpgtw %xmm12,%xmm0 .byte 102,69,15,111,234 // movdqa %xmm10,%xmm13 .byte 102,69,15,56,58,235 // pminuw %xmm11,%xmm13 .byte 102,69,15,56,58,233 // pminuw %xmm9,%xmm13 .byte 102,69,15,111,226 // movdqa %xmm10,%xmm12 .byte 102,69,15,56,62,227 // pmaxuw %xmm11,%xmm12 .byte 102,69,15,56,62,225 // pmaxuw %xmm9,%xmm12 .byte 102,69,15,56,16,229 // pblendvb %xmm0,%xmm13,%xmm12 .byte 102,69,15,213,200 // pmullw %xmm8,%xmm9 .byte 102,15,111,5,13,54,0,0 // movdqa 0x360d(%rip),%xmm0 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,68,15,253,200 // paddw %xmm0,%xmm9 .byte 102,65,15,113,209,8 // psrlw $0x8,%xmm9 .byte 102,68,15,213,209 // pmullw %xmm1,%xmm10 .byte 102,68,15,253,208 // paddw %xmm0,%xmm10 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,68,15,213,218 // pmullw %xmm2,%xmm11 .byte 102,68,15,253,216 // paddw %xmm0,%xmm11 .byte 102,65,15,113,211,8 // psrlw $0x8,%xmm11 .byte 102,68,15,213,227 // pmullw %xmm3,%xmm12 .byte 102,68,15,253,224 // paddw %xmm0,%xmm12 .byte 102,65,15,113,212,8 // psrlw $0x8,%xmm12 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,65,15,111,202 // movdqa %xmm10,%xmm1 .byte 102,65,15,111,211 // movdqa %xmm11,%xmm2 .byte 102,65,15,111,220 // movdqa %xmm12,%xmm3 .byte 255,224 // jmpq *%rax .byte 102,144 // xchg %ax,%ax .byte 154 // (bad) .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 186,254,255,255,174 // mov $0xaefffffe,%edx .byte 254 // (bad) .byte 255 // (bad) .byte 255,229 // jmpq *%rbp .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 221,254 // (bad) .byte 255 // (bad) .byte 255,213 // callq *%rbp .byte 254 // (bad) .byte 255 // (bad) .byte 255,201 // dec %ecx .byte 254 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_lerp_565_sse41_lowp .globl _sk_lerp_565_sse41_lowp FUNCTION(_sk_lerp_565_sse41_lowp) _sk_lerp_565_sse41_lowp: .byte 102,68,15,111,192 // movdqa %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,35 // ja 27a46 <_sk_lerp_565_sse41_lowp+0x42> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,187,1,0,0 // lea 0x1bb(%rip),%r9 # 27bec <_sk_lerp_565_sse41_lowp+0x1e8> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,80 // movzwl (%r8,%rdx,2),%eax .byte 102,68,15,110,200 // movd %eax,%xmm9 .byte 235,76 // jmp 27a92 <_sk_lerp_565_sse41_lowp+0x8e> .byte 243,69,15,111,12,80 // movdqu (%r8,%rdx,2),%xmm9 .byte 235,68 // jmp 27a92 <_sk_lerp_565_sse41_lowp+0x8e> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,65,15,196,68,80,4,2 // pinsrw $0x2,0x4(%r8,%rdx,2),%xmm0 .byte 102,69,15,110,12,80 // movd (%r8,%rdx,2),%xmm9 .byte 102,68,15,58,14,200,252 // pblendw $0xfc,%xmm0,%xmm9 .byte 235,41 // jmp 27a92 <_sk_lerp_565_sse41_lowp+0x8e> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,65,15,196,68,80,12,6 // pinsrw $0x6,0xc(%r8,%rdx,2),%xmm0 .byte 102,65,15,196,68,80,10,5 // pinsrw $0x5,0xa(%r8,%rdx,2),%xmm0 .byte 102,65,15,196,68,80,8,4 // pinsrw $0x4,0x8(%r8,%rdx,2),%xmm0 .byte 243,69,15,126,12,80 // movq (%r8,%rdx,2),%xmm9 .byte 102,68,15,58,14,200,240 // pblendw $0xf0,%xmm0,%xmm9 .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,219,5,172,60,0,0 // pand 0x3cac(%rip),%xmm0 # 2b750 <_sk_srcover_rgba_8888_sse2_lowp+0x117c> .byte 102,69,15,111,209 // movdqa %xmm9,%xmm10 .byte 102,65,15,113,210,5 // psrlw $0x5,%xmm10 .byte 102,68,15,219,21,168,60,0,0 // pand 0x3ca8(%rip),%xmm10 # 2b760 <_sk_srcover_rgba_8888_sse2_lowp+0x118c> .byte 102,68,15,111,29,175,60,0,0 // movdqa 0x3caf(%rip),%xmm11 # 2b770 <_sk_srcover_rgba_8888_sse2_lowp+0x119c> .byte 102,69,15,219,217 // pand %xmm9,%xmm11 .byte 102,65,15,113,209,13 // psrlw $0xd,%xmm9 .byte 102,68,15,235,200 // por %xmm0,%xmm9 .byte 102,65,15,111,194 // movdqa %xmm10,%xmm0 .byte 102,15,113,240,2 // psllw $0x2,%xmm0 .byte 102,65,15,113,210,4 // psrlw $0x4,%xmm10 .byte 102,68,15,235,208 // por %xmm0,%xmm10 .byte 102,65,15,111,195 // movdqa %xmm11,%xmm0 .byte 102,15,113,240,3 // psllw $0x3,%xmm0 .byte 102,65,15,113,211,2 // psrlw $0x2,%xmm11 .byte 102,68,15,235,216 // por %xmm0,%xmm11 .byte 102,15,111,5,13,60,0,0 // movdqa 0x3c0d(%rip),%xmm0 # 2b710 <_sk_srcover_rgba_8888_sse2_lowp+0x113c> .byte 102,68,15,111,227 // movdqa %xmm3,%xmm12 .byte 102,68,15,239,224 // pxor %xmm0,%xmm12 .byte 102,15,239,199 // pxor %xmm7,%xmm0 .byte 102,65,15,101,196 // pcmpgtw %xmm12,%xmm0 .byte 102,69,15,111,234 // movdqa %xmm10,%xmm13 .byte 102,69,15,56,58,235 // pminuw %xmm11,%xmm13 .byte 102,69,15,56,58,233 // pminuw %xmm9,%xmm13 .byte 102,69,15,111,226 // movdqa %xmm10,%xmm12 .byte 102,69,15,56,62,227 // pmaxuw %xmm11,%xmm12 .byte 102,69,15,56,62,225 // pmaxuw %xmm9,%xmm12 .byte 102,69,15,56,16,229 // pblendvb %xmm0,%xmm13,%xmm12 .byte 102,68,15,111,45,89,52,0,0 // movdqa 0x3459(%rip),%xmm13 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,65,15,239,197 // pxor %xmm13,%xmm0 .byte 102,15,213,196 // pmullw %xmm4,%xmm0 .byte 102,69,15,213,200 // pmullw %xmm8,%xmm9 .byte 102,69,15,253,205 // paddw %xmm13,%xmm9 .byte 102,68,15,253,200 // paddw %xmm0,%xmm9 .byte 102,65,15,113,209,8 // psrlw $0x8,%xmm9 .byte 102,65,15,111,194 // movdqa %xmm10,%xmm0 .byte 102,65,15,239,197 // pxor %xmm13,%xmm0 .byte 102,15,213,197 // pmullw %xmm5,%xmm0 .byte 102,68,15,213,209 // pmullw %xmm1,%xmm10 .byte 102,69,15,253,213 // paddw %xmm13,%xmm10 .byte 102,68,15,253,208 // paddw %xmm0,%xmm10 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,65,15,111,195 // movdqa %xmm11,%xmm0 .byte 102,65,15,239,197 // pxor %xmm13,%xmm0 .byte 102,15,213,198 // pmullw %xmm6,%xmm0 .byte 102,68,15,213,218 // pmullw %xmm2,%xmm11 .byte 102,69,15,253,221 // paddw %xmm13,%xmm11 .byte 102,68,15,253,216 // paddw %xmm0,%xmm11 .byte 102,65,15,113,211,8 // psrlw $0x8,%xmm11 .byte 102,65,15,111,196 // movdqa %xmm12,%xmm0 .byte 102,65,15,239,197 // pxor %xmm13,%xmm0 .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,68,15,213,227 // pmullw %xmm3,%xmm12 .byte 102,69,15,253,229 // paddw %xmm13,%xmm12 .byte 102,68,15,253,224 // paddw %xmm0,%xmm12 .byte 102,65,15,113,212,8 // psrlw $0x8,%xmm12 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,65,15,111,202 // movdqa %xmm10,%xmm1 .byte 102,65,15,111,211 // movdqa %xmm11,%xmm2 .byte 102,65,15,111,220 // movdqa %xmm12,%xmm3 .byte 255,224 // jmpq *%rax .byte 144 // nop .byte 78,254 // rex.WRX (bad) .byte 255 // (bad) .byte 255,110,254 // ljmp *-0x2(%rsi) .byte 255 // (bad) .byte 255,98,254 // jmpq *-0x2(%rdx) .byte 255 // (bad) .byte 255,153,254,255,255,145 // lcall *-0x6e000002(%rcx) .byte 254 // (bad) .byte 255 // (bad) .byte 255,137,254,255,255,125 // decl 0x7dfffffe(%rcx) .byte 254 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_srcover_rgba_8888_sse41_lowp .globl _sk_srcover_rgba_8888_sse41_lowp FUNCTION(_sk_srcover_rgba_8888_sse41_lowp) _sk_srcover_rgba_8888_sse41_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 65,137,250 // mov %edi,%r10d .byte 65,128,226,7 // and $0x7,%r10b .byte 65,254,202 // dec %r10b .byte 69,15,182,202 // movzbl %r10b,%r9d .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,38 // ja 27c53 <_sk_srcover_rgba_8888_sse41_lowp+0x4b> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 76,141,29,23,2,0,0 // lea 0x217(%rip),%r11 # 27e50 <_sk_srcover_rgba_8888_sse41_lowp+0x248> .byte 75,99,4,139 // movslq (%r11,%r9,4),%rax .byte 76,1,216 // add %r11,%rax .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 255,224 // jmpq *%rax .byte 102,65,15,110,52,144 // movd (%r8,%rdx,4),%xmm6 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 235,89 // jmp 27cac <_sk_srcover_rgba_8888_sse41_lowp+0xa4> .byte 243,65,15,111,52,144 // movdqu (%r8,%rdx,4),%xmm6 .byte 243,69,15,111,68,144,16 // movdqu 0x10(%r8,%rdx,4),%xmm8 .byte 235,74 // jmp 27cac <_sk_srcover_rgba_8888_sse41_lowp+0xa4> .byte 102,65,15,110,100,144,8 // movd 0x8(%r8,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 243,65,15,126,52,144 // movq (%r8,%rdx,4),%xmm6 .byte 102,65,15,58,14,240,240 // pblendw $0xf0,%xmm8,%xmm6 .byte 102,68,15,111,196 // movdqa %xmm4,%xmm8 .byte 235,37 // jmp 27cac <_sk_srcover_rgba_8888_sse41_lowp+0xa4> .byte 102,65,15,110,100,144,24 // movd 0x18(%r8,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 102,69,15,58,34,68,144,20,1 // pinsrd $0x1,0x14(%r8,%rdx,4),%xmm8 .byte 102,69,15,58,34,68,144,16,0 // pinsrd $0x0,0x10(%r8,%rdx,4),%xmm8 .byte 243,65,15,111,52,144 // movdqu (%r8,%rdx,4),%xmm6 .byte 102,15,111,37,108,58,0,0 // movdqa 0x3a6c(%rip),%xmm4 # 2b720 <_sk_srcover_rgba_8888_sse2_lowp+0x114c> .byte 102,15,111,238 // movdqa %xmm6,%xmm5 .byte 102,15,56,0,236 // pshufb %xmm4,%xmm5 .byte 102,65,15,111,248 // movdqa %xmm8,%xmm7 .byte 102,15,56,0,252 // pshufb %xmm4,%xmm7 .byte 102,15,108,239 // punpcklqdq %xmm7,%xmm5 .byte 102,68,15,111,37,204,50,0,0 // movdqa 0x32cc(%rip),%xmm12 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,65,15,219,228 // pand %xmm12,%xmm4 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,68,15,111,13,69,58,0,0 // movdqa 0x3a45(%rip),%xmm9 # 2b730 <_sk_srcover_rgba_8888_sse2_lowp+0x115c> .byte 102,15,111,254 // movdqa %xmm6,%xmm7 .byte 102,65,15,56,0,249 // pshufb %xmm9,%xmm7 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,69,15,56,0,209 // pshufb %xmm9,%xmm10 .byte 102,65,15,108,250 // punpcklqdq %xmm10,%xmm7 .byte 102,68,15,111,13,50,58,0,0 // movdqa 0x3a32(%rip),%xmm9 # 2b740 <_sk_srcover_rgba_8888_sse2_lowp+0x116c> .byte 102,65,15,56,0,241 // pshufb %xmm9,%xmm6 .byte 102,69,15,56,0,193 // pshufb %xmm9,%xmm8 .byte 102,65,15,108,240 // punpcklqdq %xmm8,%xmm6 .byte 102,65,15,219,244 // pand %xmm12,%xmm6 .byte 102,69,15,111,196 // movdqa %xmm12,%xmm8 .byte 102,68,15,249,195 // psubw %xmm3,%xmm8 .byte 102,68,15,111,204 // movdqa %xmm4,%xmm9 .byte 102,69,15,213,200 // pmullw %xmm8,%xmm9 .byte 102,69,15,253,204 // paddw %xmm12,%xmm9 .byte 102,65,15,113,209,8 // psrlw $0x8,%xmm9 .byte 102,68,15,253,200 // paddw %xmm0,%xmm9 .byte 102,68,15,111,213 // movdqa %xmm5,%xmm10 .byte 102,69,15,213,208 // pmullw %xmm8,%xmm10 .byte 102,69,15,253,212 // paddw %xmm12,%xmm10 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,68,15,253,209 // paddw %xmm1,%xmm10 .byte 102,68,15,111,222 // movdqa %xmm6,%xmm11 .byte 102,69,15,213,216 // pmullw %xmm8,%xmm11 .byte 102,69,15,253,220 // paddw %xmm12,%xmm11 .byte 102,65,15,113,211,8 // psrlw $0x8,%xmm11 .byte 102,68,15,253,218 // paddw %xmm2,%xmm11 .byte 102,68,15,213,199 // pmullw %xmm7,%xmm8 .byte 102,69,15,253,196 // paddw %xmm12,%xmm8 .byte 102,65,15,113,208,8 // psrlw $0x8,%xmm8 .byte 102,68,15,253,195 // paddw %xmm3,%xmm8 .byte 102,65,15,111,194 // movdqa %xmm10,%xmm0 .byte 102,15,113,240,8 // psllw $0x8,%xmm0 .byte 102,65,15,235,193 // por %xmm9,%xmm0 .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,15,56,51,209 // pmovzxwd %xmm1,%xmm2 .byte 102,68,15,56,51,224 // pmovzxwd %xmm0,%xmm12 .byte 102,65,15,111,216 // movdqa %xmm8,%xmm3 .byte 102,15,113,243,8 // psllw $0x8,%xmm3 .byte 102,65,15,235,219 // por %xmm11,%xmm3 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,15,105,203 // punpckhwd %xmm3,%xmm1 .byte 102,15,235,202 // por %xmm2,%xmm1 .byte 102,15,97,195 // punpcklwd %xmm3,%xmm0 .byte 102,65,15,235,196 // por %xmm12,%xmm0 .byte 65,128,250,6 // cmp $0x6,%r10b .byte 119,24 // ja 27df6 <_sk_srcover_rgba_8888_sse41_lowp+0x1ee> .byte 76,141,21,135,0,0,0 // lea 0x87(%rip),%r10 # 27e6c <_sk_srcover_rgba_8888_sse41_lowp+0x264> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 102,65,15,126,4,144 // movd %xmm0,(%r8,%rdx,4) .byte 235,63 // jmp 27e35 <_sk_srcover_rgba_8888_sse41_lowp+0x22d> .byte 243,65,15,127,4,144 // movdqu %xmm0,(%r8,%rdx,4) .byte 243,65,15,127,76,144,16 // movdqu %xmm1,0x10(%r8,%rdx,4) .byte 235,48 // jmp 27e35 <_sk_srcover_rgba_8888_sse41_lowp+0x22d> .byte 102,65,15,58,22,68,144,8,2 // pextrd $0x2,%xmm0,0x8(%r8,%rdx,4) .byte 102,65,15,214,4,144 // movq %xmm0,(%r8,%rdx,4) .byte 235,31 // jmp 27e35 <_sk_srcover_rgba_8888_sse41_lowp+0x22d> .byte 102,65,15,58,22,76,144,24,2 // pextrd $0x2,%xmm1,0x18(%r8,%rdx,4) .byte 102,65,15,58,22,76,144,20,1 // pextrd $0x1,%xmm1,0x14(%r8,%rdx,4) .byte 102,65,15,126,76,144,16 // movd %xmm1,0x10(%r8,%rdx,4) .byte 243,65,15,127,4,144 // movdqu %xmm0,(%r8,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,65,15,111,202 // movdqa %xmm10,%xmm1 .byte 102,65,15,111,211 // movdqa %xmm11,%xmm2 .byte 102,65,15,111,216 // movdqa %xmm8,%xmm3 .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 246,253 // idiv %ch .byte 255 // (bad) .byte 255,35 // jmpq *(%rbx) .byte 254 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 254 // (bad) .byte 255 // (bad) .byte 255,86,254 // callq *-0x2(%rsi) .byte 255 // (bad) .byte 255,77,254 // decl -0x2(%rbp) .byte 255 // (bad) .byte 255,68,254,255 // incl -0x1(%rsi,%rdi,8) .byte 255,55 // pushq (%rdi) .byte 254 // (bad) .byte 255 // (bad) .byte 255,130,255,255,255,162 // incl -0x5d000001(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,153,255,255,255,195 // lcall *-0x3c000001(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 188,255,255,255,179 // mov $0xb3ffffff,%esp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 170 // stos %al,%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_start_pipeline_sse2_lowp .globl _sk_start_pipeline_sse2_lowp FUNCTION(_sk_start_pipeline_sse2_lowp) _sk_start_pipeline_sse2_lowp: .byte 85 // push %rbp .byte 72,137,229 // mov %rsp,%rbp .byte 65,87 // push %r15 .byte 65,86 // push %r14 .byte 65,85 // push %r13 .byte 65,84 // push %r12 .byte 83 // push %rbx .byte 72,131,236,24 // sub $0x18,%rsp .byte 73,137,215 // mov %rdx,%r15 .byte 72,137,243 // mov %rsi,%rbx .byte 72,137,125,208 // mov %rdi,-0x30(%rbp) .byte 76,137,198 // mov %r8,%rsi .byte 72,173 // lods %ds:(%rsi),%rax .byte 73,137,197 // mov %rax,%r13 .byte 73,137,246 // mov %rsi,%r14 .byte 72,137,77,192 // mov %rcx,-0x40(%rbp) .byte 72,57,203 // cmp %rcx,%rbx .byte 15,131,131,0,0,0 // jae 27f3e <_sk_start_pipeline_sse2_lowp+0xb6> .byte 72,139,69,208 // mov -0x30(%rbp),%rax .byte 72,141,64,8 // lea 0x8(%rax),%rax .byte 72,137,69,200 // mov %rax,-0x38(%rbp) .byte 76,57,125,200 // cmp %r15,-0x38(%rbp) .byte 72,139,85,208 // mov -0x30(%rbp),%rdx .byte 119,59 // ja 27f0c <_sk_start_pipeline_sse2_lowp+0x84> .byte 76,139,101,208 // mov -0x30(%rbp),%r12 .byte 49,255 // xor %edi,%edi .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 76,137,246 // mov %r14,%rsi .byte 76,137,226 // mov %r12,%rdx .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 73,141,84,36,8 // lea 0x8(%r12),%rdx .byte 73,131,196,16 // add $0x10,%r12 .byte 77,57,252 // cmp %r15,%r12 .byte 73,137,212 // mov %rdx,%r12 .byte 118,201 // jbe 27ed5 <_sk_start_pipeline_sse2_lowp+0x4d> .byte 76,137,255 // mov %r15,%rdi .byte 72,41,215 // sub %rdx,%rdi .byte 116,33 // je 27f35 <_sk_start_pipeline_sse2_lowp+0xad> .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 76,137,246 // mov %r14,%rsi .byte 72,137,217 // mov %rbx,%rcx .byte 65,255,213 // callq *%r13 .byte 72,255,195 // inc %rbx .byte 72,59,93,192 // cmp -0x40(%rbp),%rbx .byte 117,137 // jne 27ec7 <_sk_start_pipeline_sse2_lowp+0x3f> .byte 72,131,196,24 // add $0x18,%rsp .byte 91 // pop %rbx .byte 65,92 // pop %r12 .byte 65,93 // pop %r13 .byte 65,94 // pop %r14 .byte 65,95 // pop %r15 .byte 93 // pop %rbp .byte 195 // retq HIDDEN _sk_just_return_sse2_lowp .globl _sk_just_return_sse2_lowp FUNCTION(_sk_just_return_sse2_lowp) _sk_just_return_sse2_lowp: .byte 195 // retq HIDDEN _sk_uniform_color_sse2_lowp .globl _sk_uniform_color_sse2_lowp FUNCTION(_sk_uniform_color_sse2_lowp) _sk_uniform_color_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 68,15,182,64,16 // movzbl 0x10(%rax),%r8d .byte 102,65,15,110,192 // movd %r8d,%xmm0 .byte 242,15,112,192,0 // pshuflw $0x0,%xmm0,%xmm0 .byte 102,15,112,192,80 // pshufd $0x50,%xmm0,%xmm0 .byte 68,15,182,64,17 // movzbl 0x11(%rax),%r8d .byte 102,65,15,110,200 // movd %r8d,%xmm1 .byte 242,15,112,201,0 // pshuflw $0x0,%xmm1,%xmm1 .byte 102,15,112,201,80 // pshufd $0x50,%xmm1,%xmm1 .byte 68,15,182,64,18 // movzbl 0x12(%rax),%r8d .byte 102,65,15,110,208 // movd %r8d,%xmm2 .byte 242,15,112,210,0 // pshuflw $0x0,%xmm2,%xmm2 .byte 102,15,112,210,80 // pshufd $0x50,%xmm2,%xmm2 .byte 15,182,64,19 // movzbl 0x13(%rax),%eax .byte 102,15,110,216 // movd %eax,%xmm3 .byte 242,15,112,219,0 // pshuflw $0x0,%xmm3,%xmm3 .byte 102,15,112,219,80 // pshufd $0x50,%xmm3,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_black_color_sse2_lowp .globl _sk_black_color_sse2_lowp FUNCTION(_sk_black_color_sse2_lowp) _sk_black_color_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,245,47,0,0 // movaps 0x2ff5(%rip),%xmm3 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_white_color_sse2_lowp .globl _sk_white_color_sse2_lowp FUNCTION(_sk_white_color_sse2_lowp) _sk_white_color_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,5,225,47,0,0 // movaps 0x2fe1(%rip),%xmm0 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_set_rgb_sse2_lowp .globl _sk_set_rgb_sse2_lowp FUNCTION(_sk_set_rgb_sse2_lowp) _sk_set_rgb_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,15,16,21,96,46,0,0 // movss 0x2e60(%rip),%xmm2 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .byte 243,15,16,0 // movss (%rax),%xmm0 .byte 243,15,89,194 // mulss %xmm2,%xmm0 .byte 243,68,15,16,5,31,46,0,0 // movss 0x2e1f(%rip),%xmm8 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 243,65,15,88,192 // addss %xmm8,%xmm0 .byte 243,68,15,44,192 // cvttss2si %xmm0,%r8d .byte 102,65,15,110,192 // movd %r8d,%xmm0 .byte 242,15,112,192,0 // pshuflw $0x0,%xmm0,%xmm0 .byte 102,15,112,192,80 // pshufd $0x50,%xmm0,%xmm0 .byte 243,15,16,72,4 // movss 0x4(%rax),%xmm1 .byte 243,15,89,202 // mulss %xmm2,%xmm1 .byte 243,65,15,88,200 // addss %xmm8,%xmm1 .byte 243,68,15,44,193 // cvttss2si %xmm1,%r8d .byte 102,65,15,110,200 // movd %r8d,%xmm1 .byte 242,15,112,201,0 // pshuflw $0x0,%xmm1,%xmm1 .byte 102,15,112,201,80 // pshufd $0x50,%xmm1,%xmm1 .byte 243,15,89,80,8 // mulss 0x8(%rax),%xmm2 .byte 243,65,15,88,208 // addss %xmm8,%xmm2 .byte 243,15,44,194 // cvttss2si %xmm2,%eax .byte 102,15,110,208 // movd %eax,%xmm2 .byte 242,15,112,210,0 // pshuflw $0x0,%xmm2,%xmm2 .byte 102,15,112,210,80 // pshufd $0x50,%xmm2,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_premul_sse2_lowp .globl _sk_premul_sse2_lowp FUNCTION(_sk_premul_sse2_lowp) _sk_premul_sse2_lowp: .byte 102,15,213,195 // pmullw %xmm3,%xmm0 .byte 102,68,15,111,5,83,47,0,0 // movdqa 0x2f53(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,213,203 // pmullw %xmm3,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,213,211 // pmullw %xmm3,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_swap_rb_sse2_lowp .globl _sk_swap_rb_sse2_lowp FUNCTION(_sk_swap_rb_sse2_lowp) _sk_swap_rb_sse2_lowp: .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 65,15,40,208 // movaps %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_src_dst_sse2_lowp .globl _sk_move_src_dst_sse2_lowp FUNCTION(_sk_move_src_dst_sse2_lowp) _sk_move_src_dst_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 255,224 // jmpq *%rax HIDDEN _sk_move_dst_src_sse2_lowp .globl _sk_move_dst_src_sse2_lowp FUNCTION(_sk_move_dst_src_sse2_lowp) _sk_move_dst_src_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_invert_sse2_lowp .globl _sk_invert_sse2_lowp FUNCTION(_sk_invert_sse2_lowp) _sk_invert_sse2_lowp: .byte 102,68,15,111,5,241,46,0,0 // movdqa 0x2ef1(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,68,15,249,200 // psubw %xmm0,%xmm9 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,68,15,249,209 // psubw %xmm1,%xmm10 .byte 102,69,15,111,216 // movdqa %xmm8,%xmm11 .byte 102,68,15,249,218 // psubw %xmm2,%xmm11 .byte 102,68,15,249,195 // psubw %xmm3,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,65,15,111,202 // movdqa %xmm10,%xmm1 .byte 102,65,15,111,211 // movdqa %xmm11,%xmm2 .byte 102,65,15,111,216 // movdqa %xmm8,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_clear_sse2_lowp .globl _sk_clear_sse2_lowp FUNCTION(_sk_clear_sse2_lowp) _sk_clear_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_srcatop_sse2_lowp .globl _sk_srcatop_sse2_lowp FUNCTION(_sk_srcatop_sse2_lowp) _sk_srcatop_sse2_lowp: .byte 102,68,15,111,195 // movdqa %xmm3,%xmm8 .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,15,111,29,149,46,0,0 // movdqa 0x2e95(%rip),%xmm3 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,68,15,111,203 // movdqa %xmm3,%xmm9 .byte 102,69,15,249,200 // psubw %xmm8,%xmm9 .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,68,15,213,196 // pmullw %xmm4,%xmm8 .byte 102,15,253,195 // paddw %xmm3,%xmm0 .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,213,207 // pmullw %xmm7,%xmm1 .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,68,15,213,197 // pmullw %xmm5,%xmm8 .byte 102,15,253,203 // paddw %xmm3,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,68,15,213,206 // pmullw %xmm6,%xmm9 .byte 102,15,253,211 // paddw %xmm3,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,68,15,111,199 // movdqa %xmm7,%xmm8 .byte 102,68,15,213,195 // pmullw %xmm3,%xmm8 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstatop_sse2_lowp .globl _sk_dstatop_sse2_lowp FUNCTION(_sk_dstatop_sse2_lowp) _sk_dstatop_sse2_lowp: .byte 102,68,15,111,196 // movdqa %xmm4,%xmm8 .byte 102,68,15,213,195 // pmullw %xmm3,%xmm8 .byte 102,68,15,111,13,21,46,0,0 // movdqa 0x2e15(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,253,193 // paddw %xmm9,%xmm8 .byte 102,68,15,111,213 // movdqa %xmm5,%xmm10 .byte 102,68,15,213,211 // pmullw %xmm3,%xmm10 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,68,15,111,222 // movdqa %xmm6,%xmm11 .byte 102,68,15,213,219 // pmullw %xmm3,%xmm11 .byte 102,69,15,253,217 // paddw %xmm9,%xmm11 .byte 102,65,15,213,217 // pmullw %xmm9,%xmm3 .byte 102,65,15,253,217 // paddw %xmm9,%xmm3 .byte 102,68,15,249,207 // psubw %xmm7,%xmm9 .byte 102,65,15,213,193 // pmullw %xmm9,%xmm0 .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,65,15,213,201 // pmullw %xmm9,%xmm1 .byte 102,65,15,253,202 // paddw %xmm10,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,65,15,213,209 // pmullw %xmm9,%xmm2 .byte 102,65,15,253,211 // paddw %xmm11,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcin_sse2_lowp .globl _sk_srcin_sse2_lowp FUNCTION(_sk_srcin_sse2_lowp) _sk_srcin_sse2_lowp: .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,68,15,111,5,160,45,0,0 // movdqa 0x2da0(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,213,207 // pmullw %xmm7,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstin_sse2_lowp .globl _sk_dstin_sse2_lowp FUNCTION(_sk_dstin_sse2_lowp) _sk_dstin_sse2_lowp: .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,15,213,195 // pmullw %xmm3,%xmm0 .byte 102,68,15,111,5,87,45,0,0 // movdqa 0x2d57(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,213,203 // pmullw %xmm3,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,111,214 // movdqa %xmm6,%xmm2 .byte 102,15,213,211 // pmullw %xmm3,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcout_sse2_lowp .globl _sk_srcout_sse2_lowp FUNCTION(_sk_srcout_sse2_lowp) _sk_srcout_sse2_lowp: .byte 102,68,15,111,5,14,45,0,0 // movdqa 0x2d0e(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,68,15,249,207 // psubw %xmm7,%xmm9 .byte 102,65,15,213,193 // pmullw %xmm9,%xmm0 .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,65,15,213,201 // pmullw %xmm9,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,65,15,213,209 // pmullw %xmm9,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,65,15,213,217 // pmullw %xmm9,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstout_sse2_lowp .globl _sk_dstout_sse2_lowp FUNCTION(_sk_dstout_sse2_lowp) _sk_dstout_sse2_lowp: .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,68,15,111,5,183,44,0,0 // movdqa 0x2cb7(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,111,216 // movdqa %xmm8,%xmm3 .byte 102,15,249,216 // psubw %xmm0,%xmm3 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,213,196 // pmullw %xmm4,%xmm0 .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,213,205 // pmullw %xmm5,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,213,214 // pmullw %xmm6,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_srcover_sse2_lowp .globl _sk_srcover_sse2_lowp FUNCTION(_sk_srcover_sse2_lowp) _sk_srcover_sse2_lowp: .byte 102,68,15,111,13,93,44,0,0 // movdqa 0x2c5d(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,68,15,249,195 // psubw %xmm3,%xmm8 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,68,15,213,212 // pmullw %xmm4,%xmm10 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,65,15,253,194 // paddw %xmm10,%xmm0 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,68,15,213,213 // pmullw %xmm5,%xmm10 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,65,15,253,202 // paddw %xmm10,%xmm1 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,68,15,213,214 // pmullw %xmm6,%xmm10 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,65,15,253,210 // paddw %xmm10,%xmm2 .byte 102,68,15,213,199 // pmullw %xmm7,%xmm8 .byte 102,69,15,253,193 // paddw %xmm9,%xmm8 .byte 102,65,15,113,208,8 // psrlw $0x8,%xmm8 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_dstover_sse2_lowp .globl _sk_dstover_sse2_lowp FUNCTION(_sk_dstover_sse2_lowp) _sk_dstover_sse2_lowp: .byte 102,68,15,111,5,227,43,0,0 // movdqa 0x2be3(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,68,15,249,207 // psubw %xmm7,%xmm9 .byte 102,65,15,213,193 // pmullw %xmm9,%xmm0 .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,253,196 // paddw %xmm4,%xmm0 .byte 102,65,15,213,201 // pmullw %xmm9,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,253,205 // paddw %xmm5,%xmm1 .byte 102,65,15,213,209 // pmullw %xmm9,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,253,214 // paddw %xmm6,%xmm2 .byte 102,65,15,213,217 // pmullw %xmm9,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,253,223 // paddw %xmm7,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_modulate_sse2_lowp .globl _sk_modulate_sse2_lowp FUNCTION(_sk_modulate_sse2_lowp) _sk_modulate_sse2_lowp: .byte 102,15,213,196 // pmullw %xmm4,%xmm0 .byte 102,68,15,111,5,124,43,0,0 // movdqa 0x2b7c(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,213,205 // pmullw %xmm5,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,213,214 // pmullw %xmm6,%xmm2 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_multiply_sse2_lowp .globl _sk_multiply_sse2_lowp FUNCTION(_sk_multiply_sse2_lowp) _sk_multiply_sse2_lowp: .byte 102,68,15,111,13,59,43,0,0 // movdqa 0x2b3b(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,68,15,249,195 // psubw %xmm3,%xmm8 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,68,15,213,212 // pmullw %xmm4,%xmm10 .byte 102,68,15,111,220 // movdqa %xmm4,%xmm11 .byte 102,69,15,253,217 // paddw %xmm9,%xmm11 .byte 102,68,15,249,223 // psubw %xmm7,%xmm11 .byte 102,65,15,213,195 // pmullw %xmm11,%xmm0 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,253,194 // paddw %xmm10,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,68,15,213,213 // pmullw %xmm5,%xmm10 .byte 102,68,15,111,221 // movdqa %xmm5,%xmm11 .byte 102,69,15,253,217 // paddw %xmm9,%xmm11 .byte 102,68,15,249,223 // psubw %xmm7,%xmm11 .byte 102,65,15,213,203 // pmullw %xmm11,%xmm1 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,253,202 // paddw %xmm10,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,68,15,213,214 // pmullw %xmm6,%xmm10 .byte 102,68,15,111,222 // movdqa %xmm6,%xmm11 .byte 102,69,15,253,217 // paddw %xmm9,%xmm11 .byte 102,68,15,249,223 // psubw %xmm7,%xmm11 .byte 102,65,15,213,211 // pmullw %xmm11,%xmm2 .byte 102,69,15,253,209 // paddw %xmm9,%xmm10 .byte 102,65,15,253,210 // paddw %xmm10,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,68,15,213,199 // pmullw %xmm7,%xmm8 .byte 102,65,15,213,217 // pmullw %xmm9,%xmm3 .byte 102,65,15,253,217 // paddw %xmm9,%xmm3 .byte 102,65,15,253,216 // paddw %xmm8,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_plus__sse2_lowp .globl _sk_plus__sse2_lowp FUNCTION(_sk_plus__sse2_lowp) _sk_plus__sse2_lowp: .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,253,204 // paddw %xmm4,%xmm1 .byte 102,68,15,111,21,167,50,0,0 // movdqa 0x32a7(%rip),%xmm10 # 2b7d0 <_sk_srcover_rgba_8888_sse2_lowp+0x11fc> .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,65,15,217,194 // psubusw %xmm10,%xmm0 .byte 102,69,15,239,228 // pxor %xmm12,%xmm12 .byte 102,65,15,117,196 // pcmpeqw %xmm12,%xmm0 .byte 102,68,15,111,29,91,42,0,0 // movdqa 0x2a5b(%rip),%xmm11 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,219,200 // pand %xmm0,%xmm1 .byte 102,65,15,223,195 // pandn %xmm11,%xmm0 .byte 102,15,235,193 // por %xmm1,%xmm0 .byte 102,68,15,253,197 // paddw %xmm5,%xmm8 .byte 102,65,15,111,200 // movdqa %xmm8,%xmm1 .byte 102,65,15,217,202 // psubusw %xmm10,%xmm1 .byte 102,65,15,117,204 // pcmpeqw %xmm12,%xmm1 .byte 102,68,15,219,193 // pand %xmm1,%xmm8 .byte 102,65,15,223,203 // pandn %xmm11,%xmm1 .byte 102,65,15,235,200 // por %xmm8,%xmm1 .byte 102,15,253,214 // paddw %xmm6,%xmm2 .byte 102,68,15,111,194 // movdqa %xmm2,%xmm8 .byte 102,69,15,217,194 // psubusw %xmm10,%xmm8 .byte 102,69,15,117,196 // pcmpeqw %xmm12,%xmm8 .byte 102,65,15,219,208 // pand %xmm8,%xmm2 .byte 102,69,15,223,195 // pandn %xmm11,%xmm8 .byte 102,68,15,235,194 // por %xmm2,%xmm8 .byte 102,15,253,223 // paddw %xmm7,%xmm3 .byte 102,68,15,111,203 // movdqa %xmm3,%xmm9 .byte 102,69,15,217,202 // psubusw %xmm10,%xmm9 .byte 102,69,15,117,204 // pcmpeqw %xmm12,%xmm9 .byte 102,65,15,219,217 // pand %xmm9,%xmm3 .byte 102,69,15,223,203 // pandn %xmm11,%xmm9 .byte 102,68,15,235,203 // por %xmm3,%xmm9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 102,65,15,111,217 // movdqa %xmm9,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_screen_sse2_lowp .globl _sk_screen_sse2_lowp FUNCTION(_sk_screen_sse2_lowp) _sk_screen_sse2_lowp: .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,15,253,193 // paddw %xmm1,%xmm0 .byte 102,15,213,204 // pmullw %xmm4,%xmm1 .byte 102,68,15,111,21,187,41,0,0 // movdqa 0x29bb(%rip),%xmm10 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,202 // paddw %xmm10,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,249,193 // psubw %xmm1,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,68,15,213,197 // pmullw %xmm5,%xmm8 .byte 102,69,15,253,194 // paddw %xmm10,%xmm8 .byte 102,65,15,113,208,8 // psrlw $0x8,%xmm8 .byte 102,65,15,249,200 // psubw %xmm8,%xmm1 .byte 102,68,15,111,198 // movdqa %xmm6,%xmm8 .byte 102,68,15,253,194 // paddw %xmm2,%xmm8 .byte 102,15,213,214 // pmullw %xmm6,%xmm2 .byte 102,65,15,253,210 // paddw %xmm10,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,68,15,249,194 // psubw %xmm2,%xmm8 .byte 102,68,15,111,207 // movdqa %xmm7,%xmm9 .byte 102,68,15,253,203 // paddw %xmm3,%xmm9 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 102,65,15,253,218 // paddw %xmm10,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,68,15,249,203 // psubw %xmm3,%xmm9 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 102,65,15,111,217 // movdqa %xmm9,%xmm3 .byte 255,224 // jmpq *%rax HIDDEN _sk_xor__sse2_lowp .globl _sk_xor__sse2_lowp FUNCTION(_sk_xor__sse2_lowp) _sk_xor__sse2_lowp: .byte 102,68,15,111,195 // movdqa %xmm3,%xmm8 .byte 102,68,15,111,13,57,41,0,0 // movdqa 0x2939(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,111,209 // movdqa %xmm9,%xmm10 .byte 102,68,15,249,215 // psubw %xmm7,%xmm10 .byte 102,65,15,213,194 // pmullw %xmm10,%xmm0 .byte 102,65,15,111,217 // movdqa %xmm9,%xmm3 .byte 102,65,15,249,216 // psubw %xmm8,%xmm3 .byte 102,68,15,111,219 // movdqa %xmm3,%xmm11 .byte 102,68,15,213,220 // pmullw %xmm4,%xmm11 .byte 102,65,15,253,195 // paddw %xmm11,%xmm0 .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,65,15,213,202 // pmullw %xmm10,%xmm1 .byte 102,68,15,111,219 // movdqa %xmm3,%xmm11 .byte 102,68,15,213,221 // pmullw %xmm5,%xmm11 .byte 102,65,15,253,203 // paddw %xmm11,%xmm1 .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,65,15,213,210 // pmullw %xmm10,%xmm2 .byte 102,68,15,111,219 // movdqa %xmm3,%xmm11 .byte 102,68,15,213,222 // pmullw %xmm6,%xmm11 .byte 102,65,15,253,211 // paddw %xmm11,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,69,15,213,208 // pmullw %xmm8,%xmm10 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 102,65,15,253,218 // paddw %xmm10,%xmm3 .byte 102,65,15,253,217 // paddw %xmm9,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_darken_sse2_lowp .globl _sk_darken_sse2_lowp FUNCTION(_sk_darken_sse2_lowp) _sk_darken_sse2_lowp: .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,68,15,111,208 // movdqa %xmm0,%xmm10 .byte 102,68,15,111,228 // movdqa %xmm4,%xmm12 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,65,15,253,194 // paddw %xmm10,%xmm0 .byte 102,68,15,213,215 // pmullw %xmm7,%xmm10 .byte 102,68,15,213,227 // pmullw %xmm3,%xmm12 .byte 102,68,15,111,13,244,47,0,0 // movdqa 0x2ff4(%rip),%xmm9 # 2b710 <_sk_srcover_rgba_8888_sse2_lowp+0x113c> .byte 102,69,15,111,218 // movdqa %xmm10,%xmm11 .byte 102,69,15,239,217 // pxor %xmm9,%xmm11 .byte 102,65,15,111,204 // movdqa %xmm12,%xmm1 .byte 102,65,15,239,201 // pxor %xmm9,%xmm1 .byte 102,65,15,101,203 // pcmpgtw %xmm11,%xmm1 .byte 102,68,15,219,225 // pand %xmm1,%xmm12 .byte 102,65,15,223,202 // pandn %xmm10,%xmm1 .byte 102,65,15,235,204 // por %xmm12,%xmm1 .byte 102,68,15,111,21,83,40,0,0 // movdqa 0x2853(%rip),%xmm10 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,202 // paddw %xmm10,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,249,193 // psubw %xmm1,%xmm0 .byte 102,68,15,111,221 // movdqa %xmm5,%xmm11 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,68,15,213,199 // pmullw %xmm7,%xmm8 .byte 102,68,15,213,219 // pmullw %xmm3,%xmm11 .byte 102,69,15,111,224 // movdqa %xmm8,%xmm12 .byte 102,69,15,239,225 // pxor %xmm9,%xmm12 .byte 102,69,15,111,235 // movdqa %xmm11,%xmm13 .byte 102,69,15,239,233 // pxor %xmm9,%xmm13 .byte 102,69,15,101,236 // pcmpgtw %xmm12,%xmm13 .byte 102,69,15,219,221 // pand %xmm13,%xmm11 .byte 102,69,15,223,232 // pandn %xmm8,%xmm13 .byte 102,69,15,235,235 // por %xmm11,%xmm13 .byte 102,69,15,253,234 // paddw %xmm10,%xmm13 .byte 102,65,15,113,213,8 // psrlw $0x8,%xmm13 .byte 102,65,15,249,205 // psubw %xmm13,%xmm1 .byte 102,68,15,111,222 // movdqa %xmm6,%xmm11 .byte 102,68,15,111,198 // movdqa %xmm6,%xmm8 .byte 102,68,15,253,194 // paddw %xmm2,%xmm8 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,68,15,213,219 // pmullw %xmm3,%xmm11 .byte 102,68,15,111,226 // movdqa %xmm2,%xmm12 .byte 102,69,15,239,225 // pxor %xmm9,%xmm12 .byte 102,69,15,239,203 // pxor %xmm11,%xmm9 .byte 102,69,15,101,204 // pcmpgtw %xmm12,%xmm9 .byte 102,69,15,219,217 // pand %xmm9,%xmm11 .byte 102,68,15,223,202 // pandn %xmm2,%xmm9 .byte 102,69,15,235,203 // por %xmm11,%xmm9 .byte 102,69,15,253,202 // paddw %xmm10,%xmm9 .byte 102,65,15,113,209,8 // psrlw $0x8,%xmm9 .byte 102,69,15,249,193 // psubw %xmm9,%xmm8 .byte 102,65,15,111,210 // movdqa %xmm10,%xmm2 .byte 102,15,249,211 // psubw %xmm3,%xmm2 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,65,15,253,210 // paddw %xmm10,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,253,218 // paddw %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_lighten_sse2_lowp .globl _sk_lighten_sse2_lowp FUNCTION(_sk_lighten_sse2_lowp) _sk_lighten_sse2_lowp: .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,68,15,111,224 // movdqa %xmm0,%xmm12 .byte 102,68,15,111,212 // movdqa %xmm4,%xmm10 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,65,15,253,196 // paddw %xmm12,%xmm0 .byte 102,68,15,213,231 // pmullw %xmm7,%xmm12 .byte 102,68,15,213,211 // pmullw %xmm3,%xmm10 .byte 102,68,15,111,13,203,46,0,0 // movdqa 0x2ecb(%rip),%xmm9 # 2b710 <_sk_srcover_rgba_8888_sse2_lowp+0x113c> .byte 102,69,15,111,220 // movdqa %xmm12,%xmm11 .byte 102,69,15,239,217 // pxor %xmm9,%xmm11 .byte 102,65,15,111,202 // movdqa %xmm10,%xmm1 .byte 102,65,15,239,201 // pxor %xmm9,%xmm1 .byte 102,65,15,101,203 // pcmpgtw %xmm11,%xmm1 .byte 102,68,15,219,225 // pand %xmm1,%xmm12 .byte 102,65,15,223,202 // pandn %xmm10,%xmm1 .byte 102,65,15,235,204 // por %xmm12,%xmm1 .byte 102,68,15,111,21,42,39,0,0 // movdqa 0x272a(%rip),%xmm10 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,202 // paddw %xmm10,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,249,193 // psubw %xmm1,%xmm0 .byte 102,68,15,111,221 // movdqa %xmm5,%xmm11 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,68,15,213,199 // pmullw %xmm7,%xmm8 .byte 102,68,15,213,219 // pmullw %xmm3,%xmm11 .byte 102,69,15,111,224 // movdqa %xmm8,%xmm12 .byte 102,69,15,239,225 // pxor %xmm9,%xmm12 .byte 102,69,15,111,235 // movdqa %xmm11,%xmm13 .byte 102,69,15,239,233 // pxor %xmm9,%xmm13 .byte 102,69,15,101,236 // pcmpgtw %xmm12,%xmm13 .byte 102,69,15,219,197 // pand %xmm13,%xmm8 .byte 102,69,15,223,235 // pandn %xmm11,%xmm13 .byte 102,69,15,235,232 // por %xmm8,%xmm13 .byte 102,69,15,253,234 // paddw %xmm10,%xmm13 .byte 102,65,15,113,213,8 // psrlw $0x8,%xmm13 .byte 102,65,15,249,205 // psubw %xmm13,%xmm1 .byte 102,68,15,111,222 // movdqa %xmm6,%xmm11 .byte 102,68,15,111,198 // movdqa %xmm6,%xmm8 .byte 102,68,15,253,194 // paddw %xmm2,%xmm8 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,68,15,213,219 // pmullw %xmm3,%xmm11 .byte 102,68,15,111,226 // movdqa %xmm2,%xmm12 .byte 102,69,15,239,225 // pxor %xmm9,%xmm12 .byte 102,69,15,239,203 // pxor %xmm11,%xmm9 .byte 102,69,15,101,204 // pcmpgtw %xmm12,%xmm9 .byte 102,65,15,219,209 // pand %xmm9,%xmm2 .byte 102,69,15,223,203 // pandn %xmm11,%xmm9 .byte 102,68,15,235,202 // por %xmm2,%xmm9 .byte 102,69,15,253,202 // paddw %xmm10,%xmm9 .byte 102,65,15,113,209,8 // psrlw $0x8,%xmm9 .byte 102,69,15,249,193 // psubw %xmm9,%xmm8 .byte 102,65,15,111,210 // movdqa %xmm10,%xmm2 .byte 102,15,249,211 // psubw %xmm3,%xmm2 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,65,15,253,210 // paddw %xmm10,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,253,218 // paddw %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_difference_sse2_lowp .globl _sk_difference_sse2_lowp FUNCTION(_sk_difference_sse2_lowp) _sk_difference_sse2_lowp: .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,68,15,111,224 // movdqa %xmm0,%xmm12 .byte 102,68,15,111,212 // movdqa %xmm4,%xmm10 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,65,15,253,196 // paddw %xmm12,%xmm0 .byte 102,68,15,213,231 // pmullw %xmm7,%xmm12 .byte 102,68,15,213,211 // pmullw %xmm3,%xmm10 .byte 102,68,15,111,13,162,45,0,0 // movdqa 0x2da2(%rip),%xmm9 # 2b710 <_sk_srcover_rgba_8888_sse2_lowp+0x113c> .byte 102,69,15,111,220 // movdqa %xmm12,%xmm11 .byte 102,69,15,239,217 // pxor %xmm9,%xmm11 .byte 102,65,15,111,202 // movdqa %xmm10,%xmm1 .byte 102,65,15,239,201 // pxor %xmm9,%xmm1 .byte 102,65,15,101,203 // pcmpgtw %xmm11,%xmm1 .byte 102,68,15,219,225 // pand %xmm1,%xmm12 .byte 102,65,15,223,202 // pandn %xmm10,%xmm1 .byte 102,65,15,235,204 // por %xmm12,%xmm1 .byte 102,68,15,111,21,1,38,0,0 // movdqa 0x2601(%rip),%xmm10 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,202 // paddw %xmm10,%xmm1 .byte 102,15,113,209,7 // psrlw $0x7,%xmm1 .byte 102,68,15,111,29,78,45,0,0 // movdqa 0x2d4e(%rip),%xmm11 # 2b700 <_sk_srcover_rgba_8888_sse2_lowp+0x112c> .byte 102,65,15,219,203 // pand %xmm11,%xmm1 .byte 102,15,249,193 // psubw %xmm1,%xmm0 .byte 102,68,15,111,229 // movdqa %xmm5,%xmm12 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,68,15,213,199 // pmullw %xmm7,%xmm8 .byte 102,68,15,213,227 // pmullw %xmm3,%xmm12 .byte 102,69,15,111,232 // movdqa %xmm8,%xmm13 .byte 102,69,15,239,233 // pxor %xmm9,%xmm13 .byte 102,69,15,111,244 // movdqa %xmm12,%xmm14 .byte 102,69,15,239,241 // pxor %xmm9,%xmm14 .byte 102,69,15,101,245 // pcmpgtw %xmm13,%xmm14 .byte 102,69,15,219,198 // pand %xmm14,%xmm8 .byte 102,69,15,223,244 // pandn %xmm12,%xmm14 .byte 102,69,15,235,240 // por %xmm8,%xmm14 .byte 102,69,15,253,242 // paddw %xmm10,%xmm14 .byte 102,65,15,113,214,7 // psrlw $0x7,%xmm14 .byte 102,69,15,219,243 // pand %xmm11,%xmm14 .byte 102,65,15,249,206 // psubw %xmm14,%xmm1 .byte 102,68,15,111,230 // movdqa %xmm6,%xmm12 .byte 102,68,15,111,198 // movdqa %xmm6,%xmm8 .byte 102,68,15,253,194 // paddw %xmm2,%xmm8 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,68,15,213,227 // pmullw %xmm3,%xmm12 .byte 102,68,15,111,234 // movdqa %xmm2,%xmm13 .byte 102,69,15,239,233 // pxor %xmm9,%xmm13 .byte 102,69,15,239,204 // pxor %xmm12,%xmm9 .byte 102,69,15,101,205 // pcmpgtw %xmm13,%xmm9 .byte 102,65,15,219,209 // pand %xmm9,%xmm2 .byte 102,69,15,223,204 // pandn %xmm12,%xmm9 .byte 102,68,15,235,202 // por %xmm2,%xmm9 .byte 102,69,15,253,202 // paddw %xmm10,%xmm9 .byte 102,65,15,113,209,7 // psrlw $0x7,%xmm9 .byte 102,69,15,219,203 // pand %xmm11,%xmm9 .byte 102,69,15,249,193 // psubw %xmm9,%xmm8 .byte 102,65,15,111,210 // movdqa %xmm10,%xmm2 .byte 102,15,249,211 // psubw %xmm3,%xmm2 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,65,15,253,210 // paddw %xmm10,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,253,218 // paddw %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_exclusion_sse2_lowp .globl _sk_exclusion_sse2_lowp FUNCTION(_sk_exclusion_sse2_lowp) _sk_exclusion_sse2_lowp: .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,15,253,193 // paddw %xmm1,%xmm0 .byte 102,15,213,204 // pmullw %xmm4,%xmm1 .byte 102,68,15,111,13,254,36,0,0 // movdqa 0x24fe(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,15,113,209,7 // psrlw $0x7,%xmm1 .byte 102,68,15,111,21,75,44,0,0 // movdqa 0x2c4b(%rip),%xmm10 # 2b700 <_sk_srcover_rgba_8888_sse2_lowp+0x112c> .byte 102,65,15,219,202 // pand %xmm10,%xmm1 .byte 102,15,249,193 // psubw %xmm1,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,68,15,213,197 // pmullw %xmm5,%xmm8 .byte 102,69,15,253,193 // paddw %xmm9,%xmm8 .byte 102,65,15,113,208,7 // psrlw $0x7,%xmm8 .byte 102,69,15,219,194 // pand %xmm10,%xmm8 .byte 102,65,15,249,200 // psubw %xmm8,%xmm1 .byte 102,68,15,111,198 // movdqa %xmm6,%xmm8 .byte 102,68,15,253,194 // paddw %xmm2,%xmm8 .byte 102,15,213,214 // pmullw %xmm6,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,113,210,7 // psrlw $0x7,%xmm2 .byte 102,65,15,219,210 // pand %xmm10,%xmm2 .byte 102,68,15,249,194 // psubw %xmm2,%xmm8 .byte 102,65,15,111,209 // movdqa %xmm9,%xmm2 .byte 102,15,249,211 // psubw %xmm3,%xmm2 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,253,218 // paddw %xmm2,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_hardlight_sse2_lowp .globl _sk_hardlight_sse2_lowp FUNCTION(_sk_hardlight_sse2_lowp) _sk_hardlight_sse2_lowp: .byte 15,41,116,36,232 // movaps %xmm6,-0x18(%rsp) .byte 102,15,111,245 // movdqa %xmm5,%xmm6 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,68,15,111,194 // movdqa %xmm2,%xmm8 .byte 102,68,15,111,200 // movdqa %xmm0,%xmm9 .byte 102,15,111,21,90,36,0,0 // movdqa 0x245a(%rip),%xmm2 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,68,15,111,226 // movdqa %xmm2,%xmm12 .byte 102,68,15,249,231 // psubw %xmm7,%xmm12 .byte 102,65,15,111,196 // movdqa %xmm12,%xmm0 .byte 102,65,15,213,193 // pmullw %xmm9,%xmm0 .byte 102,68,15,111,218 // movdqa %xmm2,%xmm11 .byte 102,68,15,249,219 // psubw %xmm3,%xmm11 .byte 102,69,15,111,251 // movdqa %xmm11,%xmm15 .byte 102,68,15,213,253 // pmullw %xmm5,%xmm15 .byte 102,68,15,253,248 // paddw %xmm0,%xmm15 .byte 102,68,15,111,243 // movdqa %xmm3,%xmm14 .byte 102,69,15,249,241 // psubw %xmm9,%xmm14 .byte 102,69,15,253,201 // paddw %xmm9,%xmm9 .byte 102,15,111,21,134,43,0,0 // movdqa 0x2b86(%rip),%xmm2 # 2b710 <_sk_srcover_rgba_8888_sse2_lowp+0x113c> .byte 102,15,111,199 // movdqa %xmm7,%xmm0 .byte 102,68,15,111,215 // movdqa %xmm7,%xmm10 .byte 102,15,111,231 // movdqa %xmm7,%xmm4 .byte 102,68,15,213,211 // pmullw %xmm3,%xmm10 .byte 102,15,249,197 // psubw %xmm5,%xmm0 .byte 102,65,15,213,198 // pmullw %xmm14,%xmm0 .byte 102,15,253,192 // paddw %xmm0,%xmm0 .byte 102,69,15,111,234 // movdqa %xmm10,%xmm13 .byte 102,68,15,249,232 // psubw %xmm0,%xmm13 .byte 102,68,15,111,243 // movdqa %xmm3,%xmm14 .byte 102,68,15,239,242 // pxor %xmm2,%xmm14 .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,15,239,194 // pxor %xmm2,%xmm0 .byte 102,65,15,101,198 // pcmpgtw %xmm14,%xmm0 .byte 102,68,15,213,205 // pmullw %xmm5,%xmm9 .byte 102,68,15,219,232 // pand %xmm0,%xmm13 .byte 102,65,15,223,193 // pandn %xmm9,%xmm0 .byte 102,65,15,235,197 // por %xmm13,%xmm0 .byte 102,15,253,5,185,35,0,0 // paddw 0x23b9(%rip),%xmm0 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,199 // paddw %xmm15,%xmm0 .byte 102,69,15,111,204 // movdqa %xmm12,%xmm9 .byte 102,68,15,213,201 // pmullw %xmm1,%xmm9 .byte 102,69,15,111,235 // movdqa %xmm11,%xmm13 .byte 102,68,15,213,238 // pmullw %xmm6,%xmm13 .byte 102,69,15,253,233 // paddw %xmm9,%xmm13 .byte 102,68,15,111,203 // movdqa %xmm3,%xmm9 .byte 102,68,15,249,201 // psubw %xmm1,%xmm9 .byte 102,68,15,111,252 // movdqa %xmm4,%xmm15 .byte 102,68,15,249,254 // psubw %xmm6,%xmm15 .byte 102,69,15,213,249 // pmullw %xmm9,%xmm15 .byte 102,69,15,253,255 // paddw %xmm15,%xmm15 .byte 102,65,15,111,250 // movdqa %xmm10,%xmm7 .byte 102,65,15,249,255 // psubw %xmm15,%xmm7 .byte 102,15,253,201 // paddw %xmm1,%xmm1 .byte 102,68,15,111,201 // movdqa %xmm1,%xmm9 .byte 102,68,15,239,202 // pxor %xmm2,%xmm9 .byte 102,69,15,101,206 // pcmpgtw %xmm14,%xmm9 .byte 102,15,213,206 // pmullw %xmm6,%xmm1 .byte 102,65,15,219,249 // pand %xmm9,%xmm7 .byte 102,68,15,223,201 // pandn %xmm1,%xmm9 .byte 102,68,15,235,207 // por %xmm7,%xmm9 .byte 102,68,15,253,13,68,35,0,0 // paddw 0x2344(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,253,205 // paddw %xmm13,%xmm9 .byte 102,69,15,213,224 // pmullw %xmm8,%xmm12 .byte 102,69,15,111,251 // movdqa %xmm11,%xmm15 .byte 102,15,111,76,36,232 // movdqa -0x18(%rsp),%xmm1 .byte 102,68,15,213,249 // pmullw %xmm1,%xmm15 .byte 102,69,15,253,252 // paddw %xmm12,%xmm15 .byte 102,68,15,111,227 // movdqa %xmm3,%xmm12 .byte 102,69,15,249,224 // psubw %xmm8,%xmm12 .byte 102,69,15,253,192 // paddw %xmm8,%xmm8 .byte 102,65,15,239,208 // pxor %xmm8,%xmm2 .byte 102,65,15,101,214 // pcmpgtw %xmm14,%xmm2 .byte 102,15,111,252 // movdqa %xmm4,%xmm7 .byte 102,15,249,249 // psubw %xmm1,%xmm7 .byte 102,65,15,213,252 // pmullw %xmm12,%xmm7 .byte 102,15,253,255 // paddw %xmm7,%xmm7 .byte 102,68,15,249,215 // psubw %xmm7,%xmm10 .byte 102,68,15,213,193 // pmullw %xmm1,%xmm8 .byte 102,68,15,111,225 // movdqa %xmm1,%xmm12 .byte 102,68,15,219,210 // pand %xmm2,%xmm10 .byte 102,65,15,223,208 // pandn %xmm8,%xmm2 .byte 102,65,15,235,210 // por %xmm10,%xmm2 .byte 102,68,15,111,5,212,34,0,0 // movdqa 0x22d4(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,65,15,253,215 // paddw %xmm15,%xmm2 .byte 102,68,15,213,220 // pmullw %xmm4,%xmm11 .byte 102,69,15,253,216 // paddw %xmm8,%xmm11 .byte 102,65,15,113,211,8 // psrlw $0x8,%xmm11 .byte 102,65,15,253,219 // paddw %xmm11,%xmm3 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,65,15,113,209,8 // psrlw $0x8,%xmm9 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,15,111,252 // movdqa %xmm4,%xmm7 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,15,111,238 // movdqa %xmm6,%xmm5 .byte 102,65,15,111,244 // movdqa %xmm12,%xmm6 .byte 255,224 // jmpq *%rax HIDDEN _sk_overlay_sse2_lowp .globl _sk_overlay_sse2_lowp FUNCTION(_sk_overlay_sse2_lowp) _sk_overlay_sse2_lowp: .byte 102,68,15,111,247 // movdqa %xmm7,%xmm14 .byte 15,41,116,36,216 // movaps %xmm6,-0x28(%rsp) .byte 102,15,111,252 // movdqa %xmm4,%xmm7 .byte 102,15,127,124,36,232 // movdqa %xmm7,-0x18(%rsp) .byte 102,68,15,111,193 // movdqa %xmm1,%xmm8 .byte 102,68,15,111,248 // movdqa %xmm0,%xmm15 .byte 102,15,111,53,101,34,0,0 // movdqa 0x2265(%rip),%xmm6 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,68,15,111,222 // movdqa %xmm6,%xmm11 .byte 102,69,15,249,222 // psubw %xmm14,%xmm11 .byte 102,65,15,111,203 // movdqa %xmm11,%xmm1 .byte 102,65,15,213,207 // pmullw %xmm15,%xmm1 .byte 102,68,15,111,214 // movdqa %xmm6,%xmm10 .byte 102,68,15,249,211 // psubw %xmm3,%xmm10 .byte 102,65,15,111,194 // movdqa %xmm10,%xmm0 .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,15,253,193 // paddw %xmm1,%xmm0 .byte 102,68,15,111,235 // movdqa %xmm3,%xmm13 .byte 102,69,15,249,239 // psubw %xmm15,%xmm13 .byte 102,68,15,213,255 // pmullw %xmm7,%xmm15 .byte 102,65,15,111,206 // movdqa %xmm14,%xmm1 .byte 102,15,249,207 // psubw %xmm7,%xmm1 .byte 102,15,253,255 // paddw %xmm7,%xmm7 .byte 102,69,15,111,206 // movdqa %xmm14,%xmm9 .byte 102,68,15,213,203 // pmullw %xmm3,%xmm9 .byte 102,65,15,213,205 // pmullw %xmm13,%xmm1 .byte 102,15,253,201 // paddw %xmm1,%xmm1 .byte 102,69,15,111,225 // movdqa %xmm9,%xmm12 .byte 102,68,15,249,225 // psubw %xmm1,%xmm12 .byte 102,15,111,13,105,41,0,0 // movdqa 0x2969(%rip),%xmm1 # 2b710 <_sk_srcover_rgba_8888_sse2_lowp+0x113c> .byte 102,69,15,111,238 // movdqa %xmm14,%xmm13 .byte 102,68,15,239,233 // pxor %xmm1,%xmm13 .byte 102,15,239,249 // pxor %xmm1,%xmm7 .byte 102,65,15,101,253 // pcmpgtw %xmm13,%xmm7 .byte 102,69,15,253,255 // paddw %xmm15,%xmm15 .byte 102,68,15,219,231 // pand %xmm7,%xmm12 .byte 102,65,15,223,255 // pandn %xmm15,%xmm7 .byte 102,65,15,235,252 // por %xmm12,%xmm7 .byte 102,15,253,254 // paddw %xmm6,%xmm7 .byte 102,15,253,199 // paddw %xmm7,%xmm0 .byte 102,65,15,111,227 // movdqa %xmm11,%xmm4 .byte 102,65,15,213,224 // pmullw %xmm8,%xmm4 .byte 102,65,15,111,202 // movdqa %xmm10,%xmm1 .byte 102,15,213,205 // pmullw %xmm5,%xmm1 .byte 102,15,253,204 // paddw %xmm4,%xmm1 .byte 102,68,15,111,227 // movdqa %xmm3,%xmm12 .byte 102,69,15,249,224 // psubw %xmm8,%xmm12 .byte 102,65,15,111,230 // movdqa %xmm14,%xmm4 .byte 102,15,249,229 // psubw %xmm5,%xmm4 .byte 102,65,15,213,228 // pmullw %xmm12,%xmm4 .byte 102,15,253,228 // paddw %xmm4,%xmm4 .byte 102,69,15,111,225 // movdqa %xmm9,%xmm12 .byte 102,68,15,249,228 // psubw %xmm4,%xmm12 .byte 102,68,15,213,197 // pmullw %xmm5,%xmm8 .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,15,253,228 // paddw %xmm4,%xmm4 .byte 102,15,111,61,232,40,0,0 // movdqa 0x28e8(%rip),%xmm7 # 2b710 <_sk_srcover_rgba_8888_sse2_lowp+0x113c> .byte 102,15,239,231 // pxor %xmm7,%xmm4 .byte 102,65,15,101,229 // pcmpgtw %xmm13,%xmm4 .byte 102,69,15,253,192 // paddw %xmm8,%xmm8 .byte 102,68,15,219,228 // pand %xmm4,%xmm12 .byte 102,65,15,223,224 // pandn %xmm8,%xmm4 .byte 102,65,15,235,228 // por %xmm12,%xmm4 .byte 102,15,253,230 // paddw %xmm6,%xmm4 .byte 102,68,15,111,230 // movdqa %xmm6,%xmm12 .byte 102,15,253,204 // paddw %xmm4,%xmm1 .byte 102,68,15,213,218 // pmullw %xmm2,%xmm11 .byte 102,69,15,111,194 // movdqa %xmm10,%xmm8 .byte 102,15,111,116,36,216 // movdqa -0x28(%rsp),%xmm6 .byte 102,68,15,213,198 // pmullw %xmm6,%xmm8 .byte 102,69,15,253,195 // paddw %xmm11,%xmm8 .byte 102,15,111,230 // movdqa %xmm6,%xmm4 .byte 102,15,253,228 // paddw %xmm4,%xmm4 .byte 102,15,239,231 // pxor %xmm7,%xmm4 .byte 102,69,15,111,222 // movdqa %xmm14,%xmm11 .byte 102,68,15,249,222 // psubw %xmm6,%xmm11 .byte 102,65,15,101,229 // pcmpgtw %xmm13,%xmm4 .byte 102,15,111,251 // movdqa %xmm3,%xmm7 .byte 102,15,249,250 // psubw %xmm2,%xmm7 .byte 102,68,15,213,223 // pmullw %xmm7,%xmm11 .byte 102,69,15,253,219 // paddw %xmm11,%xmm11 .byte 102,69,15,249,203 // psubw %xmm11,%xmm9 .byte 102,15,213,214 // pmullw %xmm6,%xmm2 .byte 102,15,253,210 // paddw %xmm2,%xmm2 .byte 102,68,15,219,204 // pand %xmm4,%xmm9 .byte 102,15,223,226 // pandn %xmm2,%xmm4 .byte 102,65,15,235,225 // por %xmm9,%xmm4 .byte 102,65,15,111,212 // movdqa %xmm12,%xmm2 .byte 102,15,253,226 // paddw %xmm2,%xmm4 .byte 102,68,15,253,196 // paddw %xmm4,%xmm8 .byte 102,69,15,213,214 // pmullw %xmm14,%xmm10 .byte 102,68,15,253,210 // paddw %xmm2,%xmm10 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,65,15,253,218 // paddw %xmm10,%xmm3 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,65,15,113,208,8 // psrlw $0x8,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,100,36,232 // movaps -0x18(%rsp),%xmm4 .byte 102,65,15,111,254 // movdqa %xmm14,%xmm7 .byte 102,65,15,111,208 // movdqa %xmm8,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_load_8888_sse2_lowp .globl _sk_load_8888_sse2_lowp FUNCTION(_sk_load_8888_sse2_lowp) _sk_load_8888_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,41 // ja 28f3e <_sk_load_8888_sse2_lowp+0x44> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,24,1,0,0 // lea 0x118(%rip),%r9 # 2903c <_sk_load_8888_sse2_lowp+0x142> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 255,224 // jmpq *%rax .byte 243,65,15,16,28,144 // movss (%r8,%rdx,4),%xmm3 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 235,102 // jmp 28fa4 <_sk_load_8888_sse2_lowp+0xaa> .byte 102,65,15,16,28,144 // movupd (%r8,%rdx,4),%xmm3 .byte 243,69,15,111,68,144,16 // movdqu 0x10(%r8,%rdx,4),%xmm8 .byte 235,87 // jmp 28fa4 <_sk_load_8888_sse2_lowp+0xaa> .byte 102,65,15,110,68,144,8 // movd 0x8(%r8,%rdx,4),%xmm0 .byte 102,68,15,112,192,69 // pshufd $0x45,%xmm0,%xmm8 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,69,15,18,4,144 // movlpd (%r8,%rdx,4),%xmm8 .byte 102,65,15,40,216 // movapd %xmm8,%xmm3 .byte 102,68,15,111,192 // movdqa %xmm0,%xmm8 .byte 235,52 // jmp 28fa4 <_sk_load_8888_sse2_lowp+0xaa> .byte 102,65,15,110,68,144,24 // movd 0x18(%r8,%rdx,4),%xmm0 .byte 102,68,15,112,192,69 // pshufd $0x45,%xmm0,%xmm8 .byte 243,65,15,16,68,144,20 // movss 0x14(%r8,%rdx,4),%xmm0 .byte 65,15,198,192,0 // shufps $0x0,%xmm8,%xmm0 .byte 65,15,198,192,226 // shufps $0xe2,%xmm8,%xmm0 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 243,65,15,16,68,144,16 // movss 0x10(%r8,%rdx,4),%xmm0 .byte 243,68,15,16,192 // movss %xmm0,%xmm8 .byte 102,65,15,16,28,144 // movupd (%r8,%rdx,4),%xmm3 .byte 102,15,40,203 // movapd %xmm3,%xmm1 .byte 102,15,114,241,16 // pslld $0x10,%xmm1 .byte 102,15,114,225,16 // psrad $0x10,%xmm1 .byte 102,65,15,111,192 // movdqa %xmm8,%xmm0 .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .byte 102,15,114,224,16 // psrad $0x10,%xmm0 .byte 102,15,107,200 // packssdw %xmm0,%xmm1 .byte 102,68,15,111,13,210,31,0,0 // movdqa 0x1fd2(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,65,15,219,193 // pand %xmm9,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,65,15,114,210,16 // psrld $0x10,%xmm10 .byte 102,15,40,211 // movapd %xmm3,%xmm2 .byte 102,15,114,210,16 // psrld $0x10,%xmm2 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 102,15,114,243,16 // pslld $0x10,%xmm3 .byte 102,15,114,227,16 // psrad $0x10,%xmm3 .byte 102,65,15,114,208,24 // psrld $0x18,%xmm8 .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 .byte 102,65,15,114,224,16 // psrad $0x10,%xmm8 .byte 102,65,15,107,216 // packssdw %xmm8,%xmm3 .byte 102,15,114,242,16 // pslld $0x10,%xmm2 .byte 102,15,114,226,16 // psrad $0x10,%xmm2 .byte 102,65,15,114,242,16 // pslld $0x10,%xmm10 .byte 102,65,15,114,226,16 // psrad $0x10,%xmm10 .byte 102,65,15,107,210 // packssdw %xmm10,%xmm2 .byte 102,65,15,219,209 // pand %xmm9,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,144 // xchg %ax,%ax .byte 245 // cmc .byte 254 // (bad) .byte 255 // (bad) .byte 255,34 // jmpq *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,17 // callq *(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,98,255 // jmpq *-0x1(%rdx) .byte 255 // (bad) .byte 255,86,255 // callq *-0x1(%rsi) .byte 255 // (bad) .byte 255,65,255 // incl -0x1(%rcx) .byte 255 // (bad) .byte 255,52,255 // pushq (%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_8888_dst_sse2_lowp .globl _sk_load_8888_dst_sse2_lowp FUNCTION(_sk_load_8888_dst_sse2_lowp) _sk_load_8888_dst_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,41 // ja 2909c <_sk_load_8888_dst_sse2_lowp+0x44> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,22,1,0,0 // lea 0x116(%rip),%r9 # 29198 <_sk_load_8888_dst_sse2_lowp+0x140> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 255,224 // jmpq *%rax .byte 243,65,15,16,60,144 // movss (%r8,%rdx,4),%xmm7 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 235,102 // jmp 29102 <_sk_load_8888_dst_sse2_lowp+0xaa> .byte 102,65,15,16,60,144 // movupd (%r8,%rdx,4),%xmm7 .byte 243,69,15,111,68,144,16 // movdqu 0x10(%r8,%rdx,4),%xmm8 .byte 235,87 // jmp 29102 <_sk_load_8888_dst_sse2_lowp+0xaa> .byte 102,65,15,110,100,144,8 // movd 0x8(%r8,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,69,15,18,4,144 // movlpd (%r8,%rdx,4),%xmm8 .byte 102,65,15,40,248 // movapd %xmm8,%xmm7 .byte 102,68,15,111,196 // movdqa %xmm4,%xmm8 .byte 235,52 // jmp 29102 <_sk_load_8888_dst_sse2_lowp+0xaa> .byte 102,65,15,110,100,144,24 // movd 0x18(%r8,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 243,65,15,16,100,144,20 // movss 0x14(%r8,%rdx,4),%xmm4 .byte 65,15,198,224,0 // shufps $0x0,%xmm8,%xmm4 .byte 65,15,198,224,226 // shufps $0xe2,%xmm8,%xmm4 .byte 68,15,40,196 // movaps %xmm4,%xmm8 .byte 243,65,15,16,100,144,16 // movss 0x10(%r8,%rdx,4),%xmm4 .byte 243,68,15,16,196 // movss %xmm4,%xmm8 .byte 102,65,15,16,60,144 // movupd (%r8,%rdx,4),%xmm7 .byte 102,15,40,239 // movapd %xmm7,%xmm5 .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 102,15,114,229,16 // psrad $0x10,%xmm5 .byte 102,65,15,111,224 // movdqa %xmm8,%xmm4 .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,15,114,228,16 // psrad $0x10,%xmm4 .byte 102,15,107,236 // packssdw %xmm4,%xmm5 .byte 102,68,15,111,13,116,30,0,0 // movdqa 0x1e74(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,65,15,219,225 // pand %xmm9,%xmm4 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,65,15,114,210,16 // psrld $0x10,%xmm10 .byte 102,15,40,247 // movapd %xmm7,%xmm6 .byte 102,15,114,214,16 // psrld $0x10,%xmm6 .byte 102,15,114,215,24 // psrld $0x18,%xmm7 .byte 102,15,114,247,16 // pslld $0x10,%xmm7 .byte 102,15,114,231,16 // psrad $0x10,%xmm7 .byte 102,65,15,114,208,24 // psrld $0x18,%xmm8 .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 .byte 102,65,15,114,224,16 // psrad $0x10,%xmm8 .byte 102,65,15,107,248 // packssdw %xmm8,%xmm7 .byte 102,15,114,246,16 // pslld $0x10,%xmm6 .byte 102,15,114,230,16 // psrad $0x10,%xmm6 .byte 102,65,15,114,242,16 // pslld $0x10,%xmm10 .byte 102,65,15,114,226,16 // psrad $0x10,%xmm10 .byte 102,65,15,107,242 // packssdw %xmm10,%xmm6 .byte 102,65,15,219,241 // pand %xmm9,%xmm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 247,254 // idiv %esi .byte 255 // (bad) .byte 255,36,255 // jmpq *(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,19 // callq *(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,100,255,255 // jmpq *-0x1(%rdi,%rdi,8) .byte 255,88,255 // lcall *-0x1(%rax) .byte 255 // (bad) .byte 255,67,255 // incl -0x1(%rbx) .byte 255 // (bad) .byte 255,54 // pushq (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_8888_sse2_lowp .globl _sk_store_8888_sse2_lowp FUNCTION(_sk_store_8888_sse2_lowp) _sk_store_8888_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 102,68,15,111,209 // movdqa %xmm1,%xmm10 .byte 102,65,15,113,242,8 // psllw $0x8,%xmm10 .byte 102,68,15,235,208 // por %xmm0,%xmm10 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,69,15,111,218 // movdqa %xmm10,%xmm11 .byte 102,69,15,97,216 // punpcklwd %xmm8,%xmm11 .byte 102,69,15,105,208 // punpckhwd %xmm8,%xmm10 .byte 102,68,15,111,227 // movdqa %xmm3,%xmm12 .byte 102,65,15,113,244,8 // psllw $0x8,%xmm12 .byte 102,68,15,235,226 // por %xmm2,%xmm12 .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 102,69,15,97,204 // punpcklwd %xmm12,%xmm9 .byte 102,69,15,235,203 // por %xmm11,%xmm9 .byte 102,69,15,105,196 // punpckhwd %xmm12,%xmm8 .byte 102,69,15,235,194 // por %xmm10,%xmm8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,27 // ja 29237 <_sk_store_8888_sse2_lowp+0x83> .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,98,0,0,0 // lea 0x62(%rip),%r9 # 29288 <_sk_store_8888_sse2_lowp+0xd4> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,126,12,144 // movd %xmm9,(%r8,%rdx,4) .byte 235,75 // jmp 29282 <_sk_store_8888_sse2_lowp+0xce> .byte 243,69,15,127,12,144 // movdqu %xmm9,(%r8,%rdx,4) .byte 243,69,15,127,68,144,16 // movdqu %xmm8,0x10(%r8,%rdx,4) .byte 235,60 // jmp 29282 <_sk_store_8888_sse2_lowp+0xce> .byte 102,69,15,112,193,78 // pshufd $0x4e,%xmm9,%xmm8 .byte 102,69,15,126,68,144,8 // movd %xmm8,0x8(%r8,%rdx,4) .byte 102,69,15,214,12,144 // movq %xmm9,(%r8,%rdx,4) .byte 235,39 // jmp 29282 <_sk_store_8888_sse2_lowp+0xce> .byte 102,69,15,112,208,78 // pshufd $0x4e,%xmm8,%xmm10 .byte 102,69,15,126,84,144,24 // movd %xmm10,0x18(%r8,%rdx,4) .byte 102,69,15,112,208,229 // pshufd $0xe5,%xmm8,%xmm10 .byte 102,69,15,126,84,144,20 // movd %xmm10,0x14(%r8,%rdx,4) .byte 102,69,15,126,68,144,16 // movd %xmm8,0x10(%r8,%rdx,4) .byte 243,69,15,127,12,144 // movdqu %xmm9,(%r8,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,144 // xchg %ax,%ax .byte 167 // cmpsl %es:(%rdi),%ds:(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,203 // dec %ebx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 190,255,255,255,244 // mov $0xf4ffffff,%esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 237 // in (%dx),%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,224 // jmpq *%rax .byte 255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_bgra_sse2_lowp .globl _sk_load_bgra_sse2_lowp FUNCTION(_sk_load_bgra_sse2_lowp) _sk_load_bgra_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,41 // ja 292e8 <_sk_load_bgra_sse2_lowp+0x44> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,22,1,0,0 // lea 0x116(%rip),%r9 # 293e4 <_sk_load_bgra_sse2_lowp+0x140> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 255,224 // jmpq *%rax .byte 243,65,15,16,28,144 // movss (%r8,%rdx,4),%xmm3 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 235,102 // jmp 2934e <_sk_load_bgra_sse2_lowp+0xaa> .byte 102,65,15,16,28,144 // movupd (%r8,%rdx,4),%xmm3 .byte 243,69,15,111,68,144,16 // movdqu 0x10(%r8,%rdx,4),%xmm8 .byte 235,87 // jmp 2934e <_sk_load_bgra_sse2_lowp+0xaa> .byte 102,65,15,110,68,144,8 // movd 0x8(%r8,%rdx,4),%xmm0 .byte 102,68,15,112,192,69 // pshufd $0x45,%xmm0,%xmm8 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,69,15,18,4,144 // movlpd (%r8,%rdx,4),%xmm8 .byte 102,65,15,40,216 // movapd %xmm8,%xmm3 .byte 102,68,15,111,192 // movdqa %xmm0,%xmm8 .byte 235,52 // jmp 2934e <_sk_load_bgra_sse2_lowp+0xaa> .byte 102,65,15,110,68,144,24 // movd 0x18(%r8,%rdx,4),%xmm0 .byte 102,68,15,112,192,69 // pshufd $0x45,%xmm0,%xmm8 .byte 243,65,15,16,68,144,20 // movss 0x14(%r8,%rdx,4),%xmm0 .byte 65,15,198,192,0 // shufps $0x0,%xmm8,%xmm0 .byte 65,15,198,192,226 // shufps $0xe2,%xmm8,%xmm0 .byte 68,15,40,192 // movaps %xmm0,%xmm8 .byte 243,65,15,16,68,144,16 // movss 0x10(%r8,%rdx,4),%xmm0 .byte 243,68,15,16,192 // movss %xmm0,%xmm8 .byte 102,65,15,16,28,144 // movupd (%r8,%rdx,4),%xmm3 .byte 102,15,40,203 // movapd %xmm3,%xmm1 .byte 102,15,114,241,16 // pslld $0x10,%xmm1 .byte 102,15,114,225,16 // psrad $0x10,%xmm1 .byte 102,65,15,111,192 // movdqa %xmm8,%xmm0 .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .byte 102,15,114,224,16 // psrad $0x10,%xmm0 .byte 102,15,107,200 // packssdw %xmm0,%xmm1 .byte 102,68,15,111,13,40,28,0,0 // movdqa 0x1c28(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,111,209 // movdqa %xmm1,%xmm2 .byte 102,65,15,219,209 // pand %xmm9,%xmm2 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,65,15,114,210,16 // psrld $0x10,%xmm10 .byte 102,15,40,195 // movapd %xmm3,%xmm0 .byte 102,15,114,208,16 // psrld $0x10,%xmm0 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 102,15,114,243,16 // pslld $0x10,%xmm3 .byte 102,15,114,227,16 // psrad $0x10,%xmm3 .byte 102,65,15,114,208,24 // psrld $0x18,%xmm8 .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 .byte 102,65,15,114,224,16 // psrad $0x10,%xmm8 .byte 102,65,15,107,216 // packssdw %xmm8,%xmm3 .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .byte 102,15,114,224,16 // psrad $0x10,%xmm0 .byte 102,65,15,114,242,16 // pslld $0x10,%xmm10 .byte 102,65,15,114,226,16 // psrad $0x10,%xmm10 .byte 102,65,15,107,194 // packssdw %xmm10,%xmm0 .byte 102,65,15,219,193 // pand %xmm9,%xmm0 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 247,254 // idiv %esi .byte 255 // (bad) .byte 255,36,255 // jmpq *(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,19 // callq *(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,100,255,255 // jmpq *-0x1(%rdi,%rdi,8) .byte 255,88,255 // lcall *-0x1(%rax) .byte 255 // (bad) .byte 255,67,255 // incl -0x1(%rbx) .byte 255 // (bad) .byte 255,54 // pushq (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_bgra_dst_sse2_lowp .globl _sk_load_bgra_dst_sse2_lowp FUNCTION(_sk_load_bgra_dst_sse2_lowp) _sk_load_bgra_dst_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,41 // ja 29444 <_sk_load_bgra_dst_sse2_lowp+0x44> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,22,1,0,0 // lea 0x116(%rip),%r9 # 29540 <_sk_load_bgra_dst_sse2_lowp+0x140> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 255,224 // jmpq *%rax .byte 243,65,15,16,60,144 // movss (%r8,%rdx,4),%xmm7 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 235,102 // jmp 294aa <_sk_load_bgra_dst_sse2_lowp+0xaa> .byte 102,65,15,16,60,144 // movupd (%r8,%rdx,4),%xmm7 .byte 243,69,15,111,68,144,16 // movdqu 0x10(%r8,%rdx,4),%xmm8 .byte 235,87 // jmp 294aa <_sk_load_bgra_dst_sse2_lowp+0xaa> .byte 102,65,15,110,100,144,8 // movd 0x8(%r8,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,69,15,18,4,144 // movlpd (%r8,%rdx,4),%xmm8 .byte 102,65,15,40,248 // movapd %xmm8,%xmm7 .byte 102,68,15,111,196 // movdqa %xmm4,%xmm8 .byte 235,52 // jmp 294aa <_sk_load_bgra_dst_sse2_lowp+0xaa> .byte 102,65,15,110,100,144,24 // movd 0x18(%r8,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 243,65,15,16,100,144,20 // movss 0x14(%r8,%rdx,4),%xmm4 .byte 65,15,198,224,0 // shufps $0x0,%xmm8,%xmm4 .byte 65,15,198,224,226 // shufps $0xe2,%xmm8,%xmm4 .byte 68,15,40,196 // movaps %xmm4,%xmm8 .byte 243,65,15,16,100,144,16 // movss 0x10(%r8,%rdx,4),%xmm4 .byte 243,68,15,16,196 // movss %xmm4,%xmm8 .byte 102,65,15,16,60,144 // movupd (%r8,%rdx,4),%xmm7 .byte 102,15,40,239 // movapd %xmm7,%xmm5 .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 102,15,114,229,16 // psrad $0x10,%xmm5 .byte 102,65,15,111,224 // movdqa %xmm8,%xmm4 .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,15,114,228,16 // psrad $0x10,%xmm4 .byte 102,15,107,236 // packssdw %xmm4,%xmm5 .byte 102,68,15,111,13,204,26,0,0 // movdqa 0x1acc(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,111,245 // movdqa %xmm5,%xmm6 .byte 102,65,15,219,241 // pand %xmm9,%xmm6 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,69,15,111,208 // movdqa %xmm8,%xmm10 .byte 102,65,15,114,210,16 // psrld $0x10,%xmm10 .byte 102,15,40,231 // movapd %xmm7,%xmm4 .byte 102,15,114,212,16 // psrld $0x10,%xmm4 .byte 102,15,114,215,24 // psrld $0x18,%xmm7 .byte 102,15,114,247,16 // pslld $0x10,%xmm7 .byte 102,15,114,231,16 // psrad $0x10,%xmm7 .byte 102,65,15,114,208,24 // psrld $0x18,%xmm8 .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 .byte 102,65,15,114,224,16 // psrad $0x10,%xmm8 .byte 102,65,15,107,248 // packssdw %xmm8,%xmm7 .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,15,114,228,16 // psrad $0x10,%xmm4 .byte 102,65,15,114,242,16 // pslld $0x10,%xmm10 .byte 102,65,15,114,226,16 // psrad $0x10,%xmm10 .byte 102,65,15,107,226 // packssdw %xmm10,%xmm4 .byte 102,65,15,219,225 // pand %xmm9,%xmm4 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 247,254 // idiv %esi .byte 255 // (bad) .byte 255,36,255 // jmpq *(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,19 // callq *(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,100,255,255 // jmpq *-0x1(%rdi,%rdi,8) .byte 255,88,255 // lcall *-0x1(%rax) .byte 255 // (bad) .byte 255,67,255 // incl -0x1(%rbx) .byte 255 // (bad) .byte 255,54 // pushq (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_bgra_sse2_lowp .globl _sk_store_bgra_sse2_lowp FUNCTION(_sk_store_bgra_sse2_lowp) _sk_store_bgra_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 102,68,15,111,209 // movdqa %xmm1,%xmm10 .byte 102,65,15,113,242,8 // psllw $0x8,%xmm10 .byte 102,68,15,235,210 // por %xmm2,%xmm10 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,69,15,111,218 // movdqa %xmm10,%xmm11 .byte 102,69,15,97,216 // punpcklwd %xmm8,%xmm11 .byte 102,69,15,105,208 // punpckhwd %xmm8,%xmm10 .byte 102,68,15,111,227 // movdqa %xmm3,%xmm12 .byte 102,65,15,113,244,8 // psllw $0x8,%xmm12 .byte 102,68,15,235,224 // por %xmm0,%xmm12 .byte 102,69,15,239,201 // pxor %xmm9,%xmm9 .byte 102,69,15,97,204 // punpcklwd %xmm12,%xmm9 .byte 102,69,15,235,203 // por %xmm11,%xmm9 .byte 102,69,15,105,196 // punpckhwd %xmm12,%xmm8 .byte 102,69,15,235,194 // por %xmm10,%xmm8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,27 // ja 295df <_sk_store_bgra_sse2_lowp+0x83> .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,98,0,0,0 // lea 0x62(%rip),%r9 # 29630 <_sk_store_bgra_sse2_lowp+0xd4> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,126,12,144 // movd %xmm9,(%r8,%rdx,4) .byte 235,75 // jmp 2962a <_sk_store_bgra_sse2_lowp+0xce> .byte 243,69,15,127,12,144 // movdqu %xmm9,(%r8,%rdx,4) .byte 243,69,15,127,68,144,16 // movdqu %xmm8,0x10(%r8,%rdx,4) .byte 235,60 // jmp 2962a <_sk_store_bgra_sse2_lowp+0xce> .byte 102,69,15,112,193,78 // pshufd $0x4e,%xmm9,%xmm8 .byte 102,69,15,126,68,144,8 // movd %xmm8,0x8(%r8,%rdx,4) .byte 102,69,15,214,12,144 // movq %xmm9,(%r8,%rdx,4) .byte 235,39 // jmp 2962a <_sk_store_bgra_sse2_lowp+0xce> .byte 102,69,15,112,208,78 // pshufd $0x4e,%xmm8,%xmm10 .byte 102,69,15,126,84,144,24 // movd %xmm10,0x18(%r8,%rdx,4) .byte 102,69,15,112,208,229 // pshufd $0xe5,%xmm8,%xmm10 .byte 102,69,15,126,84,144,20 // movd %xmm10,0x14(%r8,%rdx,4) .byte 102,69,15,126,68,144,16 // movd %xmm8,0x10(%r8,%rdx,4) .byte 243,69,15,127,12,144 // movdqu %xmm9,(%r8,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 102,144 // xchg %ax,%ax .byte 167 // cmpsl %es:(%rdi),%ds:(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,203 // dec %ebx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 190,255,255,255,244 // mov $0xf4ffffff,%esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 237 // in (%dx),%eax .byte 255 // (bad) .byte 255 // (bad) .byte 255,224 // jmpq *%rax .byte 255 // (bad) .byte 255 // (bad) .byte 255,211 // callq *%rbx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_565_sse2_lowp .globl _sk_load_565_sse2_lowp FUNCTION(_sk_load_565_sse2_lowp) _sk_load_565_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,34 // ja 29688 <_sk_load_565_sse2_lowp+0x3c> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,188,0,0,0 // lea 0xbc(%rip),%r9 # 29730 <_sk_load_565_sse2_lowp+0xe4> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,80 // movzwl (%r8,%rdx,2),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 235,66 // jmp 296ca <_sk_load_565_sse2_lowp+0x7e> .byte 243,65,15,111,4,80 // movdqu (%r8,%rdx,2),%xmm0 .byte 235,58 // jmp 296ca <_sk_load_565_sse2_lowp+0x7e> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,65,15,196,68,80,4,2 // pinsrw $0x2,0x4(%r8,%rdx,2),%xmm0 .byte 243,65,15,16,12,80 // movss (%r8,%rdx,2),%xmm1 .byte 243,15,16,193 // movss %xmm1,%xmm0 .byte 235,34 // jmp 296ca <_sk_load_565_sse2_lowp+0x7e> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,65,15,196,68,80,12,6 // pinsrw $0x6,0xc(%r8,%rdx,2),%xmm0 .byte 102,65,15,196,68,80,10,5 // pinsrw $0x5,0xa(%r8,%rdx,2),%xmm0 .byte 102,65,15,196,68,80,8,4 // pinsrw $0x4,0x8(%r8,%rdx,2),%xmm0 .byte 102,65,15,18,4,80 // movlpd (%r8,%rdx,2),%xmm0 .byte 102,15,111,216 // movdqa %xmm0,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,219,29,117,32,0,0 // pand 0x2075(%rip),%xmm3 # 2b750 <_sk_srcover_rgba_8888_sse2_lowp+0x117c> .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,113,209,5 // psrlw $0x5,%xmm1 .byte 102,15,219,13,116,32,0,0 // pand 0x2074(%rip),%xmm1 # 2b760 <_sk_srcover_rgba_8888_sse2_lowp+0x118c> .byte 102,15,111,21,124,32,0,0 // movdqa 0x207c(%rip),%xmm2 # 2b770 <_sk_srcover_rgba_8888_sse2_lowp+0x119c> .byte 102,15,219,208 // pand %xmm0,%xmm2 .byte 102,15,113,208,13 // psrlw $0xd,%xmm0 .byte 102,15,235,195 // por %xmm3,%xmm0 .byte 102,15,111,217 // movdqa %xmm1,%xmm3 .byte 102,15,113,243,2 // psllw $0x2,%xmm3 .byte 102,15,113,209,4 // psrlw $0x4,%xmm1 .byte 102,15,235,203 // por %xmm3,%xmm1 .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,15,113,243,3 // psllw $0x3,%xmm3 .byte 102,15,113,210,2 // psrlw $0x2,%xmm2 .byte 102,15,235,211 // por %xmm3,%xmm2 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,114,24,0,0 // movaps 0x1872(%rip),%xmm3 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 255,224 // jmpq *%rax .byte 77,255 // rex.WRB (bad) .byte 255 // (bad) .byte 255,108,255,255 // ljmp *-0x1(%rdi,%rdi,8) .byte 255,96,255 // jmpq *-0x1(%rax) .byte 255 // (bad) .byte 255,148,255,255,255,140,255 // callq *-0x730001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,132,255,255,255,120,255 // incl -0x870001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_565_dst_sse2_lowp .globl _sk_load_565_dst_sse2_lowp FUNCTION(_sk_load_565_dst_sse2_lowp) _sk_load_565_dst_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,34 // ja 29788 <_sk_load_565_dst_sse2_lowp+0x3c> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,188,0,0,0 // lea 0xbc(%rip),%r9 # 29830 <_sk_load_565_dst_sse2_lowp+0xe4> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,80 // movzwl (%r8,%rdx,2),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 235,66 // jmp 297ca <_sk_load_565_dst_sse2_lowp+0x7e> .byte 243,65,15,111,36,80 // movdqu (%r8,%rdx,2),%xmm4 .byte 235,58 // jmp 297ca <_sk_load_565_dst_sse2_lowp+0x7e> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,65,15,196,100,80,4,2 // pinsrw $0x2,0x4(%r8,%rdx,2),%xmm4 .byte 243,65,15,16,44,80 // movss (%r8,%rdx,2),%xmm5 .byte 243,15,16,229 // movss %xmm5,%xmm4 .byte 235,34 // jmp 297ca <_sk_load_565_dst_sse2_lowp+0x7e> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,65,15,196,100,80,12,6 // pinsrw $0x6,0xc(%r8,%rdx,2),%xmm4 .byte 102,65,15,196,100,80,10,5 // pinsrw $0x5,0xa(%r8,%rdx,2),%xmm4 .byte 102,65,15,196,100,80,8,4 // pinsrw $0x4,0x8(%r8,%rdx,2),%xmm4 .byte 102,65,15,18,36,80 // movlpd (%r8,%rdx,2),%xmm4 .byte 102,15,111,252 // movdqa %xmm4,%xmm7 .byte 102,15,113,215,8 // psrlw $0x8,%xmm7 .byte 102,15,219,61,117,31,0,0 // pand 0x1f75(%rip),%xmm7 # 2b750 <_sk_srcover_rgba_8888_sse2_lowp+0x117c> .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,113,213,5 // psrlw $0x5,%xmm5 .byte 102,15,219,45,116,31,0,0 // pand 0x1f74(%rip),%xmm5 # 2b760 <_sk_srcover_rgba_8888_sse2_lowp+0x118c> .byte 102,15,111,53,124,31,0,0 // movdqa 0x1f7c(%rip),%xmm6 # 2b770 <_sk_srcover_rgba_8888_sse2_lowp+0x119c> .byte 102,15,219,244 // pand %xmm4,%xmm6 .byte 102,15,113,212,13 // psrlw $0xd,%xmm4 .byte 102,15,235,231 // por %xmm7,%xmm4 .byte 102,15,111,253 // movdqa %xmm5,%xmm7 .byte 102,15,113,247,2 // psllw $0x2,%xmm7 .byte 102,15,113,213,4 // psrlw $0x4,%xmm5 .byte 102,15,235,239 // por %xmm7,%xmm5 .byte 102,15,111,254 // movdqa %xmm6,%xmm7 .byte 102,15,113,247,3 // psllw $0x3,%xmm7 .byte 102,15,113,214,2 // psrlw $0x2,%xmm6 .byte 102,15,235,247 // por %xmm7,%xmm6 .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,61,114,23,0,0 // movaps 0x1772(%rip),%xmm7 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 255,224 // jmpq *%rax .byte 77,255 // rex.WRB (bad) .byte 255 // (bad) .byte 255,108,255,255 // ljmp *-0x1(%rdi,%rdi,8) .byte 255,96,255 // jmpq *-0x1(%rax) .byte 255 // (bad) .byte 255,148,255,255,255,140,255 // callq *-0x730001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,132,255,255,255,120,255 // incl -0x870001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_565_sse2_lowp .globl _sk_store_565_sse2_lowp FUNCTION(_sk_store_565_sse2_lowp) _sk_store_565_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 102,68,15,111,192 // movdqa %xmm0,%xmm8 .byte 102,65,15,113,240,8 // psllw $0x8,%xmm8 .byte 102,68,15,219,5,16,31,0,0 // pand 0x1f10(%rip),%xmm8 # 2b780 <_sk_srcover_rgba_8888_sse2_lowp+0x11ac> .byte 102,68,15,111,201 // movdqa %xmm1,%xmm9 .byte 102,65,15,113,241,3 // psllw $0x3,%xmm9 .byte 102,68,15,219,13,12,31,0,0 // pand 0x1f0c(%rip),%xmm9 # 2b790 <_sk_srcover_rgba_8888_sse2_lowp+0x11bc> .byte 102,69,15,235,200 // por %xmm8,%xmm9 .byte 102,68,15,111,194 // movdqa %xmm2,%xmm8 .byte 102,65,15,113,208,3 // psrlw $0x3,%xmm8 .byte 102,69,15,235,193 // por %xmm9,%xmm8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,31 // ja 298c2 <_sk_store_565_sse2_lowp+0x76> .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,95,0,0,0 // lea 0x5f(%rip),%r9 # 2990c <_sk_store_565_sse2_lowp+0xc0> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 102,68,15,126,192 // movd %xmm8,%eax .byte 102,65,137,4,80 // mov %ax,(%r8,%rdx,2) .byte 235,70 // jmp 29908 <_sk_store_565_sse2_lowp+0xbc> .byte 243,69,15,127,4,80 // movdqu %xmm8,(%r8,%rdx,2) .byte 235,62 // jmp 29908 <_sk_store_565_sse2_lowp+0xbc> .byte 102,65,15,197,192,2 // pextrw $0x2,%xmm8,%eax .byte 102,65,137,68,80,4 // mov %ax,0x4(%r8,%rdx,2) .byte 102,69,15,126,4,80 // movd %xmm8,(%r8,%rdx,2) .byte 235,42 // jmp 29908 <_sk_store_565_sse2_lowp+0xbc> .byte 102,65,15,197,192,6 // pextrw $0x6,%xmm8,%eax .byte 102,65,137,68,80,12 // mov %ax,0xc(%r8,%rdx,2) .byte 102,65,15,197,192,5 // pextrw $0x5,%xmm8,%eax .byte 102,65,137,68,80,10 // mov %ax,0xa(%r8,%rdx,2) .byte 102,65,15,197,192,4 // pextrw $0x4,%xmm8,%eax .byte 102,65,137,68,80,8 // mov %ax,0x8(%r8,%rdx,2) .byte 102,69,15,214,4,80 // movq %xmm8,(%r8,%rdx,2) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 170 // stos %al,%es:(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,202 // dec %edx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 190,255,255,255,246 // mov $0xf6ffffff,%esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 234 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 222,255 // fdivrp %st,%st(7) .byte 255 // (bad) .byte 255,210 // callq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_a8_sse2_lowp .globl _sk_load_a8_sse2_lowp FUNCTION(_sk_load_a8_sse2_lowp) _sk_load_a8_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,34 // ja 29961 <_sk_load_a8_sse2_lowp+0x39> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,139,0,0,0 // lea 0x8b(%rip),%r9 # 299d8 <_sk_load_a8_sse2_lowp+0xb0> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 102,15,110,216 // movd %eax,%xmm3 .byte 235,97 // jmp 299c2 <_sk_load_a8_sse2_lowp+0x9a> .byte 243,65,15,126,28,16 // movq (%r8,%rdx,1),%xmm3 .byte 102,15,96,216 // punpcklbw %xmm0,%xmm3 .byte 235,85 // jmp 299c2 <_sk_load_a8_sse2_lowp+0x9a> .byte 65,15,182,68,16,2 // movzbl 0x2(%r8,%rdx,1),%eax .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,196,216,2 // pinsrw $0x2,%eax,%xmm3 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 .byte 243,15,16,216 // movss %xmm0,%xmm3 .byte 235,51 // jmp 299c2 <_sk_load_a8_sse2_lowp+0x9a> .byte 65,15,182,68,16,6 // movzbl 0x6(%r8,%rdx,1),%eax .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,196,216,6 // pinsrw $0x6,%eax,%xmm3 .byte 65,15,182,68,16,5 // movzbl 0x5(%r8,%rdx,1),%eax .byte 102,15,196,216,5 // pinsrw $0x5,%eax,%xmm3 .byte 65,15,182,68,16,4 // movzbl 0x4(%r8,%rdx,1),%eax .byte 102,15,196,216,4 // pinsrw $0x4,%eax,%xmm3 .byte 102,65,15,110,4,16 // movd (%r8,%rdx,1),%xmm0 .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 .byte 242,15,16,216 // movsd %xmm0,%xmm3 .byte 102,15,219,29,214,21,0,0 // pand 0x15d6(%rip),%xmm3 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,224 // jmpq *%rax .byte 144 // nop .byte 126,255 // jle 299d9 <_sk_load_a8_sse2_lowp+0xb1> .byte 255 // (bad) .byte 255,164,255,255,255,149,255 // jmpq *-0x6a0001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,209 // callq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255,198 // inc %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 183,255 // mov $0xff,%bh .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_a8_dst_sse2_lowp .globl _sk_load_a8_dst_sse2_lowp FUNCTION(_sk_load_a8_dst_sse2_lowp) _sk_load_a8_dst_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,34 // ja 29a2d <_sk_load_a8_dst_sse2_lowp+0x39> .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,139,0,0,0 // lea 0x8b(%rip),%r9 # 29aa4 <_sk_load_a8_dst_sse2_lowp+0xb0> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 102,15,110,248 // movd %eax,%xmm7 .byte 235,97 // jmp 29a8e <_sk_load_a8_dst_sse2_lowp+0x9a> .byte 243,65,15,126,60,16 // movq (%r8,%rdx,1),%xmm7 .byte 102,15,96,248 // punpcklbw %xmm0,%xmm7 .byte 235,85 // jmp 29a8e <_sk_load_a8_dst_sse2_lowp+0x9a> .byte 65,15,182,68,16,2 // movzbl 0x2(%r8,%rdx,1),%eax .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 102,15,196,248,2 // pinsrw $0x2,%eax,%xmm7 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 243,15,16,252 // movss %xmm4,%xmm7 .byte 235,51 // jmp 29a8e <_sk_load_a8_dst_sse2_lowp+0x9a> .byte 65,15,182,68,16,6 // movzbl 0x6(%r8,%rdx,1),%eax .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 102,15,196,248,6 // pinsrw $0x6,%eax,%xmm7 .byte 65,15,182,68,16,5 // movzbl 0x5(%r8,%rdx,1),%eax .byte 102,15,196,248,5 // pinsrw $0x5,%eax,%xmm7 .byte 65,15,182,68,16,4 // movzbl 0x4(%r8,%rdx,1),%eax .byte 102,15,196,248,4 // pinsrw $0x4,%eax,%xmm7 .byte 102,65,15,110,36,16 // movd (%r8,%rdx,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 242,15,16,252 // movsd %xmm4,%xmm7 .byte 102,15,219,61,10,21,0,0 // pand 0x150a(%rip),%xmm7 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 255,224 // jmpq *%rax .byte 144 // nop .byte 126,255 // jle 29aa5 <_sk_load_a8_dst_sse2_lowp+0xb1> .byte 255 // (bad) .byte 255,164,255,255,255,149,255 // jmpq *-0x6a0001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255 // (bad) .byte 220,255 // fdivr %st,%st(7) .byte 255 // (bad) .byte 255,209 // callq *%rcx .byte 255 // (bad) .byte 255 // (bad) .byte 255,198 // inc %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 183,255 // mov $0xff,%bh .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_store_a8_sse2_lowp .globl _sk_store_a8_sse2_lowp FUNCTION(_sk_store_a8_sse2_lowp) _sk_store_a8_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,29 // ja 29af4 <_sk_store_a8_sse2_lowp+0x34> .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,147,0,0,0 // lea 0x93(%rip),%r9 # 29b74 <_sk_store_a8_sse2_lowp+0xb4> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 102,15,126,216 // movd %xmm3,%eax .byte 65,136,4,16 // mov %al,(%r8,%rdx,1) .byte 235,123 // jmp 29b6f <_sk_store_a8_sse2_lowp+0xaf> .byte 102,68,15,111,5,163,20,0,0 // movdqa 0x14a3(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,68,15,219,195 // pand %xmm3,%xmm8 .byte 102,69,15,103,192 // packuswb %xmm8,%xmm8 .byte 102,69,15,214,4,16 // movq %xmm8,(%r8,%rdx,1) .byte 235,96 // jmp 29b6f <_sk_store_a8_sse2_lowp+0xaf> .byte 102,15,197,195,2 // pextrw $0x2,%xmm3,%eax .byte 65,136,68,16,2 // mov %al,0x2(%r8,%rdx,1) .byte 102,68,15,111,5,126,20,0,0 // movdqa 0x147e(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,68,15,219,195 // pand %xmm3,%xmm8 .byte 102,69,15,103,192 // packuswb %xmm8,%xmm8 .byte 102,68,15,126,192 // movd %xmm8,%eax .byte 102,65,137,4,16 // mov %ax,(%r8,%rdx,1) .byte 235,55 // jmp 29b6f <_sk_store_a8_sse2_lowp+0xaf> .byte 102,15,197,195,6 // pextrw $0x6,%xmm3,%eax .byte 65,136,68,16,6 // mov %al,0x6(%r8,%rdx,1) .byte 102,15,197,195,5 // pextrw $0x5,%xmm3,%eax .byte 65,136,68,16,5 // mov %al,0x5(%r8,%rdx,1) .byte 102,15,197,195,4 // pextrw $0x4,%xmm3,%eax .byte 65,136,68,16,4 // mov %al,0x4(%r8,%rdx,1) .byte 102,68,15,111,5,65,20,0,0 // movdqa 0x1441(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,68,15,219,195 // pand %xmm3,%xmm8 .byte 102,69,15,103,192 // packuswb %xmm8,%xmm8 .byte 102,69,15,126,4,16 // movd %xmm8,(%r8,%rdx,1) .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax .byte 144 // nop .byte 118,255 // jbe 29b75 <_sk_store_a8_sse2_lowp+0xb5> .byte 255 // (bad) .byte 255,165,255,255,255,155 // jmpq *-0x64000001(%rbp) .byte 255 // (bad) .byte 255 // (bad) .byte 255,226 // jmpq *%rdx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 216,255 // fdivr %st(7),%st .byte 255 // (bad) .byte 255,206 // dec %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255,196 // inc %esp .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_g8_sse2_lowp .globl _sk_load_g8_sse2_lowp FUNCTION(_sk_load_g8_sse2_lowp) _sk_load_g8_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,34 // ja 29bc9 <_sk_load_g8_sse2_lowp+0x39> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,147,0,0,0 // lea 0x93(%rip),%r9 # 29c48 <_sk_load_g8_sse2_lowp+0xb8> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 235,97 // jmp 29c2a <_sk_load_g8_sse2_lowp+0x9a> .byte 243,65,15,126,4,16 // movq (%r8,%rdx,1),%xmm0 .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 .byte 235,85 // jmp 29c2a <_sk_load_g8_sse2_lowp+0x9a> .byte 65,15,182,68,16,2 // movzbl 0x2(%r8,%rdx,1),%eax .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,196,192,2 // pinsrw $0x2,%eax,%xmm0 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 102,15,110,200 // movd %eax,%xmm1 .byte 102,15,96,200 // punpcklbw %xmm0,%xmm1 .byte 243,15,16,193 // movss %xmm1,%xmm0 .byte 235,51 // jmp 29c2a <_sk_load_g8_sse2_lowp+0x9a> .byte 65,15,182,68,16,6 // movzbl 0x6(%r8,%rdx,1),%eax .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,196,192,6 // pinsrw $0x6,%eax,%xmm0 .byte 65,15,182,68,16,5 // movzbl 0x5(%r8,%rdx,1),%eax .byte 102,15,196,192,5 // pinsrw $0x5,%eax,%xmm0 .byte 65,15,182,68,16,4 // movzbl 0x4(%r8,%rdx,1),%eax .byte 102,15,196,192,4 // pinsrw $0x4,%eax,%xmm0 .byte 102,65,15,110,12,16 // movd (%r8,%rdx,1),%xmm1 .byte 102,15,96,200 // punpcklbw %xmm0,%xmm1 .byte 242,15,16,193 // movsd %xmm1,%xmm0 .byte 102,15,219,5,110,19,0,0 // pand 0x136e(%rip),%xmm0 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,29,101,19,0,0 // movaps 0x1365(%rip),%xmm3 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 118,255 // jbe 29c49 <_sk_load_g8_sse2_lowp+0xb9> .byte 255 // (bad) .byte 255,156,255,255,255,141,255 // lcall *-0x720001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,212 // callq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255,201 // dec %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 190,255,255,255,175 // mov $0xafffffff,%esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_load_g8_dst_sse2_lowp .globl _sk_load_g8_dst_sse2_lowp FUNCTION(_sk_load_g8_dst_sse2_lowp) _sk_load_g8_dst_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,34 // ja 29c9d <_sk_load_g8_dst_sse2_lowp+0x39> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,147,0,0,0 // lea 0x93(%rip),%r9 # 29d1c <_sk_load_g8_dst_sse2_lowp+0xb8> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 102,15,110,224 // movd %eax,%xmm4 .byte 235,97 // jmp 29cfe <_sk_load_g8_dst_sse2_lowp+0x9a> .byte 243,65,15,126,36,16 // movq (%r8,%rdx,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 235,85 // jmp 29cfe <_sk_load_g8_dst_sse2_lowp+0x9a> .byte 65,15,182,68,16,2 // movzbl 0x2(%r8,%rdx,1),%eax .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,196,224,2 // pinsrw $0x2,%eax,%xmm4 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 102,15,110,232 // movd %eax,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 243,15,16,229 // movss %xmm5,%xmm4 .byte 235,51 // jmp 29cfe <_sk_load_g8_dst_sse2_lowp+0x9a> .byte 65,15,182,68,16,6 // movzbl 0x6(%r8,%rdx,1),%eax .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,196,224,6 // pinsrw $0x6,%eax,%xmm4 .byte 65,15,182,68,16,5 // movzbl 0x5(%r8,%rdx,1),%eax .byte 102,15,196,224,5 // pinsrw $0x5,%eax,%xmm4 .byte 65,15,182,68,16,4 // movzbl 0x4(%r8,%rdx,1),%eax .byte 102,15,196,224,4 // pinsrw $0x4,%eax,%xmm4 .byte 102,65,15,110,44,16 // movd (%r8,%rdx,1),%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 102,15,219,37,154,18,0,0 // pand 0x129a(%rip),%xmm4 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 72,173 // lods %ds:(%rsi),%rax .byte 15,40,61,145,18,0,0 // movaps 0x1291(%rip),%xmm7 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 118,255 // jbe 29d1d <_sk_load_g8_dst_sse2_lowp+0xb9> .byte 255 // (bad) .byte 255,156,255,255,255,141,255 // lcall *-0x720001(%rdi,%rdi,8) .byte 255 // (bad) .byte 255,212 // callq *%rsp .byte 255 // (bad) .byte 255 // (bad) .byte 255,201 // dec %ecx .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 190,255,255,255,175 // mov $0xafffffff,%esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_luminance_to_alpha_sse2_lowp .globl _sk_luminance_to_alpha_sse2_lowp FUNCTION(_sk_luminance_to_alpha_sse2_lowp) _sk_luminance_to_alpha_sse2_lowp: .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,15,213,5,92,26,0,0 // pmullw 0x1a5c(%rip),%xmm0 # 2b7a0 <_sk_srcover_rgba_8888_sse2_lowp+0x11cc> .byte 102,15,213,13,100,26,0,0 // pmullw 0x1a64(%rip),%xmm1 # 2b7b0 <_sk_srcover_rgba_8888_sse2_lowp+0x11dc> .byte 102,15,253,200 // paddw %xmm0,%xmm1 .byte 102,15,213,29,104,26,0,0 // pmullw 0x1a68(%rip),%xmm3 # 2b7c0 <_sk_srcover_rgba_8888_sse2_lowp+0x11ec> .byte 102,15,253,217 // paddw %xmm1,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_1_float_sse2_lowp .globl _sk_scale_1_float_sse2_lowp FUNCTION(_sk_scale_1_float_sse2_lowp) _sk_scale_1_float_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 243,68,15,89,5,179,16,0,0 // mulss 0x10b3(%rip),%xmm8 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .byte 243,68,15,88,5,122,16,0,0 // addss 0x107a(%rip),%xmm8 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 243,65,15,44,192 // cvttss2si %xmm8,%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 242,69,15,112,192,0 // pshuflw $0x0,%xmm8,%xmm8 .byte 102,69,15,112,192,80 // pshufd $0x50,%xmm8,%xmm8 .byte 102,65,15,213,192 // pmullw %xmm8,%xmm0 .byte 102,68,15,111,13,242,17,0,0 // movdqa 0x11f2(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,65,15,213,200 // pmullw %xmm8,%xmm1 .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,65,15,213,208 // pmullw %xmm8,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,65,15,213,216 // pmullw %xmm8,%xmm3 .byte 102,65,15,253,217 // paddw %xmm9,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_lerp_1_float_sse2_lowp .globl _sk_lerp_1_float_sse2_lowp FUNCTION(_sk_lerp_1_float_sse2_lowp) _sk_lerp_1_float_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 243,68,15,16,0 // movss (%rax),%xmm8 .byte 243,68,15,89,5,59,16,0,0 // mulss 0x103b(%rip),%xmm8 # 2ae34 <_sk_srcover_rgba_8888_sse2_lowp+0x860> .byte 243,68,15,88,5,2,16,0,0 // addss 0x1002(%rip),%xmm8 # 2ae04 <_sk_srcover_rgba_8888_sse2_lowp+0x830> .byte 243,65,15,44,192 // cvttss2si %xmm8,%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 242,69,15,112,192,0 // pshuflw $0x0,%xmm8,%xmm8 .byte 102,69,15,112,192,80 // pshufd $0x50,%xmm8,%xmm8 .byte 102,68,15,111,13,127,17,0,0 // movdqa 0x117f(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,213,192 // pmullw %xmm8,%xmm0 .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,65,15,213,200 // pmullw %xmm8,%xmm1 .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,65,15,213,208 // pmullw %xmm8,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,65,15,213,216 // pmullw %xmm8,%xmm3 .byte 102,65,15,253,217 // paddw %xmm9,%xmm3 .byte 102,69,15,249,200 // psubw %xmm8,%xmm9 .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,68,15,213,196 // pmullw %xmm4,%xmm8 .byte 102,65,15,253,192 // paddw %xmm8,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,68,15,213,197 // pmullw %xmm5,%xmm8 .byte 102,65,15,253,200 // paddw %xmm8,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,69,15,111,193 // movdqa %xmm9,%xmm8 .byte 102,68,15,213,198 // pmullw %xmm6,%xmm8 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,68,15,213,207 // pmullw %xmm7,%xmm9 .byte 102,65,15,253,217 // paddw %xmm9,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 72,173 // lods %ds:(%rsi),%rax .byte 255,224 // jmpq *%rax HIDDEN _sk_scale_u8_sse2_lowp .globl _sk_scale_u8_sse2_lowp FUNCTION(_sk_scale_u8_sse2_lowp) _sk_scale_u8_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,36 // ja 29ed8 <_sk_scale_u8_sse2_lowp+0x3b> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,221,0,0,0 // lea 0xdd(%rip),%r9 # 29fa0 <_sk_scale_u8_sse2_lowp+0x103> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 235,109 // jmp 29f45 <_sk_scale_u8_sse2_lowp+0xa8> .byte 243,69,15,126,4,16 // movq (%r8,%rdx,1),%xmm8 .byte 102,68,15,96,192 // punpcklbw %xmm0,%xmm8 .byte 235,96 // jmp 29f45 <_sk_scale_u8_sse2_lowp+0xa8> .byte 65,15,182,68,16,2 // movzbl 0x2(%r8,%rdx,1),%eax .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,68,15,196,192,2 // pinsrw $0x2,%eax,%xmm8 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 102,68,15,110,200 // movd %eax,%xmm9 .byte 102,68,15,96,200 // punpcklbw %xmm0,%xmm9 .byte 243,69,15,16,193 // movss %xmm9,%xmm8 .byte 235,57 // jmp 29f45 <_sk_scale_u8_sse2_lowp+0xa8> .byte 65,15,182,68,16,6 // movzbl 0x6(%r8,%rdx,1),%eax .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,68,15,196,192,6 // pinsrw $0x6,%eax,%xmm8 .byte 65,15,182,68,16,5 // movzbl 0x5(%r8,%rdx,1),%eax .byte 102,68,15,196,192,5 // pinsrw $0x5,%eax,%xmm8 .byte 65,15,182,68,16,4 // movzbl 0x4(%r8,%rdx,1),%eax .byte 102,68,15,196,192,4 // pinsrw $0x4,%eax,%xmm8 .byte 102,69,15,110,12,16 // movd (%r8,%rdx,1),%xmm9 .byte 102,68,15,96,200 // punpcklbw %xmm0,%xmm9 .byte 242,69,15,16,193 // movsd %xmm9,%xmm8 .byte 102,68,15,219,5,82,16,0,0 // pand 0x1052(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,213,192 // pmullw %xmm8,%xmm0 .byte 102,68,15,111,13,68,16,0,0 // movdqa 0x1044(%rip),%xmm9 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,253,193 // paddw %xmm9,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,65,15,213,200 // pmullw %xmm8,%xmm1 .byte 102,65,15,253,201 // paddw %xmm9,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,65,15,213,208 // pmullw %xmm8,%xmm2 .byte 102,65,15,253,209 // paddw %xmm9,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,68,15,213,195 // pmullw %xmm3,%xmm8 .byte 102,69,15,253,193 // paddw %xmm9,%xmm8 .byte 102,65,15,113,208,8 // psrlw $0x8,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,216 // movdqa %xmm8,%xmm3 .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 44,255 // sub $0xff,%al .byte 255 // (bad) .byte 255,86,255 // callq *-0x1(%rsi) .byte 255 // (bad) .byte 255,69,255 // incl -0x1(%rbp) .byte 255 // (bad) .byte 255,149,255,255,255,137 // callq *-0x76000001(%rbp) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 125,255 // jge 29fb5 <_sk_scale_u8_sse2_lowp+0x118> .byte 255 // (bad) .byte 255,108,255,255 // ljmp *-0x1(%rdi,%rdi,8) .byte 255 // .byte 0xff HIDDEN _sk_lerp_u8_sse2_lowp .globl _sk_lerp_u8_sse2_lowp FUNCTION(_sk_lerp_u8_sse2_lowp) _sk_lerp_u8_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,36 // ja 29ff7 <_sk_lerp_u8_sse2_lowp+0x3b> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,30,1,0,0 // lea 0x11e(%rip),%r9 # 2a100 <_sk_lerp_u8_sse2_lowp+0x144> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,182,4,16 // movzbl (%r8,%rdx,1),%eax .byte 102,68,15,110,192 // movd %eax,%xmm8 .byte 235,109 // jmp 2a064 <_sk_lerp_u8_sse2_lowp+0xa8> .byte 243,69,15,126,4,16 // movq (%r8,%rdx,1),%xmm8 .byte 102,68,15,96,192 // punpcklbw %xmm0,%xmm8 .byte 235,96 // jmp 2a064 <_sk_lerp_u8_sse2_lowp+0xa8> .byte 65,15,182,68,16,2 // movzbl 0x2(%r8,%rdx,1),%eax .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,68,15,196,192,2 // pinsrw $0x2,%eax,%xmm8 .byte 65,15,183,4,16 // movzwl (%r8,%rdx,1),%eax .byte 102,68,15,110,200 // movd %eax,%xmm9 .byte 102,68,15,96,200 // punpcklbw %xmm0,%xmm9 .byte 243,69,15,16,193 // movss %xmm9,%xmm8 .byte 235,57 // jmp 2a064 <_sk_lerp_u8_sse2_lowp+0xa8> .byte 65,15,182,68,16,6 // movzbl 0x6(%r8,%rdx,1),%eax .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 102,68,15,196,192,6 // pinsrw $0x6,%eax,%xmm8 .byte 65,15,182,68,16,5 // movzbl 0x5(%r8,%rdx,1),%eax .byte 102,68,15,196,192,5 // pinsrw $0x5,%eax,%xmm8 .byte 65,15,182,68,16,4 // movzbl 0x4(%r8,%rdx,1),%eax .byte 102,68,15,196,192,4 // pinsrw $0x4,%eax,%xmm8 .byte 102,69,15,110,12,16 // movd (%r8,%rdx,1),%xmm9 .byte 102,68,15,96,200 // punpcklbw %xmm0,%xmm9 .byte 242,69,15,16,193 // movsd %xmm9,%xmm8 .byte 102,68,15,219,5,51,15,0,0 // pand 0xf33(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,68,15,111,21,42,15,0,0 // movdqa 0xf2a(%rip),%xmm10 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,69,15,239,202 // pxor %xmm10,%xmm9 .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .byte 102,68,15,213,220 // pmullw %xmm4,%xmm11 .byte 102,65,15,213,192 // pmullw %xmm8,%xmm0 .byte 102,65,15,253,194 // paddw %xmm10,%xmm0 .byte 102,65,15,253,195 // paddw %xmm11,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .byte 102,68,15,213,221 // pmullw %xmm5,%xmm11 .byte 102,65,15,213,200 // pmullw %xmm8,%xmm1 .byte 102,65,15,253,202 // paddw %xmm10,%xmm1 .byte 102,65,15,253,203 // paddw %xmm11,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .byte 102,68,15,213,222 // pmullw %xmm6,%xmm11 .byte 102,65,15,213,208 // pmullw %xmm8,%xmm2 .byte 102,65,15,253,210 // paddw %xmm10,%xmm2 .byte 102,65,15,253,211 // paddw %xmm11,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,68,15,213,207 // pmullw %xmm7,%xmm9 .byte 102,68,15,213,195 // pmullw %xmm3,%xmm8 .byte 102,69,15,253,194 // paddw %xmm10,%xmm8 .byte 102,69,15,253,193 // paddw %xmm9,%xmm8 .byte 102,65,15,113,208,8 // psrlw $0x8,%xmm8 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,216 // movdqa %xmm8,%xmm3 .byte 255,224 // jmpq *%rax .byte 15,31,0 // nopl (%rax) .byte 235,254 // jmp 2a100 <_sk_lerp_u8_sse2_lowp+0x144> .byte 255 // (bad) .byte 255,21,255,255,255,4 // callq *0x4ffffff(%rip) # 502a108 <_sk_srcover_rgba_8888_sse2_lowp+0x4fffb34> .byte 255 // (bad) .byte 255 // (bad) .byte 255,84,255,255 // callq *-0x1(%rdi,%rdi,8) .byte 255,72,255 // decl -0x1(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 60,255 // cmp $0xff,%al .byte 255 // (bad) .byte 255,43 // ljmp *(%rbx) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_scale_565_sse2_lowp .globl _sk_scale_565_sse2_lowp FUNCTION(_sk_scale_565_sse2_lowp) _sk_scale_565_sse2_lowp: .byte 102,15,127,116,36,232 // movdqa %xmm6,-0x18(%rsp) .byte 15,41,108,36,216 // movaps %xmm5,-0x28(%rsp) .byte 102,15,111,232 // movdqa %xmm0,%xmm5 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,34 // ja 2a167 <_sk_scale_565_sse2_lowp+0x4b> .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,229,1,0,0 // lea 0x1e5(%rip),%r9 # 2a338 <_sk_scale_565_sse2_lowp+0x21c> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,80 // movzwl (%r8,%rdx,2),%eax .byte 102,15,110,240 // movd %eax,%xmm6 .byte 235,67 // jmp 2a1aa <_sk_scale_565_sse2_lowp+0x8e> .byte 243,65,15,111,52,80 // movdqu (%r8,%rdx,2),%xmm6 .byte 235,59 // jmp 2a1aa <_sk_scale_565_sse2_lowp+0x8e> .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 102,65,15,196,116,80,4,2 // pinsrw $0x2,0x4(%r8,%rdx,2),%xmm6 .byte 243,69,15,16,12,80 // movss (%r8,%rdx,2),%xmm9 .byte 243,65,15,16,241 // movss %xmm9,%xmm6 .byte 235,34 // jmp 2a1aa <_sk_scale_565_sse2_lowp+0x8e> .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 102,65,15,196,116,80,12,6 // pinsrw $0x6,0xc(%r8,%rdx,2),%xmm6 .byte 102,65,15,196,116,80,10,5 // pinsrw $0x5,0xa(%r8,%rdx,2),%xmm6 .byte 102,65,15,196,116,80,8,4 // pinsrw $0x4,0x8(%r8,%rdx,2),%xmm6 .byte 102,65,15,18,52,80 // movlpd (%r8,%rdx,2),%xmm6 .byte 102,68,15,111,222 // movdqa %xmm6,%xmm11 .byte 102,65,15,113,211,8 // psrlw $0x8,%xmm11 .byte 102,68,15,219,29,146,21,0,0 // pand 0x1592(%rip),%xmm11 # 2b750 <_sk_srcover_rgba_8888_sse2_lowp+0x117c> .byte 102,68,15,111,206 // movdqa %xmm6,%xmm9 .byte 102,65,15,113,209,5 // psrlw $0x5,%xmm9 .byte 102,68,15,219,13,142,21,0,0 // pand 0x158e(%rip),%xmm9 # 2b760 <_sk_srcover_rgba_8888_sse2_lowp+0x118c> .byte 102,68,15,111,21,149,21,0,0 // movdqa 0x1595(%rip),%xmm10 # 2b770 <_sk_srcover_rgba_8888_sse2_lowp+0x119c> .byte 102,68,15,219,214 // pand %xmm6,%xmm10 .byte 102,15,113,214,13 // psrlw $0xd,%xmm6 .byte 102,65,15,235,243 // por %xmm11,%xmm6 .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .byte 102,65,15,113,243,2 // psllw $0x2,%xmm11 .byte 102,65,15,113,209,4 // psrlw $0x4,%xmm9 .byte 102,69,15,235,203 // por %xmm11,%xmm9 .byte 102,69,15,111,218 // movdqa %xmm10,%xmm11 .byte 102,65,15,113,243,3 // psllw $0x3,%xmm11 .byte 102,65,15,113,210,2 // psrlw $0x2,%xmm10 .byte 102,69,15,235,211 // por %xmm11,%xmm10 .byte 102,68,15,111,37,241,20,0,0 // movdqa 0x14f1(%rip),%xmm12 # 2b710 <_sk_srcover_rgba_8888_sse2_lowp+0x113c> .byte 102,68,15,111,235 // movdqa %xmm3,%xmm13 .byte 102,69,15,239,236 // pxor %xmm12,%xmm13 .byte 102,68,15,111,223 // movdqa %xmm7,%xmm11 .byte 102,69,15,239,220 // pxor %xmm12,%xmm11 .byte 102,69,15,101,221 // pcmpgtw %xmm13,%xmm11 .byte 102,69,15,111,234 // movdqa %xmm10,%xmm13 .byte 102,69,15,239,236 // pxor %xmm12,%xmm13 .byte 102,69,15,111,241 // movdqa %xmm9,%xmm14 .byte 102,69,15,239,244 // pxor %xmm12,%xmm14 .byte 102,69,15,101,238 // pcmpgtw %xmm14,%xmm13 .byte 102,69,15,111,245 // movdqa %xmm13,%xmm14 .byte 102,69,15,223,242 // pandn %xmm10,%xmm14 .byte 102,69,15,111,249 // movdqa %xmm9,%xmm15 .byte 102,69,15,219,253 // pand %xmm13,%xmm15 .byte 102,69,15,235,254 // por %xmm14,%xmm15 .byte 102,69,15,111,247 // movdqa %xmm15,%xmm14 .byte 102,69,15,239,244 // pxor %xmm12,%xmm14 .byte 102,68,15,111,198 // movdqa %xmm6,%xmm8 .byte 102,69,15,235,196 // por %xmm12,%xmm8 .byte 102,69,15,101,240 // pcmpgtw %xmm8,%xmm14 .byte 102,15,111,198 // movdqa %xmm6,%xmm0 .byte 102,65,15,219,198 // pand %xmm14,%xmm0 .byte 102,69,15,223,247 // pandn %xmm15,%xmm14 .byte 102,68,15,235,240 // por %xmm0,%xmm14 .byte 102,65,15,111,194 // movdqa %xmm10,%xmm0 .byte 102,65,15,219,197 // pand %xmm13,%xmm0 .byte 102,69,15,223,233 // pandn %xmm9,%xmm13 .byte 102,68,15,235,232 // por %xmm0,%xmm13 .byte 102,69,15,239,229 // pxor %xmm13,%xmm12 .byte 102,69,15,101,224 // pcmpgtw %xmm8,%xmm12 .byte 102,69,15,219,236 // pand %xmm12,%xmm13 .byte 102,68,15,223,230 // pandn %xmm6,%xmm12 .byte 102,69,15,235,229 // por %xmm13,%xmm12 .byte 102,69,15,219,243 // pand %xmm11,%xmm14 .byte 102,69,15,223,220 // pandn %xmm12,%xmm11 .byte 102,69,15,235,222 // por %xmm14,%xmm11 .byte 102,15,213,245 // pmullw %xmm5,%xmm6 .byte 102,68,15,213,201 // pmullw %xmm1,%xmm9 .byte 102,68,15,213,210 // pmullw %xmm2,%xmm10 .byte 102,68,15,213,219 // pmullw %xmm3,%xmm11 .byte 102,15,111,5,179,12,0,0 // movdqa 0xcb3(%rip),%xmm0 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,253,240 // paddw %xmm0,%xmm6 .byte 102,68,15,253,200 // paddw %xmm0,%xmm9 .byte 102,68,15,253,208 // paddw %xmm0,%xmm10 .byte 102,68,15,253,216 // paddw %xmm0,%xmm11 .byte 102,15,113,214,8 // psrlw $0x8,%xmm6 .byte 102,65,15,113,209,8 // psrlw $0x8,%xmm9 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,65,15,113,211,8 // psrlw $0x8,%xmm11 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,15,111,198 // movdqa %xmm6,%xmm0 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,65,15,111,210 // movdqa %xmm10,%xmm2 .byte 102,65,15,111,219 // movdqa %xmm11,%xmm3 .byte 15,40,108,36,216 // movaps -0x28(%rsp),%xmm5 .byte 15,40,116,36,232 // movaps -0x18(%rsp),%xmm6 .byte 255,224 // jmpq *%rax .byte 36,254 // and $0xfe,%al .byte 255 // (bad) .byte 255,67,254 // incl -0x2(%rbx) .byte 255 // (bad) .byte 255,55 // pushq (%rdi) .byte 254 // (bad) .byte 255 // (bad) .byte 255,108,254,255 // ljmp *-0x1(%rsi,%rdi,8) .byte 255,100,254,255 // jmpq *-0x1(%rsi,%rdi,8) .byte 255,92,254,255 // lcall *-0x1(%rsi,%rdi,8) .byte 255,80,254 // callq *-0x2(%rax) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_lerp_565_sse2_lowp .globl _sk_lerp_565_sse2_lowp FUNCTION(_sk_lerp_565_sse2_lowp) _sk_lerp_565_sse2_lowp: .byte 102,15,127,84,36,232 // movdqa %xmm2,-0x18(%rsp) .byte 15,41,76,36,216 // movaps %xmm1,-0x28(%rsp) .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 77,1,192 // add %r8,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 137,248 // mov %edi,%eax .byte 36,7 // and $0x7,%al .byte 254,200 // dec %al .byte 60,6 // cmp $0x6,%al .byte 119,34 // ja 2a39f <_sk_lerp_565_sse2_lowp+0x4b> .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 15,182,192 // movzbl %al,%eax .byte 76,141,13,45,2,0,0 // lea 0x22d(%rip),%r9 # 2a5b8 <_sk_lerp_565_sse2_lowp+0x264> .byte 73,99,4,129 // movslq (%r9,%rax,4),%rax .byte 76,1,200 // add %r9,%rax .byte 255,224 // jmpq *%rax .byte 65,15,183,4,80 // movzwl (%r8,%rdx,2),%eax .byte 102,15,110,208 // movd %eax,%xmm2 .byte 235,67 // jmp 2a3e2 <_sk_lerp_565_sse2_lowp+0x8e> .byte 243,65,15,111,20,80 // movdqu (%r8,%rdx,2),%xmm2 .byte 235,59 // jmp 2a3e2 <_sk_lerp_565_sse2_lowp+0x8e> .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 102,65,15,196,84,80,4,2 // pinsrw $0x2,0x4(%r8,%rdx,2),%xmm2 .byte 243,69,15,16,12,80 // movss (%r8,%rdx,2),%xmm9 .byte 243,65,15,16,209 // movss %xmm9,%xmm2 .byte 235,34 // jmp 2a3e2 <_sk_lerp_565_sse2_lowp+0x8e> .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 102,65,15,196,84,80,12,6 // pinsrw $0x6,0xc(%r8,%rdx,2),%xmm2 .byte 102,65,15,196,84,80,10,5 // pinsrw $0x5,0xa(%r8,%rdx,2),%xmm2 .byte 102,65,15,196,84,80,8,4 // pinsrw $0x4,0x8(%r8,%rdx,2),%xmm2 .byte 102,65,15,18,20,80 // movlpd (%r8,%rdx,2),%xmm2 .byte 102,68,15,111,218 // movdqa %xmm2,%xmm11 .byte 102,65,15,113,211,8 // psrlw $0x8,%xmm11 .byte 102,68,15,219,29,90,19,0,0 // pand 0x135a(%rip),%xmm11 # 2b750 <_sk_srcover_rgba_8888_sse2_lowp+0x117c> .byte 102,68,15,111,202 // movdqa %xmm2,%xmm9 .byte 102,65,15,113,209,5 // psrlw $0x5,%xmm9 .byte 102,68,15,219,13,86,19,0,0 // pand 0x1356(%rip),%xmm9 # 2b760 <_sk_srcover_rgba_8888_sse2_lowp+0x118c> .byte 102,68,15,111,21,93,19,0,0 // movdqa 0x135d(%rip),%xmm10 # 2b770 <_sk_srcover_rgba_8888_sse2_lowp+0x119c> .byte 102,68,15,219,210 // pand %xmm2,%xmm10 .byte 102,15,113,210,13 // psrlw $0xd,%xmm2 .byte 102,65,15,235,211 // por %xmm11,%xmm2 .byte 102,69,15,111,217 // movdqa %xmm9,%xmm11 .byte 102,65,15,113,243,2 // psllw $0x2,%xmm11 .byte 102,65,15,113,209,4 // psrlw $0x4,%xmm9 .byte 102,69,15,235,203 // por %xmm11,%xmm9 .byte 102,69,15,111,218 // movdqa %xmm10,%xmm11 .byte 102,65,15,113,243,3 // psllw $0x3,%xmm11 .byte 102,65,15,113,210,2 // psrlw $0x2,%xmm10 .byte 102,69,15,235,211 // por %xmm11,%xmm10 .byte 102,68,15,111,37,185,18,0,0 // movdqa 0x12b9(%rip),%xmm12 # 2b710 <_sk_srcover_rgba_8888_sse2_lowp+0x113c> .byte 102,68,15,111,235 // movdqa %xmm3,%xmm13 .byte 102,69,15,239,236 // pxor %xmm12,%xmm13 .byte 102,68,15,111,223 // movdqa %xmm7,%xmm11 .byte 102,69,15,239,220 // pxor %xmm12,%xmm11 .byte 102,69,15,101,221 // pcmpgtw %xmm13,%xmm11 .byte 102,69,15,111,234 // movdqa %xmm10,%xmm13 .byte 102,69,15,239,236 // pxor %xmm12,%xmm13 .byte 102,69,15,111,241 // movdqa %xmm9,%xmm14 .byte 102,69,15,239,244 // pxor %xmm12,%xmm14 .byte 102,69,15,101,238 // pcmpgtw %xmm14,%xmm13 .byte 102,69,15,111,245 // movdqa %xmm13,%xmm14 .byte 102,69,15,223,242 // pandn %xmm10,%xmm14 .byte 102,69,15,111,249 // movdqa %xmm9,%xmm15 .byte 102,69,15,219,253 // pand %xmm13,%xmm15 .byte 102,69,15,235,254 // por %xmm14,%xmm15 .byte 102,69,15,111,247 // movdqa %xmm15,%xmm14 .byte 102,69,15,239,244 // pxor %xmm12,%xmm14 .byte 102,68,15,111,194 // movdqa %xmm2,%xmm8 .byte 102,69,15,235,196 // por %xmm12,%xmm8 .byte 102,69,15,101,240 // pcmpgtw %xmm8,%xmm14 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,65,15,219,198 // pand %xmm14,%xmm0 .byte 102,69,15,223,247 // pandn %xmm15,%xmm14 .byte 102,68,15,235,240 // por %xmm0,%xmm14 .byte 102,65,15,111,194 // movdqa %xmm10,%xmm0 .byte 102,65,15,219,197 // pand %xmm13,%xmm0 .byte 102,69,15,223,233 // pandn %xmm9,%xmm13 .byte 102,68,15,235,232 // por %xmm0,%xmm13 .byte 102,69,15,239,229 // pxor %xmm13,%xmm12 .byte 102,69,15,101,224 // pcmpgtw %xmm8,%xmm12 .byte 102,69,15,219,236 // pand %xmm12,%xmm13 .byte 102,68,15,223,226 // pandn %xmm2,%xmm12 .byte 102,69,15,235,229 // por %xmm13,%xmm12 .byte 102,69,15,219,243 // pand %xmm11,%xmm14 .byte 102,69,15,223,220 // pandn %xmm12,%xmm11 .byte 102,69,15,235,222 // por %xmm14,%xmm11 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,213,209 // pmullw %xmm1,%xmm2 .byte 102,68,15,111,5,133,10,0,0 // movdqa 0xa85(%rip),%xmm8 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,65,15,239,192 // pxor %xmm8,%xmm0 .byte 102,15,213,196 // pmullw %xmm4,%xmm0 .byte 102,65,15,253,208 // paddw %xmm8,%xmm2 .byte 102,15,253,208 // paddw %xmm0,%xmm2 .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,68,15,213,76,36,216 // pmullw -0x28(%rsp),%xmm9 .byte 102,65,15,239,192 // pxor %xmm8,%xmm0 .byte 102,15,213,197 // pmullw %xmm5,%xmm0 .byte 102,69,15,253,200 // paddw %xmm8,%xmm9 .byte 102,68,15,253,200 // paddw %xmm0,%xmm9 .byte 102,65,15,111,194 // movdqa %xmm10,%xmm0 .byte 102,68,15,213,84,36,232 // pmullw -0x18(%rsp),%xmm10 .byte 102,65,15,239,192 // pxor %xmm8,%xmm0 .byte 102,15,213,198 // pmullw %xmm6,%xmm0 .byte 102,69,15,253,208 // paddw %xmm8,%xmm10 .byte 102,68,15,253,208 // paddw %xmm0,%xmm10 .byte 102,65,15,111,195 // movdqa %xmm11,%xmm0 .byte 102,68,15,213,219 // pmullw %xmm3,%xmm11 .byte 102,65,15,239,192 // pxor %xmm8,%xmm0 .byte 102,69,15,253,216 // paddw %xmm8,%xmm11 .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,68,15,253,216 // paddw %xmm0,%xmm11 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,65,15,113,209,8 // psrlw $0x8,%xmm9 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,65,15,113,211,8 // psrlw $0x8,%xmm11 .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,65,15,111,201 // movdqa %xmm9,%xmm1 .byte 102,65,15,111,210 // movdqa %xmm10,%xmm2 .byte 102,65,15,111,219 // movdqa %xmm11,%xmm3 .byte 255,224 // jmpq *%rax .byte 102,144 // xchg %ax,%ax .byte 220,253 // fdivr %st,%st(5) .byte 255 // (bad) .byte 255 // (bad) .byte 251 // sti .byte 253 // std .byte 255 // (bad) .byte 255 // (bad) .byte 239 // out %eax,(%dx) .byte 253 // std .byte 255 // (bad) .byte 255,36,254 // jmpq *(%rsi,%rdi,8) .byte 255 // (bad) .byte 255,28,254 // lcall *(%rsi,%rdi,8) .byte 255 // (bad) .byte 255,20,254 // callq *(%rsi,%rdi,8) .byte 255 // (bad) .byte 255,8 // decl (%rax) .byte 254 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff HIDDEN _sk_srcover_rgba_8888_sse2_lowp .globl _sk_srcover_rgba_8888_sse2_lowp FUNCTION(_sk_srcover_rgba_8888_sse2_lowp) _sk_srcover_rgba_8888_sse2_lowp: .byte 72,173 // lods %ds:(%rsi),%rax .byte 76,99,64,8 // movslq 0x8(%rax),%r8 .byte 76,15,175,193 // imul %rcx,%r8 .byte 73,193,224,2 // shl $0x2,%r8 .byte 76,3,0 // add (%rax),%r8 .byte 65,137,250 // mov %edi,%r10d .byte 65,128,226,7 // and $0x7,%r10b .byte 65,254,202 // dec %r10b .byte 69,15,182,202 // movzbl %r10b,%r9d .byte 65,128,249,6 // cmp $0x6,%r9b .byte 119,38 // ja 2a61f <_sk_srcover_rgba_8888_sse2_lowp+0x4b> .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 76,141,29,67,2,0,0 // lea 0x243(%rip),%r11 # 2a848 <_sk_srcover_rgba_8888_sse2_lowp+0x274> .byte 75,99,4,139 // movslq (%r11,%r9,4),%rax .byte 76,1,216 // add %r11,%rax .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 255,224 // jmpq *%rax .byte 243,65,15,16,60,144 // movss (%r8,%rdx,4),%xmm7 .byte 102,69,15,239,192 // pxor %xmm8,%xmm8 .byte 235,102 // jmp 2a685 <_sk_srcover_rgba_8888_sse2_lowp+0xb1> .byte 102,65,15,16,60,144 // movupd (%r8,%rdx,4),%xmm7 .byte 243,69,15,111,68,144,16 // movdqu 0x10(%r8,%rdx,4),%xmm8 .byte 235,87 // jmp 2a685 <_sk_srcover_rgba_8888_sse2_lowp+0xb1> .byte 102,65,15,110,100,144,8 // movd 0x8(%r8,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,69,15,18,4,144 // movlpd (%r8,%rdx,4),%xmm8 .byte 102,65,15,40,248 // movapd %xmm8,%xmm7 .byte 102,68,15,111,196 // movdqa %xmm4,%xmm8 .byte 235,52 // jmp 2a685 <_sk_srcover_rgba_8888_sse2_lowp+0xb1> .byte 102,65,15,110,100,144,24 // movd 0x18(%r8,%rdx,4),%xmm4 .byte 102,68,15,112,196,69 // pshufd $0x45,%xmm4,%xmm8 .byte 243,65,15,16,100,144,20 // movss 0x14(%r8,%rdx,4),%xmm4 .byte 65,15,198,224,0 // shufps $0x0,%xmm8,%xmm4 .byte 65,15,198,224,226 // shufps $0xe2,%xmm8,%xmm4 .byte 68,15,40,196 // movaps %xmm4,%xmm8 .byte 243,65,15,16,100,144,16 // movss 0x10(%r8,%rdx,4),%xmm4 .byte 243,68,15,16,196 // movss %xmm4,%xmm8 .byte 102,65,15,16,60,144 // movupd (%r8,%rdx,4),%xmm7 .byte 102,15,40,239 // movapd %xmm7,%xmm5 .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 102,15,114,229,16 // psrad $0x10,%xmm5 .byte 102,65,15,111,224 // movdqa %xmm8,%xmm4 .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,15,114,228,16 // psrad $0x10,%xmm4 .byte 102,15,107,236 // packssdw %xmm4,%xmm5 .byte 102,68,15,111,37,241,8,0,0 // movdqa 0x8f1(%rip),%xmm12 # 2afa0 <_sk_srcover_rgba_8888_sse2_lowp+0x9cc> .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,65,15,219,228 // pand %xmm12,%xmm4 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,69,15,111,200 // movdqa %xmm8,%xmm9 .byte 102,65,15,114,209,16 // psrld $0x10,%xmm9 .byte 102,15,40,247 // movapd %xmm7,%xmm6 .byte 102,15,114,214,16 // psrld $0x10,%xmm6 .byte 102,15,114,215,24 // psrld $0x18,%xmm7 .byte 102,15,114,247,16 // pslld $0x10,%xmm7 .byte 102,15,114,231,16 // psrad $0x10,%xmm7 .byte 102,65,15,114,208,24 // psrld $0x18,%xmm8 .byte 102,65,15,114,240,16 // pslld $0x10,%xmm8 .byte 102,65,15,114,224,16 // psrad $0x10,%xmm8 .byte 102,65,15,107,248 // packssdw %xmm8,%xmm7 .byte 102,15,114,246,16 // pslld $0x10,%xmm6 .byte 102,15,114,230,16 // psrad $0x10,%xmm6 .byte 102,65,15,114,241,16 // pslld $0x10,%xmm9 .byte 102,65,15,114,225,16 // psrad $0x10,%xmm9 .byte 102,65,15,107,241 // packssdw %xmm9,%xmm6 .byte 102,65,15,219,244 // pand %xmm12,%xmm6 .byte 102,69,15,111,196 // movdqa %xmm12,%xmm8 .byte 102,68,15,249,195 // psubw %xmm3,%xmm8 .byte 102,68,15,111,204 // movdqa %xmm4,%xmm9 .byte 102,69,15,213,200 // pmullw %xmm8,%xmm9 .byte 102,69,15,253,204 // paddw %xmm12,%xmm9 .byte 102,65,15,113,209,8 // psrlw $0x8,%xmm9 .byte 102,68,15,253,200 // paddw %xmm0,%xmm9 .byte 102,68,15,111,213 // movdqa %xmm5,%xmm10 .byte 102,69,15,213,208 // pmullw %xmm8,%xmm10 .byte 102,69,15,253,212 // paddw %xmm12,%xmm10 .byte 102,65,15,113,210,8 // psrlw $0x8,%xmm10 .byte 102,68,15,253,209 // paddw %xmm1,%xmm10 .byte 102,68,15,111,222 // movdqa %xmm6,%xmm11 .byte 102,69,15,213,216 // pmullw %xmm8,%xmm11 .byte 102,69,15,253,220 // paddw %xmm12,%xmm11 .byte 102,65,15,113,211,8 // psrlw $0x8,%xmm11 .byte 102,68,15,253,218 // paddw %xmm2,%xmm11 .byte 102,68,15,213,199 // pmullw %xmm7,%xmm8 .byte 102,69,15,253,196 // paddw %xmm12,%xmm8 .byte 102,65,15,113,208,8 // psrlw $0x8,%xmm8 .byte 102,68,15,253,195 // paddw %xmm3,%xmm8 .byte 102,65,15,111,210 // movdqa %xmm10,%xmm2 .byte 102,15,113,242,8 // psllw $0x8,%xmm2 .byte 102,65,15,235,209 // por %xmm9,%xmm2 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,15,97,216 // punpcklwd %xmm0,%xmm3 .byte 102,15,105,208 // punpckhwd %xmm0,%xmm2 .byte 102,65,15,111,200 // movdqa %xmm8,%xmm1 .byte 102,15,113,241,8 // psllw $0x8,%xmm1 .byte 102,65,15,235,203 // por %xmm11,%xmm1 .byte 102,69,15,239,228 // pxor %xmm12,%xmm12 .byte 102,68,15,97,225 // punpcklwd %xmm1,%xmm12 .byte 102,68,15,235,227 // por %xmm3,%xmm12 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,235,194 // por %xmm2,%xmm0 .byte 65,128,250,6 // cmp $0x6,%r10b .byte 119,24 // ja 2a7e7 <_sk_srcover_rgba_8888_sse2_lowp+0x213> .byte 76,141,21,142,0,0,0 // lea 0x8e(%rip),%r10 # 2a864 <_sk_srcover_rgba_8888_sse2_lowp+0x290> .byte 75,99,4,138 // movslq (%r10,%r9,4),%rax .byte 76,1,208 // add %r10,%rax .byte 255,224 // jmpq *%rax .byte 102,69,15,126,36,144 // movd %xmm12,(%r8,%rdx,4) .byte 235,73 // jmp 2a830 <_sk_srcover_rgba_8888_sse2_lowp+0x25c> .byte 243,69,15,127,36,144 // movdqu %xmm12,(%r8,%rdx,4) .byte 243,65,15,127,68,144,16 // movdqu %xmm0,0x10(%r8,%rdx,4) .byte 235,58 // jmp 2a830 <_sk_srcover_rgba_8888_sse2_lowp+0x25c> .byte 102,65,15,112,196,78 // pshufd $0x4e,%xmm12,%xmm0 .byte 102,65,15,126,68,144,8 // movd %xmm0,0x8(%r8,%rdx,4) .byte 102,69,15,214,36,144 // movq %xmm12,(%r8,%rdx,4) .byte 235,37 // jmp 2a830 <_sk_srcover_rgba_8888_sse2_lowp+0x25c> .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,65,15,126,76,144,24 // movd %xmm1,0x18(%r8,%rdx,4) .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,65,15,126,76,144,20 // movd %xmm1,0x14(%r8,%rdx,4) .byte 102,65,15,126,68,144,16 // movd %xmm0,0x10(%r8,%rdx,4) .byte 243,69,15,127,36,144 // movdqu %xmm12,(%r8,%rdx,4) .byte 72,173 // lods %ds:(%rsi),%rax .byte 102,65,15,111,193 // movdqa %xmm9,%xmm0 .byte 102,65,15,111,202 // movdqa %xmm10,%xmm1 .byte 102,65,15,111,211 // movdqa %xmm11,%xmm2 .byte 102,65,15,111,216 // movdqa %xmm8,%xmm3 .byte 255,224 // jmpq *%rax .byte 202,253,255 // lret $0xfffd .byte 255,247 // push %rdi .byte 253 // std .byte 255 // (bad) .byte 255,230 // jmpq *%rsi .byte 253 // std .byte 255 // (bad) .byte 255,55 // pushq (%rdi) .byte 254 // (bad) .byte 255 // (bad) .byte 255,43 // ljmp *(%rbx) .byte 254 // (bad) .byte 255 // (bad) .byte 255,22 // callq *(%rsi) .byte 254 // (bad) .byte 255 // (bad) .byte 255,9 // decl (%rcx) .byte 254 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 123,255 // jnp 2a865 <_sk_srcover_rgba_8888_sse2_lowp+0x291> .byte 255 // (bad) .byte 255,159,255,255,255,146 // lcall *-0x6d000001(%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,198 // inc %esi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 191,255,255,255,179 // mov $0xb3ffffff,%edi .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff .byte 167 // cmpsl %es:(%rdi),%ds:(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // .byte 0xff BALIGN32 .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,32 // add %ah,(%rax) .byte 64,0,0 // add %al,(%rax) .byte 96 // (bad) .byte 64,0,0 // add %al,(%rax) .byte 144 // nop .byte 64,0,0 // add %al,(%rax) .byte 176,64 // mov $0x40,%al .byte 0,0 // add %al,(%rax) .byte 208,64,0 // rolb 0x0(%rax) .byte 0,240 // add %dh,%al .byte 64,0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 1,0 // add %eax,(%rax) .byte 0,0 // add %al,(%rax) .byte 2,0 // add (%rax),%al .byte 0,0 // add %al,(%rax) .byte 3,0 // add (%rax),%eax .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 5,0,0,0,6 // add $0x6000000,%eax .byte 0,0 // add %al,(%rax) .byte 0,7 // add %al,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 0,1 // add %al,(%rcx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,5,255,255,255,9 // incl 0x9ffffff(%rip) # a02a8e8 <_sk_srcover_rgba_8888_sse2_lowp+0xa000314> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 1202a8f0 <_sk_srcover_rgba_8888_sse2_lowp+0x1200031c> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a02a8f8 <_sk_srcover_rgba_8888_sse2_lowp+0x1a000324> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 302a900 <_sk_srcover_rgba_8888_sse2_lowp+0x300032c> .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) # a02a948 <_sk_srcover_rgba_8888_sse2_lowp+0xa000374> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 1202a950 <_sk_srcover_rgba_8888_sse2_lowp+0x1200037c> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a02a958 <_sk_srcover_rgba_8888_sse2_lowp+0x1a000384> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 302a960 <_sk_srcover_rgba_8888_sse2_lowp+0x300038c> .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) # a02a9a8 <_sk_srcover_rgba_8888_sse2_lowp+0xa0003d4> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 1202a9b0 <_sk_srcover_rgba_8888_sse2_lowp+0x120003dc> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a02a9b8 <_sk_srcover_rgba_8888_sse2_lowp+0x1a0003e4> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 302a9c0 <_sk_srcover_rgba_8888_sse2_lowp+0x30003ec> .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) # a02aa08 <_sk_srcover_rgba_8888_sse2_lowp+0xa000434> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 1202aa10 <_sk_srcover_rgba_8888_sse2_lowp+0x1200043c> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a02aa18 <_sk_srcover_rgba_8888_sse2_lowp+0x1a000444> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 302aa20 <_sk_srcover_rgba_8888_sse2_lowp+0x300044c> .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) # a02aa68 <_sk_srcover_rgba_8888_sse2_lowp+0xa000494> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 1202aa70 <_sk_srcover_rgba_8888_sse2_lowp+0x1200049c> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a02aa78 <_sk_srcover_rgba_8888_sse2_lowp+0x1a0004a4> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 302aa80 <_sk_srcover_rgba_8888_sse2_lowp+0x30004ac> .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) # a02aac8 <_sk_srcover_rgba_8888_sse2_lowp+0xa0004f4> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 1202aad0 <_sk_srcover_rgba_8888_sse2_lowp+0x120004fc> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a02aad8 <_sk_srcover_rgba_8888_sse2_lowp+0x1a000504> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 302aae0 <_sk_srcover_rgba_8888_sse2_lowp+0x300050c> .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) # a02ab28 <_sk_srcover_rgba_8888_sse2_lowp+0xa000554> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 1202ab30 <_sk_srcover_rgba_8888_sse2_lowp+0x1200055c> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a02ab38 <_sk_srcover_rgba_8888_sse2_lowp+0x1a000564> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 302ab40 <_sk_srcover_rgba_8888_sse2_lowp+0x300056c> .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) # a02ab88 <_sk_srcover_rgba_8888_sse2_lowp+0xa0005b4> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,17 // decl 0x11ffffff(%rip) # 1202ab90 <_sk_srcover_rgba_8888_sse2_lowp+0x120005bc> .byte 255 // (bad) .byte 255 // (bad) .byte 255,21,255,255,255,25 // callq *0x19ffffff(%rip) # 1a02ab98 <_sk_srcover_rgba_8888_sse2_lowp+0x1a0005c4> .byte 255 // (bad) .byte 255 // (bad) .byte 255,29,255,255,255,2 // lcall *0x2ffffff(%rip) # 302aba0 <_sk_srcover_rgba_8888_sse2_lowp+0x30005cc> .byte 255 // (bad) .byte 255 // (bad) .byte 255,6 // incl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,10 // decl (%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,14 // decl (%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,18 // callq *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,22 // callq *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,26 // lcall *(%rdx) .byte 255 // (bad) .byte 255 // (bad) .byte 255,30 // lcall *(%rsi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,32 // add %ah,(%rax) .byte 64,0,0 // add %al,(%rax) .byte 96 // (bad) .byte 64,0,0 // add %al,(%rax) .byte 144 // nop .byte 64,0,0 // add %al,(%rax) .byte 176,64 // mov $0x40,%al .byte 0,0 // add %al,(%rax) .byte 208,64,0 // rolb 0x0(%rax) .byte 0,240 // add %dh,%al .byte 64,255,0 // rex incl (%rax) .byte 0,0 // add %al,(%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 255,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 254,1 // incb (%rcx) .byte 255,0 // incl (%rax) .byte 254,1 // incb (%rcx) .byte 255,0 // incl (%rax) .byte 0,128,255,0,0,128 // add %al,-0x7fffff01(%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 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 248 // clc .byte 0,63 // add %bh,(%rdi) .byte 0,31 // add %bl,(%rdi) .byte 0,255 // add %bh,%bh .byte 0,248 // add %bh,%al .byte 0,63 // add %bh,(%rdi) .byte 0,31 // add %bl,(%rdi) .byte 0,255 // add %bh,%bh .byte 0,0 // add %al,(%rax) .byte 248 // clc .byte 224,255 // loopne 2adb3 <.const+0x533> .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 54,0,183,0,19,0,255 // add %dh,%ss:-0xffed00(%rdi) .byte 0,255 // add %bh,%bh .byte 0,255 // add %bh,%bh .byte 0,255 // add %bh,%bh .byte 0,248 // add %bh,%al .byte 0,63 // add %bh,(%rdi) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,255,0 // cmp $0x0,%bh .byte 248 // clc .byte 0,63 // add %bh,(%rdi) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,255,0 // cmp $0x0,%bh .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 255,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) BALIGN4 .byte 0,0 // add %al,(%rax) .byte 0,63 // add %bh,(%rdi) .byte 0,0 // add %al,(%rax) .byte 128,63,1 // cmpb $0x1,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 0,0 // add %al,(%rax) .byte 2,0 // add (%rax),%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 128,60,0,0 // cmpb $0x0,(%rax,%rax,1) .byte 252 // cld .byte 190,0,0,128,191 // mov $0xbf800000,%esi .byte 0,0 // add %al,(%rax) .byte 224,64 // loopne 2ae68 <.literal4+0x64> .byte 154 // (bad) .byte 153 // cltd .byte 153 // cltd .byte 62,61,10,23,63,174 // ds cmp $0xae3f170a,%eax .byte 71,225,61 // rex.RXB loope 2ae71 <.literal4+0x6d> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 2ae7b <.literal4+0x77> .byte 145 // xchg %eax,%ecx .byte 131,158,61,92,143,50,63 // sbbl $0x3f,0x328f5c3d(%rsi) .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 174 // scas %es:(%rdi),%al .byte 71,97 // rex.RXB (bad) .byte 61,82,184,78,65 // cmp $0x414eb852,%eax .byte 186,159,98,60,57 // mov $0x393c629f,%edx .byte 215 // xlat %ds:(%rbx) .byte 32,187,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,192 // add %al,%al .byte 64,0,0 // add %al,(%rax) .byte 0,64,0 // add %al,0x0(%rax) .byte 0,128,64,171,170,42 // add %al,0x2aaaab40(%rax) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,63 // sub (%rdi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,129,128,128,59 // mov $0x3b808081,%esi .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 2ae91 <.literal4+0x8d> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,128,0,128,55 // and %eax,0x37800080(,%rdi,1) .byte 0,0 // add %al,(%rax) .byte 0,52,255 // add %dh,(%rdi,%rdi,8) .byte 255 // (bad) .byte 127,0 // jg 2aea4 <.literal4+0xa0> .byte 119,115 // ja 2af19 <.literal4+0x115> .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,249,68,180 // mov $0xb444f93f,%edi .byte 62,163,233,220,63,81,140,242,66,141 // movabs %eax,%ds:0x8d42f28c513fdce9 .byte 188,190,63,248,245 // mov $0xf5f83fbe,%esp .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,200 // add %cl,%al .byte 66,0,0 // rex.X add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) .byte 128,65,203,61 // addb $0x3d,-0x35(%rcx) .byte 13,60,111,18,3 // or $0x3126f3c,%eax .byte 59,10 // cmp (%rdx),%ecx .byte 215 // xlat %ds:(%rbx) .byte 163,59,194,24,17,60,203,61,13 // movabs %eax,0xd3dcb3c1118c23b .byte 190,80,128,3,62 // mov $0x3e038050,%esi .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) .byte 118,63 // jbe 2af2f <.literal4+0x12b> .byte 246,64,83,63 // testb $0x3f,0x53(%rax) .byte 0,0 // add %al,(%rax) .byte 248 // clc .byte 65,0,0 // add %al,(%r8) .byte 124,66 // jl 2af3e <.literal4+0x13a> .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 137,136,136,55,0,15 // mov %ecx,0xf003788(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,57,240,0 // mov %ecx,0xf03988(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,59,15,0 // mov %ecx,0xf3b88(%rax) .byte 0,0 // add %al,(%rax) .byte 137,136,136,61,0,0 // mov %ecx,0x3d88(%rax) .byte 112,65 // jo 2af61 <.literal4+0x15d> .byte 0,255 // add %bh,%bh .byte 127,71 // jg 2af6b <.literal4+0x167> .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,111,43,231,187,159,215,202 // movabs 0xcad79fbbe72b6f39,%eax .byte 60,212 // cmp $0xd4,%al .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 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,191,0,0,192,191 // add %bh,-0x40400000(%rdi) .byte 114,28 // jb 2af8a <.literal4+0x186> .byte 199 // (bad) .byte 62,0,0 // add %al,%ds:(%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 114,249 // jb 2af77 <.literal4+0x173> .byte 127,63 // jg 2afbf <_sk_srcover_rgba_8888_sse2_lowp+0x9eb> .byte 3,0 // add (%rax),%eax .byte 0,0 // add %al,(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,255 // cmp %bh,%bh .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 2af91 <.literal4+0x18d> .byte 0,128,56,0,64,254 // add %al,-0x1bfffc8(%rax) .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 0,2 // add %al,(%rdx) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,2 // add %al,(%rdx) .byte 4,6 // add $0x6,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 1,0 // add %eax,(%rax) .byte 0,0 // add %al,(%rax) .byte 2,0 // add (%rax),%al .byte 0,0 // add %al,(%rax) .byte 3,0 // add (%rax),%eax .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 5,0,0,0,6 // add $0x6000000,%eax .byte 0,0 // add %al,(%rax) .byte 0,7 // add %al,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,32 // add %ah,(%rax) .byte 64,0,0 // add %al,(%rax) .byte 96 // (bad) .byte 64,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,191,0,0,128,191,0 // cmpb $0x0,-0x40800000(%rdi) .byte 0,128,191,0,0,128 // add %al,-0x7fffff41(%rax) .byte 191,0,0,224,64 // mov $0x40e00000,%edi .byte 0,0 // add %al,(%rax) .byte 224,64 // loopne 2b0c8 <.literal16+0x128> .byte 0,0 // add %al,(%rax) .byte 224,64 // loopne 2b0cc <.literal16+0x12c> .byte 0,0 // add %al,(%rax) .byte 224,64 // loopne 2b0d0 <.literal16+0x130> .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 2b0f1 <.literal16+0x151> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 2b0f5 <.literal16+0x155> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 2b0f9 <.literal16+0x159> .byte 174 // scas %es:(%rdi),%al .byte 71,225,61 // rex.RXB loope 2b0fd <.literal16+0x15d> .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%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) # a02b0d8 <_sk_srcover_rgba_8888_sse2_lowp+0xa000b04> .byte 255 // (bad) .byte 255 // (bad) .byte 255,13,255,255,255,2 // decl 0x2ffffff(%rip) # 302b0e0 <_sk_srcover_rgba_8888_sse2_lowp+0x3000b0c> .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 2b13b <.literal16+0x19b> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 2b13f <.literal16+0x19f> .byte 0,0 // add %al,(%rax) .byte 127,67 // jg 2b143 <.literal16+0x1a3> .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 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 92 // pop %rsp .byte 143 // (bad) .byte 50,63 // xor (%rdi),%bh .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%rbx),%edi .byte 174 // scas %es:(%rdi),%al .byte 71,97 // rex.RXB (bad) .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 174 // scas %es:(%rdi),%al .byte 71,97 // rex.RXB (bad) .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 82 // push %rdx .byte 184,78,65,82,184 // mov $0xb852414e,%eax .byte 78 // rex.WRX .byte 65,82 // push %r10 .byte 184,78,65,82,184 // mov $0xb852414e,%eax .byte 78 // rex.WRX .byte 65,57,215 // cmp %edx,%r15d .byte 32,187,57,215,32,187 // and %bh,-0x44df28c7(%rbx) .byte 57,215 // cmp %edx,%edi .byte 32,187,57,215,32,187 // and %bh,-0x44df28c7(%rbx) .byte 186,159,98,60,186 // mov $0xba3c629f,%edx .byte 159 // lahf .byte 98 // (bad) .byte 60,186 // cmp $0xba,%al .byte 159 // lahf .byte 98 // (bad) .byte 60,186 // cmp $0xba,%al .byte 159 // lahf .byte 98 // (bad) .byte 60,109 // cmp $0x6d,%al .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 144 // nop .byte 63 // (bad) .byte 109 // insl (%dx),%es:(%rdi) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 144 // nop .byte 63 // (bad) .byte 109 // insl (%dx),%es:(%rdi) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 144 // nop .byte 63 // (bad) .byte 109 // insl (%dx),%es:(%rdi) .byte 165 // movsl %ds:(%rsi),%es:(%rdi) .byte 144 // nop .byte 63 // (bad) .byte 252 // cld .byte 191,16,62,252,191 // mov $0xbffc3e10,%edi .byte 16,62 // adc %bh,(%rsi) .byte 252 // cld .byte 191,16,62,252,191 // mov $0xbffc3e10,%edi .byte 16,62 // adc %bh,(%rsi) .byte 168,177 // test $0xb1,%al .byte 152 // cwtl .byte 59,168,177,152,59,168 // cmp -0x57c4674f(%rax),%ebp .byte 177,152 // mov $0x98,%cl .byte 59,168,177,152,59,0 // cmp 0x3b98b1(%rax),%ebp .byte 0,192 // add %al,%al .byte 64,0,0 // add %al,(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 192,64,0,0 // rolb $0x0,0x0(%rax) .byte 0,64,0 // add %al,0x0(%rax) .byte 0,0 // add %al,(%rax) .byte 64,0,0 // add %al,(%rax) .byte 0,64,0 // add %al,0x0(%rax) .byte 0,0 // add %al,(%rax) .byte 64,0,0 // add %al,(%rax) .byte 128,64,0,0 // addb $0x0,0x0(%rax) .byte 128,64,0,0 // addb $0x0,0x0(%rax) .byte 128,64,0,0 // addb $0x0,0x0(%rax) .byte 128,64,171,170 // addb $0xaa,-0x55(%rax) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,62 // sub (%rsi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 62,171 // ds stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,63 // sub (%rdi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,63 // sub (%rdi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,63 // sub (%rdi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 42,63 // sub (%rdi),%bh .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 170 // stos %al,%es:(%rdi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%rax) .byte 128,59,129 // cmpb $0x81,(%rbx) .byte 128,128,59,0,248,0,0 // addb $0x0,0xf8003b(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%rax) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 8,33 // or %ah,(%rcx) .byte 132,55 // test %dh,(%rdi) .byte 224,7 // loopne 2b249 <.literal16+0x2a9> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 2b24d <.literal16+0x2ad> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 2b251 <.literal16+0x2b1> .byte 0,0 // add %al,(%rax) .byte 224,7 // loopne 2b255 <.literal16+0x2b5> .byte 0,0 // add %al,(%rax) .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 33,8 // and %ecx,(%rax) .byte 2,58 // add (%rdx),%bh .byte 31 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,8 // add %cl,(%rax) .byte 33,4,61,8,33,4,61 // and %eax,0x3d042108(,%rdi,1) .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 8,33 // or %ah,(%rcx) .byte 4,61 // add $0x3d,%al .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 8,255 // or %bh,%bh .byte 10,255 // or %bh,%bh .byte 12,255 // or $0xff,%al .byte 14 // (bad) .byte 255,0 // incl (%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,0,128,55,128 // add %al,-0x7fc88000(%rax) .byte 0,128,55,128,0,128 // add %al,-0x7fff7fc9(%rax) .byte 55 // (bad) .byte 128,0,128 // addb $0x80,(%rax) .byte 55 // (bad) .byte 0,0 // add %al,(%rax) .byte 0,52,0 // add %dh,(%rax,%rax,1) .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%rax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg 2b2c4 <.literal16+0x324> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 2b2c8 <.literal16+0x328> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 2b2cc <.literal16+0x32c> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 2b2d0 <.literal16+0x330> .byte 119,115 // ja 2b345 <.literal16+0x3a5> .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,119,115 // retq $0x7377 .byte 248 // clc .byte 194,117,191 // retq $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 117,191 // jne 2b2a9 <.literal16+0x309> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // (bad) .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 249 // stc .byte 68,180,62 // rex.R mov $0x3e,%spl .byte 163,233,220,63,163,233,220,63,163 // movabs %eax,0xa33fdce9a33fdce9 .byte 233,220,63,163,233 // jmpq ffffffffe9a5f2ea <_sk_srcover_rgba_8888_sse2_lowp+0xffffffffe9a34d16> .byte 220,63 // fdivrl (%rdi) .byte 81 // push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,81 // rex.X push %rcx .byte 140,242 // mov %?,%edx .byte 66,141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%r15,4),%edi .byte 63 // (bad) .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%rsi,%rdi,4),%edi .byte 63 // (bad) .byte 248 // clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,248 // rex clc .byte 245 // cmc .byte 154 // (bad) .byte 64,254 // rex (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,254 // rex.B (bad) .byte 210,221 // rcr %cl,%ch .byte 65,0,0 // add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 0,75,0 // add %cl,0x0(%rbx) .byte 0,0 // add %al,(%rax) .byte 75,0,0 // rex.WXB add %al,(%r8) .byte 200,66,0,0 // enterq $0x42,$0x0 .byte 200,66,0,0 // enterq $0x42,$0x0 .byte 200,66,0,0 // enterq $0x42,$0x0 .byte 200,66,0,0 // enterq $0x42,$0x0 .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%rax) .byte 128,65,0,0 // addb $0x0,0x0(%rcx) .byte 128,65,0,0 // addb $0x0,0x0(%rcx) .byte 128,65,0,0 // addb $0x0,0x0(%rcx) .byte 128,65,203,61 // addb $0x3d,-0x35(%rcx) .byte 13,60,203,61,13 // or $0xd3dcb3c,%eax .byte 60,203 // cmp $0xcb,%al .byte 61,13,60,203,61 // cmp $0x3dcb3c0d,%eax .byte 13,60,111,18,3 // or $0x3126f3c,%eax .byte 59,111,18 // cmp 0x12(%rdi),%ebp .byte 3,59 // add (%rbx),%edi .byte 111 // outsl %ds:(%rsi),(%dx) .byte 18,3 // adc (%rbx),%al .byte 59,111,18 // cmp 0x12(%rdi),%ebp .byte 3,59 // add (%rbx),%edi .byte 10,215 // or %bh,%dl .byte 163,59,10,215,163,59,10,215,163 // movabs %eax,0xa3d70a3ba3d70a3b .byte 59,10 // cmp (%rdx),%ecx .byte 215 // xlat %ds:(%rbx) .byte 163,59,194,24,17,60,194,24,17 // movabs %eax,0x1118c23c1118c23b .byte 60,194 // cmp $0xc2,%al .byte 24,17 // sbb %dl,(%rcx) .byte 60,194 // cmp $0xc2,%al .byte 24,17 // sbb %dl,(%rcx) .byte 60,203 // cmp $0xcb,%al .byte 61,13,190,203,61 // cmp $0x3dcbbe0d,%eax .byte 13,190,203,61,13 // or $0xd3dcbbe,%eax .byte 190,203,61,13,190 // mov $0xbe0d3dcb,%esi .byte 80 // push %rax .byte 128,3,62 // addb $0x3e,(%rbx) .byte 80 // push %rax .byte 128,3,62 // addb $0x3e,(%rbx) .byte 80 // push %rax .byte 128,3,62 // addb $0x3e,(%rbx) .byte 80 // push %rax .byte 128,3,62 // addb $0x3e,(%rbx) .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) .byte 118,63 // jbe 2b433 <.literal16+0x493> .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) .byte 118,63 // jbe 2b437 <.literal16+0x497> .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) .byte 118,63 // jbe 2b43b <.literal16+0x49b> .byte 31 // (bad) .byte 215 // xlat %ds:(%rbx) .byte 118,63 // jbe 2b43f <.literal16+0x49f> .byte 246,64,83,63 // testb $0x3f,0x53(%rax) .byte 246,64,83,63 // testb $0x3f,0x53(%rax) .byte 246,64,83,63 // testb $0x3f,0x53(%rax) .byte 246,64,83,63 // testb $0x3f,0x53(%rax) .byte 0,4,0 // add %al,(%rax,%rax,1) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,248 // add %bh,%al .byte 65,0,0 // add %al,(%r8) .byte 248 // clc .byte 65,0,0 // add %al,(%r8) .byte 248 // clc .byte 65,0,0 // add %al,(%r8) .byte 248 // clc .byte 65,0,0 // add %al,(%r8) .byte 124,66 // jl 2b476 <.literal16+0x4d6> .byte 0,0 // add %al,(%rax) .byte 124,66 // jl 2b47a <.literal16+0x4da> .byte 0,0 // add %al,(%rax) .byte 124,66 // jl 2b47e <.literal16+0x4de> .byte 0,0 // add %al,(%rax) .byte 124,66 // jl 2b482 <.literal16+0x4e2> .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%rax) .byte 136,55 // mov %dh,(%rdi) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%rax) .byte 136,55 // mov %dh,(%rdi) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%rax) .byte 136,57 // mov %bh,(%rcx) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%rax) .byte 136,57 // mov %bh,(%rcx) .byte 240,0,0 // lock add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%rax) .byte 0,137,136,136,59,137 // add %cl,-0x76c47778(%rcx) .byte 136,136,59,137,136,136 // mov %cl,-0x777776c5(%rax) .byte 59,137,136,136,59,15 // cmp 0xf3b8888(%rcx),%ecx .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,15 // add %cl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 0,137,136,136,61,137 // add %cl,-0x76c27778(%rcx) .byte 136,136,61,137,136,136 // mov %cl,-0x777776c3(%rax) .byte 61,137,136,136,61 // cmp $0x3d888889,%eax .byte 0,0 // add %al,(%rax) .byte 112,65 // jo 2b505 <.literal16+0x565> .byte 0,0 // add %al,(%rax) .byte 112,65 // jo 2b509 <.literal16+0x569> .byte 0,0 // add %al,(%rax) .byte 112,65 // jo 2b50d <.literal16+0x56d> .byte 0,0 // add %al,(%rax) .byte 112,65 // jo 2b511 <.literal16+0x571> .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 255 // (bad) .byte 127,0 // jg 2b4e3 <.literal16+0x543> .byte 0,255 // add %bh,%bh .byte 127,0 // jg 2b4e7 <.literal16+0x547> .byte 0,255 // add %bh,%bh .byte 127,0 // jg 2b4eb <.literal16+0x54b> .byte 0,255 // add %bh,%bh .byte 127,0 // jg 2b4ef <.literal16+0x54f> .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 128,0,0 // addb $0x0,(%rax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%rax) .byte 0,0 // add %al,(%rax) .byte 0,128,255,255,255,127 // add %al,0x7fffffff(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 127,255 // jg 2b528 <.literal16+0x588> .byte 255 // (bad) .byte 255 // (bad) .byte 127,255 // jg 2b52c <.literal16+0x58c> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg 2b531 <.literal16+0x591> .byte 0,128,56,0,0,128 // add %al,-0x7fffffc8(%rax) .byte 56,0 // cmp %al,(%rax) .byte 0,128,56,0,0,128 // add %al,-0x7fffffc8(%rax) .byte 56,0 // cmp %al,(%rax) .byte 64,254 // rex (bad) .byte 255,0 // incl (%rax) .byte 64,254 // rex (bad) .byte 255,0 // incl (%rax) .byte 64,254 // rex (bad) .byte 255,0 // incl (%rax) .byte 64,254 // rex (bad) .byte 255,0 // incl (%rax) .byte 255 // (bad) .byte 127,71 // jg 2b59b <.literal16+0x5fb> .byte 0,255 // add %bh,%bh .byte 127,71 // jg 2b59f <.literal16+0x5ff> .byte 0,255 // add %bh,%bh .byte 127,71 // jg 2b5a3 <.literal16+0x603> .byte 0,255 // add %bh,%bh .byte 127,71 // jg 2b5a7 <.literal16+0x607> .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) # 2dc2c6aa <_sk_srcover_rgba_8888_sse2_lowp+0x2dc020d6> .byte 17,192 // adc %eax,%eax .byte 45,16,17,192,18 // sub $0x12c01110,%eax .byte 120,57 // js 2b5dc <.literal16+0x63c> .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,111,43,231 // sbb %ah,-0x18d490c7(%rcx) .byte 187,111,43,231,187 // mov $0xbbe72b6f,%ebx .byte 111 // outsl %ds:(%rsi),(%dx) .byte 43,231 // sub %edi,%esp .byte 187,111,43,231,187 // mov $0xbbe72b6f,%ebx .byte 159 // lahf .byte 215 // xlat %ds:(%rbx) .byte 202,60,159 // lret $0x9f3c .byte 215 // xlat %ds:(%rbx) .byte 202,60,159 // lret $0x9f3c .byte 215 // xlat %ds:(%rbx) .byte 202,60,159 // lret $0x9f3c .byte 215 // xlat %ds:(%rbx) .byte 202,60,212 // lret $0xd43c .byte 100,84 // fs push %rsp .byte 189,212,100,84,189 // mov $0xbd5464d4,%ebp .byte 212 // (bad) .byte 100,84 // fs push %rsp .byte 189,212,100,84,189 // mov $0xbd5464d4,%ebp .byte 169,240,34,62,169 // test $0xa93e22f0,%eax .byte 240,34,62 // lock and (%rsi),%bh .byte 169,240,34,62,169 // test $0xa93e22f0,%eax .byte 240,34,62 // lock and (%rsi),%bh .byte 0,0 // add %al,(%rax) .byte 128,62,0 // cmpb $0x0,(%rsi) .byte 0,128,62,0,0,128 // add %al,-0x7fffffc2(%rax) .byte 62,0,0 // add %al,%ds:(%rax) .byte 128,62,0 // cmpb $0x0,(%rsi) .byte 0,0 // add %al,(%rax) .byte 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 191,0,0,0,191 // mov $0xbf000000,%edi .byte 0,0 // add %al,(%rax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%rdi) .byte 0,0 // add %al,(%rax) .byte 192,191,0,0,192,191,0 // sarb $0x0,-0x40400000(%rdi) .byte 0,192 // add %al,%al .byte 191,0,0,192,191 // mov $0xbfc00000,%edi .byte 114,28 // jb 2b68e <.literal16+0x6ee> .byte 199 // (bad) .byte 62,114,28 // jb,pt 2b692 <.literal16+0x6f2> .byte 199 // (bad) .byte 62,114,28 // jb,pt 2b696 <.literal16+0x6f6> .byte 199 // (bad) .byte 62,114,28 // jb,pt 2b69a <.literal16+0x6fa> .byte 199 // (bad) .byte 62,85 // ds push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 85 // push %rbp .byte 85 // push %rbp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 0,0 // add %al,(%rax) .byte 192,63,0 // sarb $0x0,(%rdi) .byte 0,192 // add %al,%al .byte 63 // (bad) .byte 57,142,99,61,57,142 // cmp %ecx,-0x71c6c29d(%rsi) .byte 99,61,57,142,99,61 // movslq 0x3d638e39(%rip),%edi # 3d6644e5 <_sk_srcover_rgba_8888_sse2_lowp+0x3d639f11> .byte 57,142,99,61,114,249 // cmp %ecx,-0x68dc29d(%rsi) .byte 127,63 // jg 2b6f3 <.literal16+0x753> .byte 114,249 // jb 2b6af <.literal16+0x70f> .byte 127,63 // jg 2b6f7 <.literal16+0x757> .byte 114,249 // jb 2b6b3 <.literal16+0x713> .byte 127,63 // jg 2b6fb <.literal16+0x75b> .byte 114,249 // jb 2b6b7 <.literal16+0x717> .byte 127,63 // jg 2b6ff <.literal16+0x75f> .byte 3,0 // add (%rax),%eax .byte 0,0 // add %al,(%rax) .byte 3,0 // add (%rax),%eax .byte 0,0 // add %al,(%rax) .byte 3,0 // add (%rax),%eax .byte 0,0 // add %al,(%rax) .byte 3,0 // add (%rax),%eax .byte 0,0 // add %al,(%rax) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 255,0 // incl (%rax) .byte 0,255 // add %bh,%bh .byte 255,0 // incl (%rax) .byte 0,255 // add %bh,%bh .byte 255,0 // incl (%rax) .byte 0,255 // add %bh,%bh .byte 255,0 // incl (%rax) .byte 0,255 // add %bh,%bh .byte 255,0 // incl (%rax) .byte 2,4,6 // add (%rsi,%rax,1),%al .byte 8,10 // or %cl,(%rdx) .byte 12,14 // or $0xe,%al .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 0,0 // add %al,(%rax) .byte 254,1 // incb (%rcx) .byte 254,1 // incb (%rcx) .byte 254,1 // incb (%rcx) .byte 254,1 // incb (%rcx) .byte 254,1 // incb (%rcx) .byte 254,1 // incb (%rcx) .byte 254,1 // incb (%rcx) .byte 254,1 // incb (%rcx) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%rax) .byte 0,128,0,128,0,1 // add %al,0x1008000(%rax) .byte 4,5 // add $0x5,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 8,9 // or %cl,(%rcx) .byte 12,13 // or $0xd,%al .byte 12,13 // or $0xd,%al .byte 14 // (bad) .byte 15,3,255 // lsl %di,%edi .byte 7 // (bad) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255,11 // decl (%rbx) .byte 255,15 // decl (%rdi) .byte 255,15 // decl (%rdi) .byte 255 // (bad) .byte 255 // (bad) .byte 255,2 // incl (%rdx) .byte 3,6 // add (%rsi),%eax .byte 7 // (bad) .byte 10,11 // or (%rbx),%cl .byte 14 // (bad) .byte 15,10 // (bad) .byte 11,14 // or (%rsi),%ecx .byte 15,14 // femms .byte 15,255 // (bad) .byte 255 // (bad) .byte 248 // clc .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,63 // add %bh,(%rdi) .byte 0,63 // add %bh,(%rdi) .byte 0,63 // add %bh,(%rdi) .byte 0,63 // add %bh,(%rdi) .byte 0,63 // add %bh,(%rdi) .byte 0,63 // add %bh,(%rdi) .byte 0,63 // add %bh,(%rdi) .byte 0,63 // add %bh,(%rdi) .byte 0,31 // add %bl,(%rdi) .byte 0,31 // add %bl,(%rdi) .byte 0,31 // add %bl,(%rdi) .byte 0,31 // add %bl,(%rdi) .byte 0,31 // add %bl,(%rdi) .byte 0,31 // add %bl,(%rdi) .byte 0,31 // add %bl,(%rdi) .byte 0,31 // add %bl,(%rdi) .byte 0,0 // add %al,(%rax) .byte 248 // clc .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 224,255 // loopne 2b791 <.literal16+0x7f1> .byte 224,255 // loopne 2b793 <.literal16+0x7f3> .byte 224,255 // loopne 2b795 <.literal16+0x7f5> .byte 224,255 // loopne 2b797 <.literal16+0x7f7> .byte 224,255 // loopne 2b799 <.literal16+0x7f9> .byte 224,255 // loopne 2b79b <.literal16+0x7fb> .byte 224,255 // loopne 2b79d <.literal16+0x7fd> .byte 224,255 // loopne 2b79f <.literal16+0x7ff> .byte 54,0,54 // add %dh,%ss:(%rsi) .byte 0,54 // add %dh,(%rsi) .byte 0,54 // add %dh,(%rsi) .byte 0,54 // add %dh,(%rsi) .byte 0,54 // add %dh,(%rsi) .byte 0,54 // add %dh,(%rsi) .byte 0,54 // add %dh,(%rsi) .byte 0,183,0,183,0,183 // add %dh,-0x48ff4900(%rdi) .byte 0,183,0,183,0,183 // add %dh,-0x48ff4900(%rdi) .byte 0,183,0,183,0,19 // add %dh,0x1300b700(%rdi) .byte 0,19 // add %dl,(%rbx) .byte 0,19 // add %dl,(%rbx) .byte 0,19 // add %dl,(%rbx) .byte 0,19 // add %dl,(%rbx) .byte 0,19 // add %dl,(%rbx) .byte 0,19 // add %dl,(%rbx) .byte 0,19 // add %dl,(%rbx) .byte 0,254 // add %bh,%dh .byte 0,254 // add %bh,%dh .byte 0,254 // add %bh,%dh .byte 0,254 // add %bh,%dh .byte 0,254 // add %bh,%dh .byte 0,254 // add %bh,%dh .byte 0,254 // add %bh,%dh .byte 0,254 // add %bh,%dh .byte 0 // .byte 0x0 BALIGN8 .byte 1,0 // add %eax,(%rax) .byte 0,0 // add %al,(%rax) .byte 1,0 // add %eax,(%rax) .byte 0,0 // add %al,(%rax) .byte 2,0 // add (%rax),%al .byte 0,0 // add %al,(%rax) .byte 2,0 // add (%rax),%al .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%rax) .byte 255 // (bad) .byte 127,0 // jg 2b7fb <.literal8+0x1b> .byte 0,255 // add %bh,%bh .byte 127,0 // jg 2b7ff <.literal8+0x1f> .byte 0,0 // add %al,(%rax) .byte 128,0,0 // addb $0x0,(%rax) .byte 0 // .byte 0x0 .byte 128,0,0 // addb $0x0,(%rax) #elif defined(__i386__) BALIGN32 HIDDEN _sk_start_pipeline_sse2 .globl _sk_start_pipeline_sse2 FUNCTION(_sk_start_pipeline_sse2) _sk_start_pipeline_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,92 // sub $0x5c,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 59,69,20 // cmp 0x14(%ebp),%eax .byte 115,112 // jae 81 <_sk_start_pipeline_sse2+0x81> .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,62 // mov (%esi),%edi .byte 131,198,4 // add $0x4,%esi .byte 141,73,4 // lea 0x4(%ecx),%ecx .byte 137,77,240 // mov %ecx,-0x10(%ebp) .byte 57,85,240 // cmp %edx,-0x10(%ebp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,77,152 // mov %ecx,-0x68(%ebp) .byte 137,69,236 // mov %eax,-0x14(%ebp) .byte 137,69,156 // mov %eax,-0x64(%ebp) .byte 199,69,160,0,0,0,0 // movl $0x0,-0x60(%ebp) .byte 137,200 // mov %ecx,%eax .byte 141,93,152 // lea -0x68(%ebp),%ebx .byte 119,29 // ja 5f <_sk_start_pipeline_sse2+0x5f> .byte 131,236,8 // sub $0x8,%esp .byte 86 // push %esi .byte 83 // push %ebx .byte 255,215 // call *%edi .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 131,196,16 // add $0x10,%esp .byte 139,77,152 // mov -0x68(%ebp),%ecx .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 137,69,152 // mov %eax,-0x68(%ebp) .byte 131,193,8 // add $0x8,%ecx .byte 57,209 // cmp %edx,%ecx .byte 118,227 // jbe 42 <_sk_start_pipeline_sse2+0x42> .byte 137,209 // mov %edx,%ecx .byte 41,193 // sub %eax,%ecx .byte 116,19 // je 78 <_sk_start_pipeline_sse2+0x78> .byte 137,77,160 // mov %ecx,-0x60(%ebp) .byte 131,236,8 // sub $0x8,%esp .byte 86 // push %esi .byte 141,69,152 // lea -0x68(%ebp),%eax .byte 80 // push %eax .byte 255,215 // call *%edi .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 131,196,16 // add $0x10,%esp .byte 139,69,236 // mov -0x14(%ebp),%eax .byte 64 // inc %eax .byte 59,69,20 // cmp 0x14(%ebp),%eax .byte 117,164 // jne 25 <_sk_start_pipeline_sse2+0x25> .byte 131,196,92 // add $0x5c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_just_return_sse2 .globl _sk_just_return_sse2 FUNCTION(_sk_just_return_sse2) _sk_just_return_sse2: .byte 195 // ret HIDDEN _sk_seed_shader_sse2 .globl _sk_seed_shader_sse2 FUNCTION(_sk_seed_shader_sse2) _sk_seed_shader_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 86 // push %esi .byte 80 // push %eax .byte 232,0,0,0,0 // call 94 <_sk_seed_shader_sse2+0xa> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 102,15,110,2 // movd (%edx),%xmm0 .byte 102,15,112,192,0 // pshufd $0x0,%xmm0,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,88,128,92,203,0,0 // addps 0xcb5c(%eax),%xmm0 .byte 102,15,110,74,4 // movd 0x4(%edx),%xmm1 .byte 102,15,112,201,0 // pshufd $0x0,%xmm1,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,88,136,108,203,0,0 // addps 0xcb6c(%eax),%xmm1 .byte 141,113,4 // lea 0x4(%ecx),%esi .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,41,82,64 // movaps %xmm2,0x40(%edx) .byte 15,41,82,48 // movaps %xmm2,0x30(%edx) .byte 15,41,82,32 // movaps %xmm2,0x20(%edx) .byte 15,41,82,16 // movaps %xmm2,0x10(%edx) .byte 131,236,8 // sub $0x8,%esp .byte 15,40,144,124,203,0,0 // movaps 0xcb7c(%eax),%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 86 // push %esi .byte 82 // push %edx .byte 255,17 // call *(%ecx) .byte 131,196,20 // add $0x14,%esp .byte 94 // pop %esi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_dither_sse2 .globl _sk_dither_sse2 FUNCTION(_sk_dither_sse2) _sk_dither_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 86 // push %esi .byte 131,236,36 // sub $0x24,%esp .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,41,85,232 // movaps %xmm2,-0x18(%ebp) .byte 15,40,217 // movaps %xmm1,%xmm3 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 232,0,0,0,0 // call 109 <_sk_dither_sse2+0x1a> .byte 89 // pop %ecx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 102,15,110,32 // movd (%eax),%xmm4 .byte 102,15,112,228,0 // pshufd $0x0,%xmm4,%xmm4 .byte 102,15,254,161,23,203,0,0 // paddd 0xcb17(%ecx),%xmm4 .byte 102,15,110,104,4 // movd 0x4(%eax),%xmm5 .byte 102,15,112,253,0 // pshufd $0x0,%xmm5,%xmm7 .byte 102,15,239,252 // pxor %xmm4,%xmm7 .byte 102,15,111,177,39,203,0,0 // movdqa 0xcb27(%ecx),%xmm6 .byte 102,15,111,207 // movdqa %xmm7,%xmm1 .byte 102,15,219,206 // pand %xmm6,%xmm1 .byte 102,15,114,241,5 // pslld $0x5,%xmm1 .byte 102,15,111,129,71,203,0,0 // movdqa 0xcb47(%ecx),%xmm0 .byte 102,15,111,239 // movdqa %xmm7,%xmm5 .byte 102,15,219,232 // pand %xmm0,%xmm5 .byte 102,15,114,245,2 // pslld $0x2,%xmm5 .byte 102,15,235,233 // por %xmm1,%xmm5 .byte 102,15,219,244 // pand %xmm4,%xmm6 .byte 102,15,114,246,4 // pslld $0x4,%xmm6 .byte 102,15,219,196 // pand %xmm4,%xmm0 .byte 102,15,254,192 // paddd %xmm0,%xmm0 .byte 102,15,235,198 // por %xmm6,%xmm0 .byte 102,15,111,137,55,203,0,0 // movdqa 0xcb37(%ecx),%xmm1 .byte 102,15,219,249 // pand %xmm1,%xmm7 .byte 102,15,219,225 // pand %xmm1,%xmm4 .byte 102,15,114,212,2 // psrld $0x2,%xmm4 .byte 102,15,235,224 // por %xmm0,%xmm4 .byte 102,15,235,229 // por %xmm5,%xmm4 .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 102,15,114,215,1 // psrld $0x1,%xmm7 .byte 102,15,235,231 // por %xmm7,%xmm4 .byte 15,91,196 // cvtdq2ps %xmm4,%xmm0 .byte 15,89,129,87,203,0,0 // mulps 0xcb57(%ecx),%xmm0 .byte 15,88,129,103,203,0,0 // addps 0xcb67(%ecx),%xmm0 .byte 243,15,16,14 // movss (%esi),%xmm1 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,209 // addps %xmm1,%xmm2 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 15,88,77,232 // addps -0x18(%ebp),%xmm1 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,93,208 // minps %xmm0,%xmm2 .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 15,95,234 // maxps %xmm2,%xmm5 .byte 15,93,216 // minps %xmm0,%xmm3 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,95,227 // maxps %xmm3,%xmm4 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,93,200 // minps %xmm0,%xmm1 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 15,95,209 // maxps %xmm1,%xmm2 .byte 141,74,8 // lea 0x8(%edx),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 81 // push %ecx .byte 80 // push %eax .byte 255,82,4 // call *0x4(%edx) .byte 131,196,52 // add $0x34,%esp .byte 94 // pop %esi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_uniform_color_sse2 .globl _sk_uniform_color_sse2 FUNCTION(_sk_uniform_color_sse2) _sk_uniform_color_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,1 // movss (%ecx),%xmm0 .byte 243,15,16,73,4 // movss 0x4(%ecx),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,81,8 // movss 0x8(%ecx),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,89,12 // movss 0xc(%ecx),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_black_color_sse2 .globl _sk_black_color_sse2 FUNCTION(_sk_black_color_sse2) _sk_black_color_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 245 <_sk_black_color_sse2+0xb> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,81,4 // lea 0x4(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,152,203,201,0,0 // movaps 0xc9cb(%eax),%xmm3 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 82 // push %edx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_white_color_sse2 .globl _sk_white_color_sse2 FUNCTION(_sk_white_color_sse2) _sk_white_color_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 275 <_sk_white_color_sse2+0xb> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,81,4 // lea 0x4(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,128,155,201,0,0 // movaps 0xc99b(%eax),%xmm0 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 82 // push %edx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_load_rgba_sse2 .globl _sk_load_rgba_sse2 FUNCTION(_sk_load_rgba_sse2) _sk_load_rgba_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 15,16,1 // movups (%ecx),%xmm0 .byte 15,16,73,16 // movups 0x10(%ecx),%xmm1 .byte 15,16,81,32 // movups 0x20(%ecx),%xmm2 .byte 15,16,89,48 // movups 0x30(%ecx),%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_store_rgba_sse2 .globl _sk_store_rgba_sse2 FUNCTION(_sk_store_rgba_sse2) _sk_store_rgba_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,17 // mov (%ecx),%edx .byte 15,17,2 // movups %xmm0,(%edx) .byte 15,17,74,16 // movups %xmm1,0x10(%edx) .byte 15,17,82,32 // movups %xmm2,0x20(%edx) .byte 15,17,90,48 // movups %xmm3,0x30(%edx) .byte 141,81,8 // lea 0x8(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 80 // push %eax .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_clear_sse2 .globl _sk_clear_sse2 FUNCTION(_sk_clear_sse2) _sk_clear_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_srcatop_sse2 .globl _sk_srcatop_sse2 FUNCTION(_sk_srcatop_sse2) _sk_srcatop_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 324 <_sk_srcatop_sse2+0xb> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 15,40,97,64 // movaps 0x40(%ecx),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,170,236,200,0,0 // movaps 0xc8ec(%edx),%xmm5 .byte 15,92,235 // subps %xmm3,%xmm5 .byte 15,40,113,16 // movaps 0x10(%ecx),%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,40,113,32 // movaps 0x20(%ecx),%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,40,113,48 // movaps 0x30(%ecx),%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 141,80,4 // lea 0x4(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_dstatop_sse2 .globl _sk_dstatop_sse2 FUNCTION(_sk_dstatop_sse2) _sk_dstatop_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 383 <_sk_dstatop_sse2+0xb> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 15,40,105,64 // movaps 0x40(%ecx),%xmm5 .byte 15,40,113,16 // movaps 0x10(%ecx),%xmm6 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,40,162,141,200,0,0 // movaps 0xc88d(%edx),%xmm4 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,40,113,32 // movaps 0x20(%ecx),%xmm6 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,40,113,48 // movaps 0x30(%ecx),%xmm6 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,88,229 // addps %xmm5,%xmm4 .byte 141,80,4 // lea 0x4(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_srcin_sse2 .globl _sk_srcin_sse2 FUNCTION(_sk_srcin_sse2) _sk_srcin_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 15,40,97,64 // movaps 0x40(%ecx),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 141,80,4 // lea 0x4(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_dstin_sse2 .globl _sk_dstin_sse2 FUNCTION(_sk_dstin_sse2) _sk_dstin_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 15,40,65,16 // movaps 0x10(%ecx),%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,40,73,32 // movaps 0x20(%ecx),%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,40,81,48 // movaps 0x30(%ecx),%xmm2 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,89,89,64 // mulps 0x40(%ecx),%xmm3 .byte 141,80,4 // lea 0x4(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_srcout_sse2 .globl _sk_srcout_sse2 FUNCTION(_sk_srcout_sse2) _sk_srcout_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 444 <_sk_srcout_sse2+0xb> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 15,40,160,204,199,0,0 // movaps 0xc7cc(%eax),%xmm4 .byte 15,92,98,64 // subps 0x40(%edx),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 82 // push %edx .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_dstout_sse2 .globl _sk_dstout_sse2 FUNCTION(_sk_dstout_sse2) _sk_dstout_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 47c <_sk_dstout_sse2+0xb> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 15,40,160,148,199,0,0 // movaps 0xc794(%eax),%xmm4 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,40,66,16 // movaps 0x10(%edx),%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,74,32 // movaps 0x20(%edx),%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,40,82,48 // movaps 0x30(%edx),%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,89,98,64 // mulps 0x40(%edx),%xmm4 .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 80 // push %eax .byte 82 // push %edx .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_srcover_sse2 .globl _sk_srcover_sse2 FUNCTION(_sk_srcover_sse2) _sk_srcover_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 4c3 <_sk_srcover_sse2+0xb> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 15,40,160,77,199,0,0 // movaps 0xc74d(%eax),%xmm4 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,40,106,16 // movaps 0x10(%edx),%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,40,106,32 // movaps 0x20(%edx),%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,40,106,48 // movaps 0x30(%edx),%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 15,89,98,64 // mulps 0x40(%edx),%xmm4 .byte 15,88,220 // addps %xmm4,%xmm3 .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 82 // push %edx .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_dstover_sse2 .globl _sk_dstover_sse2 FUNCTION(_sk_dstover_sse2) _sk_dstover_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 513 <_sk_dstover_sse2+0xb> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 15,40,106,64 // movaps 0x40(%edx),%xmm5 .byte 15,40,160,253,198,0,0 // movaps 0xc6fd(%eax),%xmm4 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,66,16 // addps 0x10(%edx),%xmm0 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,74,32 // addps 0x20(%edx),%xmm1 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,82,48 // addps 0x30(%edx),%xmm2 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,88,229 // addps %xmm5,%xmm4 .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 80 // push %eax .byte 82 // push %edx .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_modulate_sse2 .globl _sk_modulate_sse2 FUNCTION(_sk_modulate_sse2) _sk_modulate_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 15,89,65,16 // mulps 0x10(%ecx),%xmm0 .byte 15,89,73,32 // mulps 0x20(%ecx),%xmm1 .byte 15,89,81,48 // mulps 0x30(%ecx),%xmm2 .byte 15,89,89,64 // mulps 0x40(%ecx),%xmm3 .byte 141,80,4 // lea 0x4(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_multiply_sse2 .globl _sk_multiply_sse2 FUNCTION(_sk_multiply_sse2) _sk_multiply_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,56 // sub $0x38,%esp .byte 15,41,85,216 // movaps %xmm2,-0x28(%ebp) .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 232,0,0,0,0 // call 592 <_sk_multiply_sse2+0x12> .byte 89 // pop %ecx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 15,40,80,64 // movaps 0x40(%eax),%xmm2 .byte 15,41,85,200 // movaps %xmm2,-0x38(%ebp) .byte 15,40,129,126,198,0,0 // movaps 0xc67e(%ecx),%xmm0 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,92,242 // subps %xmm2,%xmm6 .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,92,195 // subps %xmm3,%xmm0 .byte 15,40,80,16 // movaps 0x10(%eax),%xmm2 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,89,226 // mulps %xmm2,%xmm4 .byte 15,88,231 // addps %xmm7,%xmm4 .byte 15,89,234 // mulps %xmm2,%xmm5 .byte 15,88,236 // addps %xmm4,%xmm5 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 15,40,96,32 // movaps 0x20(%eax),%xmm4 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 15,89,252 // mulps %xmm4,%xmm7 .byte 15,88,250 // addps %xmm2,%xmm7 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,41,77,232 // movaps %xmm1,-0x18(%ebp) .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,40,85,216 // movaps -0x28(%ebp),%xmm2 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,40,96,48 // movaps 0x30(%eax),%xmm4 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 15,89,252 // mulps %xmm4,%xmm7 .byte 15,88,249 // addps %xmm1,%xmm7 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,40,77,200 // movaps -0x38(%ebp),%xmm1 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,81,4 // lea 0x4(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,40,77,232 // movaps -0x18(%ebp),%xmm1 .byte 82 // push %edx .byte 80 // push %eax .byte 255,17 // call *(%ecx) .byte 131,196,72 // add $0x48,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_plus__sse2 .globl _sk_plus__sse2 FUNCTION(_sk_plus__sse2) _sk_plus__sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 638 <_sk_plus__sse2+0xb> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 15,88,66,16 // addps 0x10(%edx),%xmm0 .byte 15,40,160,216,197,0,0 // movaps 0xc5d8(%eax),%xmm4 .byte 15,93,196 // minps %xmm4,%xmm0 .byte 15,88,74,32 // addps 0x20(%edx),%xmm1 .byte 15,93,204 // minps %xmm4,%xmm1 .byte 15,88,82,48 // addps 0x30(%edx),%xmm2 .byte 15,93,212 // minps %xmm4,%xmm2 .byte 15,88,90,64 // addps 0x40(%edx),%xmm3 .byte 15,93,220 // minps %xmm4,%xmm3 .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 82 // push %edx .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_screen_sse2 .globl _sk_screen_sse2 FUNCTION(_sk_screen_sse2) _sk_screen_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 15,40,105,16 // movaps 0x10(%ecx),%xmm5 .byte 15,40,113,32 // movaps 0x20(%ecx),%xmm6 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 15,88,233 // addps %xmm1,%xmm5 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,92,238 // subps %xmm6,%xmm5 .byte 15,40,65,48 // movaps 0x30(%ecx),%xmm0 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,88,242 // addps %xmm2,%xmm6 .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 15,92,240 // subps %xmm0,%xmm6 .byte 15,40,65,64 // movaps 0x40(%ecx),%xmm0 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 15,88,251 // addps %xmm3,%xmm7 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 141,80,4 // lea 0x4(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_xor__sse2 .globl _sk_xor__sse2 FUNCTION(_sk_xor__sse2) _sk_xor__sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 232,0,0,0,0 // call 6e6 <_sk_xor__sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 15,40,105,64 // movaps 0x40(%ecx),%xmm5 .byte 15,40,154,42,197,0,0 // movaps 0xc52a(%edx),%xmm3 .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,92,245 // subps %xmm5,%xmm6 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,92,220 // subps %xmm4,%xmm3 .byte 15,40,121,16 // movaps 0x10(%ecx),%xmm7 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,40,121,32 // movaps 0x20(%ecx),%xmm7 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,40,121,48 // movaps 0x30(%ecx),%xmm7 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,89,244 // mulps %xmm4,%xmm6 .byte 15,89,221 // mulps %xmm5,%xmm3 .byte 15,88,222 // addps %xmm6,%xmm3 .byte 141,80,4 // lea 0x4(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_darken_sse2 .globl _sk_darken_sse2 FUNCTION(_sk_darken_sse2) _sk_darken_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 232,0,0,0,0 // call 74e <_sk_darken_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 15,40,113,64 // movaps 0x40(%ecx),%xmm6 .byte 15,40,105,16 // movaps 0x10(%ecx),%xmm5 .byte 15,40,121,32 // movaps 0x20(%ecx),%xmm7 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,95,229 // maxps %xmm5,%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,40,231 // movaps %xmm7,%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,95,207 // maxps %xmm7,%xmm1 .byte 15,92,225 // subps %xmm1,%xmm4 .byte 15,40,73,48 // movaps 0x30(%ecx),%xmm1 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,88,234 // addps %xmm2,%xmm5 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,95,209 // maxps %xmm1,%xmm2 .byte 15,92,234 // subps %xmm2,%xmm5 .byte 15,40,138,194,196,0,0 // movaps 0xc4c2(%edx),%xmm1 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 141,80,4 // lea 0x4(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_lighten_sse2 .globl _sk_lighten_sse2 FUNCTION(_sk_lighten_sse2) _sk_lighten_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 232,0,0,0,0 // call 7ce <_sk_lighten_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 15,40,113,64 // movaps 0x40(%ecx),%xmm6 .byte 15,40,105,16 // movaps 0x10(%ecx),%xmm5 .byte 15,40,121,32 // movaps 0x20(%ecx),%xmm7 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,93,229 // minps %xmm5,%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,40,231 // movaps %xmm7,%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,93,207 // minps %xmm7,%xmm1 .byte 15,92,225 // subps %xmm1,%xmm4 .byte 15,40,73,48 // movaps 0x30(%ecx),%xmm1 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,88,234 // addps %xmm2,%xmm5 .byte 15,89,214 // mulps %xmm6,%xmm2 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,93,209 // minps %xmm1,%xmm2 .byte 15,92,234 // subps %xmm2,%xmm5 .byte 15,40,138,66,196,0,0 // movaps 0xc442(%edx),%xmm1 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 141,80,4 // lea 0x4(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_difference_sse2 .globl _sk_difference_sse2 FUNCTION(_sk_difference_sse2) _sk_difference_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 232,0,0,0,0 // call 851 <_sk_difference_sse2+0x11> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 15,40,105,64 // movaps 0x40(%ecx),%xmm5 .byte 15,40,113,16 // movaps 0x10(%ecx),%xmm6 .byte 15,40,121,32 // movaps 0x20(%ecx),%xmm7 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,88,193 // addps %xmm1,%xmm0 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,93,206 // minps %xmm6,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,93,231 // minps %xmm7,%xmm4 .byte 15,88,228 // addps %xmm4,%xmm4 .byte 15,92,204 // subps %xmm4,%xmm1 .byte 15,40,113,48 // movaps 0x30(%ecx),%xmm6 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,88,226 // addps %xmm2,%xmm4 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,93,214 // minps %xmm6,%xmm2 .byte 15,88,210 // addps %xmm2,%xmm2 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 15,40,146,191,195,0,0 // movaps 0xc3bf(%edx),%xmm2 .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 141,80,4 // lea 0x4(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_exclusion_sse2 .globl _sk_exclusion_sse2 FUNCTION(_sk_exclusion_sse2) _sk_exclusion_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 232,0,0,0,0 // call 8d7 <_sk_exclusion_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 15,40,105,16 // movaps 0x10(%ecx),%xmm5 .byte 15,40,113,32 // movaps 0x20(%ecx),%xmm6 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,88,237 // addps %xmm5,%xmm5 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,88,246 // addps %xmm6,%xmm6 .byte 15,92,230 // subps %xmm6,%xmm4 .byte 15,40,73,48 // movaps 0x30(%ecx),%xmm1 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,88,234 // addps %xmm2,%xmm5 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 15,40,138,57,195,0,0 // movaps 0xc339(%edx),%xmm1 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,89,73,64 // mulps 0x40(%ecx),%xmm1 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 141,80,4 // lea 0x4(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_colorburn_sse2 .globl _sk_colorburn_sse2 FUNCTION(_sk_colorburn_sse2) _sk_colorburn_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,88 // sub $0x58,%esp .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,41,85,168 // movaps %xmm2,-0x58(%ebp) .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 232,0,0,0,0 // call 956 <_sk_colorburn_sse2+0x19> .byte 89 // pop %ecx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 15,40,72,64 // movaps 0x40(%eax),%xmm1 .byte 15,40,104,16 // movaps 0x10(%eax),%xmm5 .byte 15,41,109,232 // movaps %xmm5,-0x18(%ebp) .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,83,244 // rcpps %xmm4,%xmm6 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,93,198 // minps %xmm6,%xmm0 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,92,232 // subps %xmm0,%xmm5 .byte 15,40,177,186,194,0,0 // movaps 0xc2ba(%ecx),%xmm6 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,41,69,200 // movaps %xmm0,-0x38(%ebp) .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 15,89,252 // mulps %xmm4,%xmm7 .byte 15,40,93,232 // movaps -0x18(%ebp),%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 15,88,239 // addps %xmm7,%xmm5 .byte 15,92,240 // subps %xmm0,%xmm6 .byte 15,41,117,184 // movaps %xmm6,-0x48(%ebp) .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,40,117,232 // movaps -0x18(%ebp),%xmm6 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 15,194,231,0 // cmpeqps %xmm7,%xmm4 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,84,196 // andps %xmm4,%xmm0 .byte 15,85,229 // andnps %xmm5,%xmm4 .byte 15,86,224 // orps %xmm0,%xmm4 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,194,193,0 // cmpeqps %xmm1,%xmm0 .byte 15,84,216 // andps %xmm0,%xmm3 .byte 15,85,196 // andnps %xmm4,%xmm0 .byte 15,86,195 // orps %xmm3,%xmm0 .byte 15,41,69,232 // movaps %xmm0,-0x18(%ebp) .byte 15,40,96,32 // movaps 0x20(%eax),%xmm4 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,40,109,216 // movaps -0x28(%ebp),%xmm5 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,83,218 // rcpps %xmm2,%xmm3 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,93,195 // minps %xmm3,%xmm0 .byte 15,40,217 // movaps %xmm1,%xmm3 .byte 15,92,216 // subps %xmm0,%xmm3 .byte 15,40,117,200 // movaps -0x38(%ebp),%xmm6 .byte 15,89,242 // mulps %xmm2,%xmm6 .byte 15,40,69,184 // movaps -0x48(%ebp),%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,194,215,0 // cmpeqps %xmm7,%xmm2 .byte 15,89,221 // mulps %xmm5,%xmm3 .byte 15,88,222 // addps %xmm6,%xmm3 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 15,84,194 // andps %xmm2,%xmm0 .byte 15,85,211 // andnps %xmm3,%xmm2 .byte 15,86,208 // orps %xmm0,%xmm2 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,194,233,0 // cmpeqps %xmm1,%xmm5 .byte 15,84,245 // andps %xmm5,%xmm6 .byte 15,85,234 // andnps %xmm2,%xmm5 .byte 15,86,238 // orps %xmm6,%xmm5 .byte 15,40,69,168 // movaps -0x58(%ebp),%xmm0 .byte 15,40,117,200 // movaps -0x38(%ebp),%xmm6 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,41,117,200 // movaps %xmm6,-0x38(%ebp) .byte 15,194,248,0 // cmpeqps %xmm0,%xmm7 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 15,40,80,48 // movaps 0x30(%eax),%xmm2 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,92,194 // subps %xmm2,%xmm0 .byte 15,89,69,216 // mulps -0x28(%ebp),%xmm0 .byte 15,83,219 // rcpps %xmm3,%xmm3 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,93,227 // minps %xmm3,%xmm4 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 15,40,69,184 // movaps -0x48(%ebp),%xmm0 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,89,242 // mulps %xmm2,%xmm6 .byte 15,194,209,0 // cmpeqps %xmm1,%xmm2 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,41,69,184 // movaps %xmm0,-0x48(%ebp) .byte 15,92,204 // subps %xmm4,%xmm1 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,77,200 // addps -0x38(%ebp),%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,84,247 // andps %xmm7,%xmm6 .byte 15,85,249 // andnps %xmm1,%xmm7 .byte 15,86,254 // orps %xmm6,%xmm7 .byte 15,84,218 // andps %xmm2,%xmm3 .byte 15,85,215 // andnps %xmm7,%xmm2 .byte 15,86,211 // orps %xmm3,%xmm2 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 15,88,93,184 // addps -0x48(%ebp),%xmm3 .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,81,4 // lea 0x4(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,69,232 // movaps -0x18(%ebp),%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 82 // push %edx .byte 80 // push %eax .byte 255,17 // call *(%ecx) .byte 131,196,104 // add $0x68,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_colordodge_sse2 .globl _sk_colordodge_sse2 FUNCTION(_sk_colordodge_sse2) _sk_colordodge_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,88 // sub $0x58,%esp .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,41,85,168 // movaps %xmm2,-0x58(%ebp) .byte 15,41,77,232 // movaps %xmm1,-0x18(%ebp) .byte 232,0,0,0,0 // call adf <_sk_colordodge_sse2+0x16> .byte 89 // pop %ecx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 15,40,72,16 // movaps 0x10(%eax),%xmm1 .byte 15,40,145,49,193,0,0 // movaps 0xc131(%ecx),%xmm2 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,41,85,184 // movaps %xmm2,-0x48(%ebp) .byte 15,89,249 // mulps %xmm1,%xmm7 .byte 15,41,77,216 // movaps %xmm1,-0x28(%ebp) .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,92,216 // subps %xmm0,%xmm3 .byte 15,83,219 // rcpps %xmm3,%xmm3 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,40,104,64 // movaps 0x40(%eax),%xmm5 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,93,203 // minps %xmm3,%xmm1 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,41,101,200 // movaps %xmm4,-0x38(%ebp) .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,194,230,0 // cmpeqps %xmm6,%xmm4 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 15,84,196 // andps %xmm4,%xmm0 .byte 15,85,225 // andnps %xmm1,%xmm4 .byte 15,86,224 // orps %xmm0,%xmm4 .byte 15,88,231 // addps %xmm7,%xmm4 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,40,125,216 // movaps -0x28(%ebp),%xmm7 .byte 15,194,248,0 // cmpeqps %xmm0,%xmm7 .byte 15,84,223 // andps %xmm7,%xmm3 .byte 15,85,252 // andnps %xmm4,%xmm7 .byte 15,86,251 // orps %xmm3,%xmm7 .byte 15,41,125,216 // movaps %xmm7,-0x28(%ebp) .byte 15,40,64,32 // movaps 0x20(%eax),%xmm0 .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,40,85,232 // movaps -0x18(%ebp),%xmm2 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 15,83,228 // rcpps %xmm4,%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,93,204 // minps %xmm4,%xmm1 .byte 15,40,101,200 // movaps -0x38(%ebp),%xmm4 .byte 15,89,226 // mulps %xmm2,%xmm4 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,194,198,0 // cmpeqps %xmm6,%xmm0 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 15,84,208 // andps %xmm0,%xmm2 .byte 15,85,193 // andnps %xmm1,%xmm0 .byte 15,86,194 // orps %xmm2,%xmm0 .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,194,217,0 // cmpeqps %xmm1,%xmm3 .byte 15,84,227 // andps %xmm3,%xmm4 .byte 15,85,216 // andnps %xmm0,%xmm3 .byte 15,86,220 // orps %xmm4,%xmm3 .byte 15,40,64,48 // movaps 0x30(%eax),%xmm0 .byte 15,194,200,0 // cmpeqps %xmm0,%xmm1 .byte 15,41,77,232 // movaps %xmm1,-0x18(%ebp) .byte 15,40,77,184 // movaps -0x48(%ebp),%xmm1 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,40,125,168 // movaps -0x58(%ebp),%xmm7 .byte 15,92,231 // subps %xmm7,%xmm4 .byte 15,83,228 // rcpps %xmm4,%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,93,236 // minps %xmm4,%xmm5 .byte 15,40,231 // movaps %xmm7,%xmm4 .byte 15,40,125,200 // movaps -0x38(%ebp),%xmm7 .byte 15,89,252 // mulps %xmm4,%xmm7 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,194,198,0 // cmpeqps %xmm6,%xmm0 .byte 15,89,238 // mulps %xmm6,%xmm5 .byte 15,88,239 // addps %xmm7,%xmm5 .byte 15,84,224 // andps %xmm0,%xmm4 .byte 15,85,197 // andnps %xmm5,%xmm0 .byte 15,86,196 // orps %xmm4,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,40,85,232 // movaps -0x18(%ebp),%xmm2 .byte 15,84,250 // andps %xmm2,%xmm7 .byte 15,85,208 // andnps %xmm0,%xmm2 .byte 15,86,215 // orps %xmm7,%xmm2 .byte 15,88,241 // addps %xmm1,%xmm6 .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,81,4 // lea 0x4(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 82 // push %edx .byte 80 // push %eax .byte 255,17 // call *(%ecx) .byte 131,196,104 // add $0x68,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_hardlight_sse2 .globl _sk_hardlight_sse2 FUNCTION(_sk_hardlight_sse2) _sk_hardlight_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,88 // sub $0x58,%esp .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,41,85,168 // movaps %xmm2,-0x58(%ebp) .byte 15,41,77,232 // movaps %xmm1,-0x18(%ebp) .byte 232,0,0,0,0 // call c40 <_sk_hardlight_sse2+0x16> .byte 89 // pop %ecx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 15,40,72,64 // movaps 0x40(%eax),%xmm1 .byte 15,40,145,208,191,0,0 // movaps 0xbfd0(%ecx),%xmm2 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 15,41,85,200 // movaps %xmm2,-0x38(%ebp) .byte 15,40,88,16 // movaps 0x10(%eax),%xmm3 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 15,41,85,216 // movaps %xmm2,-0x28(%ebp) .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,92,251 // subps %xmm3,%xmm7 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 15,41,125,184 // movaps %xmm7,-0x48(%ebp) .byte 15,88,228 // addps %xmm4,%xmm4 .byte 15,92,252 // subps %xmm4,%xmm7 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,88,228 // addps %xmm4,%xmm4 .byte 15,194,230,2 // cmpleps %xmm6,%xmm4 .byte 15,88,219 // addps %xmm3,%xmm3 .byte 15,84,220 // andps %xmm4,%xmm3 .byte 15,85,231 // andnps %xmm7,%xmm4 .byte 15,86,227 // orps %xmm3,%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,40,85,232 // movaps -0x18(%ebp),%xmm2 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,40,88,32 // movaps 0x20(%eax),%xmm3 .byte 15,40,69,200 // movaps -0x38(%ebp),%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,193 // addps %xmm1,%xmm0 .byte 15,40,77,216 // movaps -0x28(%ebp),%xmm1 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,92,250 // subps %xmm2,%xmm7 .byte 15,89,249 // mulps %xmm1,%xmm7 .byte 15,88,255 // addps %xmm7,%xmm7 .byte 15,40,85,184 // movaps -0x48(%ebp),%xmm2 .byte 15,92,215 // subps %xmm7,%xmm2 .byte 15,40,77,232 // movaps -0x18(%ebp),%xmm1 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,194,206,2 // cmpleps %xmm6,%xmm1 .byte 15,88,219 // addps %xmm3,%xmm3 .byte 15,84,217 // andps %xmm1,%xmm3 .byte 15,85,202 // andnps %xmm2,%xmm1 .byte 15,86,203 // orps %xmm3,%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,40,125,168 // movaps -0x58(%ebp),%xmm7 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,40,80,48 // movaps 0x30(%eax),%xmm2 .byte 15,40,93,200 // movaps -0x38(%ebp),%xmm3 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,41,69,232 // movaps %xmm0,-0x18(%ebp) .byte 15,40,239 // movaps %xmm7,%xmm5 .byte 15,88,237 // addps %xmm5,%xmm5 .byte 15,194,238,2 // cmpleps %xmm6,%xmm5 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,92,194 // subps %xmm2,%xmm0 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,88,222 // addps %xmm6,%xmm3 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,88,246 // addps %xmm6,%xmm6 .byte 15,40,125,184 // movaps -0x48(%ebp),%xmm7 .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,88,210 // addps %xmm2,%xmm2 .byte 15,84,213 // andps %xmm5,%xmm2 .byte 15,85,239 // andnps %xmm7,%xmm5 .byte 15,86,234 // orps %xmm2,%xmm5 .byte 15,88,109,232 // addps -0x18(%ebp),%xmm5 .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,81,4 // lea 0x4(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 82 // push %edx .byte 80 // push %eax .byte 255,17 // call *(%ecx) .byte 131,196,104 // add $0x68,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_overlay_sse2 .globl _sk_overlay_sse2 FUNCTION(_sk_overlay_sse2) _sk_overlay_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,104 // sub $0x68,%esp .byte 15,41,93,232 // movaps %xmm3,-0x18(%ebp) .byte 15,41,85,152 // movaps %xmm2,-0x68(%ebp) .byte 15,41,77,168 // movaps %xmm1,-0x58(%ebp) .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 232,0,0,0,0 // call d8b <_sk_overlay_sse2+0x1a> .byte 89 // pop %ecx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 15,40,80,64 // movaps 0x40(%eax),%xmm2 .byte 15,40,161,133,190,0,0 // movaps 0xbe85(%ecx),%xmm4 .byte 15,40,244 // movaps %xmm4,%xmm6 .byte 15,92,242 // subps %xmm2,%xmm6 .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,41,101,200 // movaps %xmm4,-0x38(%ebp) .byte 15,40,64,16 // movaps 0x10(%eax),%xmm0 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,41,69,216 // movaps %xmm0,-0x28(%ebp) .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,40,77,232 // movaps -0x18(%ebp),%xmm1 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 15,41,109,184 // movaps %xmm5,-0x48(%ebp) .byte 15,88,228 // addps %xmm4,%xmm4 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,40,77,216 // movaps -0x28(%ebp),%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,194,202,2 // cmpleps %xmm2,%xmm1 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,84,193 // andps %xmm1,%xmm0 .byte 15,85,205 // andnps %xmm5,%xmm1 .byte 15,86,200 // orps %xmm0,%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 15,41,77,216 // movaps %xmm1,-0x28(%ebp) .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,40,69,168 // movaps -0x58(%ebp),%xmm0 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,40,88,32 // movaps 0x20(%eax),%xmm3 .byte 15,40,101,200 // movaps -0x38(%ebp),%xmm4 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,40,235 // movaps %xmm3,%xmm5 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,40,125,232 // movaps -0x18(%ebp),%xmm7 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,89,249 // mulps %xmm1,%xmm7 .byte 15,88,255 // addps %xmm7,%xmm7 .byte 15,40,77,184 // movaps -0x48(%ebp),%xmm1 .byte 15,92,207 // subps %xmm7,%xmm1 .byte 15,88,237 // addps %xmm5,%xmm5 .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,194,239,2 // cmpleps %xmm7,%xmm5 .byte 15,88,219 // addps %xmm3,%xmm3 .byte 15,84,221 // andps %xmm5,%xmm3 .byte 15,85,233 // andnps %xmm1,%xmm5 .byte 15,86,235 // orps %xmm3,%xmm5 .byte 15,88,236 // addps %xmm4,%xmm5 .byte 15,40,93,152 // movaps -0x68(%ebp),%xmm3 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,40,72,48 // movaps 0x30(%eax),%xmm1 .byte 15,40,101,200 // movaps -0x38(%ebp),%xmm4 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,88,246 // addps %xmm6,%xmm6 .byte 15,194,247,2 // cmpleps %xmm7,%xmm6 .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 15,92,249 // subps %xmm1,%xmm7 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 15,40,93,232 // movaps -0x18(%ebp),%xmm3 .byte 15,88,227 // addps %xmm3,%xmm4 .byte 15,92,223 // subps %xmm7,%xmm3 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,88,219 // addps %xmm3,%xmm3 .byte 15,40,125,184 // movaps -0x48(%ebp),%xmm7 .byte 15,92,251 // subps %xmm3,%xmm7 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,84,206 // andps %xmm6,%xmm1 .byte 15,85,247 // andnps %xmm7,%xmm6 .byte 15,86,241 // orps %xmm1,%xmm6 .byte 15,88,242 // addps %xmm2,%xmm6 .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,81,4 // lea 0x4(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 82 // push %edx .byte 80 // push %eax .byte 255,17 // call *(%ecx) .byte 131,196,120 // add $0x78,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_softlight_sse2 .globl _sk_softlight_sse2 FUNCTION(_sk_softlight_sse2) _sk_softlight_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 129,236,184,0,0,0 // sub $0xb8,%esp .byte 15,41,93,168 // movaps %xmm3,-0x58(%ebp) .byte 15,41,149,88,255,255,255 // movaps %xmm2,-0xa8(%ebp) .byte 15,41,77,136 // movaps %xmm1,-0x78(%ebp) .byte 15,41,69,216 // movaps %xmm0,-0x28(%ebp) .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 15,40,88,64 // movaps 0x40(%eax),%xmm3 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,194,195,1 // cmpltps %xmm3,%xmm0 .byte 15,41,69,200 // movaps %xmm0,-0x38(%ebp) .byte 15,40,104,16 // movaps 0x10(%eax),%xmm5 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 15,94,211 // divps %xmm3,%xmm2 .byte 15,84,208 // andps %xmm0,%xmm2 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,89,246 // mulps %xmm6,%xmm6 .byte 15,88,241 // addps %xmm1,%xmm6 .byte 232,0,0,0,0 // call f1b <_sk_softlight_sse2+0x52> .byte 89 // pop %ecx .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,40,137,101,189,0,0 // movaps 0xbd65(%ecx),%xmm1 .byte 15,41,141,104,255,255,255 // movaps %xmm1,-0x98(%ebp) .byte 15,88,193 // addps %xmm1,%xmm0 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,40,185,245,188,0,0 // movaps 0xbcf5(%ecx),%xmm7 .byte 15,41,125,232 // movaps %xmm7,-0x18(%ebp) .byte 15,92,250 // subps %xmm2,%xmm7 .byte 15,82,242 // rsqrtps %xmm2,%xmm6 .byte 15,83,206 // rcpps %xmm6,%xmm1 .byte 15,92,202 // subps %xmm2,%xmm1 .byte 15,40,161,117,189,0,0 // movaps 0xbd75(%ecx),%xmm4 .byte 15,41,101,152 // movaps %xmm4,-0x68(%ebp) .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,41,117,184 // movaps %xmm6,-0x48(%ebp) .byte 15,194,198,2 // cmpleps %xmm6,%xmm0 .byte 15,84,208 // andps %xmm0,%xmm2 .byte 15,85,193 // andnps %xmm1,%xmm0 .byte 15,86,194 // orps %xmm2,%xmm0 .byte 15,40,85,216 // movaps -0x28(%ebp),%xmm2 .byte 15,88,210 // addps %xmm2,%xmm2 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,40,93,168 // movaps -0x58(%ebp),%xmm3 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,89,249 // mulps %xmm1,%xmm7 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,88,193 // addps %xmm1,%xmm0 .byte 15,88,251 // addps %xmm3,%xmm7 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,40,101,232 // movaps -0x18(%ebp),%xmm4 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,92,206 // subps %xmm6,%xmm1 .byte 15,41,141,120,255,255,255 // movaps %xmm1,-0x88(%ebp) .byte 15,40,117,216 // movaps -0x28(%ebp),%xmm6 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,41,101,216 // movaps %xmm4,-0x28(%ebp) .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,88,245 // addps %xmm5,%xmm6 .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,194,211,2 // cmpleps %xmm3,%xmm2 .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,84,250 // andps %xmm2,%xmm7 .byte 15,85,208 // andnps %xmm0,%xmm2 .byte 15,86,215 // orps %xmm7,%xmm2 .byte 15,88,209 // addps %xmm1,%xmm2 .byte 15,41,149,72,255,255,255 // movaps %xmm2,-0xb8(%ebp) .byte 15,40,64,32 // movaps 0x20(%eax),%xmm0 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,94,101,184 // divps -0x48(%ebp),%xmm4 .byte 15,84,101,200 // andps -0x38(%ebp),%xmm4 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,88,201 // addps %xmm1,%xmm1 .byte 15,40,217 // movaps %xmm1,%xmm3 .byte 15,89,219 // mulps %xmm3,%xmm3 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,88,141,104,255,255,255 // addps -0x98(%ebp),%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,40,125,232 // movaps -0x18(%ebp),%xmm7 .byte 15,92,252 // subps %xmm4,%xmm7 .byte 15,82,220 // rsqrtps %xmm4,%xmm3 .byte 15,83,235 // rcpps %xmm3,%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,89,101,152 // mulps -0x68(%ebp),%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 15,40,93,136 // movaps -0x78(%ebp),%xmm3 .byte 15,88,219 // addps %xmm3,%xmm3 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,92,206 // subps %xmm6,%xmm1 .byte 15,89,249 // mulps %xmm1,%xmm7 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,40,117,216 // movaps -0x28(%ebp),%xmm6 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,194,69,184,2 // cmpleps -0x48(%ebp),%xmm0 .byte 15,84,224 // andps %xmm0,%xmm4 .byte 15,85,197 // andnps %xmm5,%xmm0 .byte 15,86,196 // orps %xmm4,%xmm0 .byte 15,40,101,184 // movaps -0x48(%ebp),%xmm4 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,40,109,168 // movaps -0x58(%ebp),%xmm5 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,40,77,136 // movaps -0x78(%ebp),%xmm1 .byte 15,89,141,120,255,255,255 // mulps -0x88(%ebp),%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,194,221,2 // cmpleps %xmm5,%xmm3 .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 15,84,251 // andps %xmm3,%xmm7 .byte 15,85,216 // andnps %xmm0,%xmm3 .byte 15,86,223 // orps %xmm7,%xmm3 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 15,40,64,48 // movaps 0x30(%eax),%xmm0 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 15,94,252 // divps %xmm4,%xmm7 .byte 15,84,125,200 // andps -0x38(%ebp),%xmm7 .byte 15,40,77,232 // movaps -0x18(%ebp),%xmm1 .byte 15,92,207 // subps %xmm7,%xmm1 .byte 15,41,77,232 // movaps %xmm1,-0x18(%ebp) .byte 15,40,173,104,255,255,255 // movaps -0x98(%ebp),%xmm5 .byte 15,88,239 // addps %xmm7,%xmm5 .byte 15,40,101,152 // movaps -0x68(%ebp),%xmm4 .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 15,82,207 // rsqrtps %xmm7,%xmm1 .byte 15,83,201 // rcpps %xmm1,%xmm1 .byte 15,92,207 // subps %xmm7,%xmm1 .byte 15,41,77,200 // movaps %xmm1,-0x38(%ebp) .byte 15,88,255 // addps %xmm7,%xmm7 .byte 15,88,255 // addps %xmm7,%xmm7 .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 15,89,210 // mulps %xmm2,%xmm2 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,40,173,88,255,255,255 // movaps -0xa8(%ebp),%xmm5 .byte 15,88,237 // addps %xmm5,%xmm5 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 15,40,101,232 // movaps -0x18(%ebp),%xmm4 .byte 15,89,226 // mulps %xmm2,%xmm4 .byte 15,88,230 // addps %xmm6,%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,41,101,232 // movaps %xmm4,-0x18(%ebp) .byte 15,40,101,216 // movaps -0x28(%ebp),%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,88,192 // addps %xmm0,%xmm0 .byte 15,40,125,184 // movaps -0x48(%ebp),%xmm7 .byte 15,194,199,2 // cmpleps %xmm7,%xmm0 .byte 15,84,200 // andps %xmm0,%xmm1 .byte 15,85,69,200 // andnps -0x38(%ebp),%xmm0 .byte 15,86,193 // orps %xmm1,%xmm0 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 15,40,85,168 // movaps -0x58(%ebp),%xmm2 .byte 15,89,242 // mulps %xmm2,%xmm6 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,40,141,88,255,255,255 // movaps -0xa8(%ebp),%xmm1 .byte 15,89,141,120,255,255,255 // mulps -0x88(%ebp),%xmm1 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 15,194,234,2 // cmpleps %xmm2,%xmm5 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,40,85,232 // movaps -0x18(%ebp),%xmm2 .byte 15,84,213 // andps %xmm5,%xmm2 .byte 15,85,232 // andnps %xmm0,%xmm5 .byte 15,86,234 // orps %xmm2,%xmm5 .byte 15,88,233 // addps %xmm1,%xmm5 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,81,4 // lea 0x4(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,133,72,255,255,255 // movaps -0xb8(%ebp),%xmm0 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 82 // push %edx .byte 80 // push %eax .byte 255,17 // call *(%ecx) .byte 129,196,200,0,0,0 // add $0xc8,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_hue_sse2 .globl _sk_hue_sse2 FUNCTION(_sk_hue_sse2) _sk_hue_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 129,236,184,0,0,0 // sub $0xb8,%esp .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 15,41,85,232 // movaps %xmm2,-0x18(%ebp) .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 15,40,72,16 // movaps 0x10(%eax),%xmm1 .byte 15,40,64,32 // movaps 0x20(%eax),%xmm0 .byte 15,41,69,136 // movaps %xmm0,-0x78(%ebp) .byte 15,40,88,48 // movaps 0x30(%eax),%xmm3 .byte 15,41,93,200 // movaps %xmm3,-0x38(%ebp) .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,95,211 // maxps %xmm3,%xmm2 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,41,77,152 // movaps %xmm1,-0x68(%ebp) .byte 15,95,226 // maxps %xmm2,%xmm4 .byte 15,93,195 // minps %xmm3,%xmm0 .byte 15,93,200 // minps %xmm0,%xmm1 .byte 15,92,225 // subps %xmm1,%xmm4 .byte 15,41,101,168 // movaps %xmm4,-0x58(%ebp) .byte 232,0,0,0,0 // call 11dc <_sk_hue_sse2+0x4f> .byte 89 // pop %ecx .byte 15,40,221 // movaps %xmm5,%xmm3 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,40,72,64 // movaps 0x40(%eax),%xmm1 .byte 15,41,77,216 // movaps %xmm1,-0x28(%ebp) .byte 15,40,169,52,186,0,0 // movaps 0xba34(%ecx),%xmm5 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,41,133,72,255,255,255 // movaps %xmm0,-0xb8(%ebp) .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,41,181,104,255,255,255 // movaps %xmm6,-0x98(%ebp) .byte 15,40,69,232 // movaps -0x18(%ebp),%xmm0 .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 15,41,173,88,255,255,255 // movaps %xmm5,-0xa8(%ebp) .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 15,41,85,184 // movaps %xmm2,-0x48(%ebp) .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,93,200 // minps %xmm0,%xmm1 .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,93,249 // minps %xmm1,%xmm7 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,95,200 // maxps %xmm0,%xmm1 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,95,225 // maxps %xmm1,%xmm4 .byte 15,92,231 // subps %xmm7,%xmm4 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,92,199 // subps %xmm7,%xmm0 .byte 15,40,77,168 // movaps -0x58(%ebp),%xmm1 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 15,41,173,120,255,255,255 // movaps %xmm5,-0x88(%ebp) .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,40,153,196,186,0,0 // movaps 0xbac4(%ecx),%xmm3 .byte 15,41,93,232 // movaps %xmm3,-0x18(%ebp) .byte 15,40,117,152 // movaps -0x68(%ebp),%xmm6 .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,40,153,212,186,0,0 // movaps 0xbad4(%ecx),%xmm3 .byte 15,40,109,136 // movaps -0x78(%ebp),%xmm5 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,88,249 // addps %xmm1,%xmm7 .byte 15,40,137,52,186,0,0 // movaps 0xba34(%ecx),%xmm1 .byte 15,92,77,184 // subps -0x48(%ebp),%xmm1 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,41,117,152 // movaps %xmm6,-0x68(%ebp) .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 15,41,109,136 // movaps %xmm5,-0x78(%ebp) .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,40,77,200 // movaps -0x38(%ebp),%xmm1 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,41,117,168 // movaps %xmm6,-0x58(%ebp) .byte 15,40,169,228,186,0,0 // movaps 0xbae4(%ecx),%xmm5 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,94,212 // divps %xmm4,%xmm2 .byte 15,40,181,120,255,255,255 // movaps -0x88(%ebp),%xmm6 .byte 15,94,244 // divps %xmm4,%xmm6 .byte 15,94,196 // divps %xmm4,%xmm0 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 15,194,231,4 // cmpneqps %xmm7,%xmm4 .byte 15,84,212 // andps %xmm4,%xmm2 .byte 15,84,244 // andps %xmm4,%xmm6 .byte 15,84,224 // andps %xmm0,%xmm4 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,89,69,232 // mulps -0x18(%ebp),%xmm0 .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,89,77,184 // mulps -0x48(%ebp),%xmm1 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,88,209 // addps %xmm1,%xmm2 .byte 15,88,241 // addps %xmm1,%xmm6 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,93,193 // minps %xmm1,%xmm0 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,93,224 // minps %xmm0,%xmm4 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,95,193 // maxps %xmm1,%xmm0 .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,95,248 // maxps %xmm0,%xmm7 .byte 15,40,69,232 // movaps -0x18(%ebp),%xmm0 .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 15,89,222 // mulps %xmm6,%xmm3 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 15,88,235 // addps %xmm3,%xmm5 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,194,196,2 // cmpleps %xmm4,%xmm0 .byte 15,40,221 // movaps %xmm5,%xmm3 .byte 15,92,220 // subps %xmm4,%xmm3 .byte 15,41,93,232 // movaps %xmm3,-0x18(%ebp) .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,94,227 // divps %xmm3,%xmm4 .byte 15,88,229 // addps %xmm5,%xmm4 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 15,85,220 // andnps %xmm4,%xmm3 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,84,224 // andps %xmm0,%xmm4 .byte 15,86,227 // orps %xmm3,%xmm4 .byte 15,40,85,216 // movaps -0x28(%ebp),%xmm2 .byte 15,40,93,184 // movaps -0x48(%ebp),%xmm3 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,88,93,216 // addps -0x28(%ebp),%xmm3 .byte 15,92,218 // subps %xmm2,%xmm3 .byte 15,41,93,184 // movaps %xmm3,-0x48(%ebp) .byte 15,41,85,216 // movaps %xmm2,-0x28(%ebp) .byte 15,194,215,1 // cmpltps %xmm7,%xmm2 .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,85,220 // andnps %xmm4,%xmm3 .byte 15,41,93,200 // movaps %xmm3,-0x38(%ebp) .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 15,92,221 // subps %xmm5,%xmm3 .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,92,253 // subps %xmm5,%xmm7 .byte 15,94,231 // divps %xmm7,%xmm4 .byte 15,88,229 // addps %xmm5,%xmm4 .byte 15,84,226 // andps %xmm2,%xmm4 .byte 15,86,101,200 // orps -0x38(%ebp),%xmm4 .byte 15,41,101,200 // movaps %xmm4,-0x38(%ebp) .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 15,92,221 // subps %xmm5,%xmm3 .byte 15,89,221 // mulps %xmm5,%xmm3 .byte 15,94,93,232 // divps -0x18(%ebp),%xmm3 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,85,227 // andnps %xmm3,%xmm4 .byte 15,84,240 // andps %xmm0,%xmm6 .byte 15,86,244 // orps %xmm4,%xmm6 .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,85,220 // andnps %xmm4,%xmm3 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,40,117,216 // movaps -0x28(%ebp),%xmm6 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 15,94,231 // divps %xmm7,%xmm4 .byte 15,88,229 // addps %xmm5,%xmm4 .byte 15,84,226 // andps %xmm2,%xmm4 .byte 15,86,227 // orps %xmm3,%xmm4 .byte 15,40,217 // movaps %xmm1,%xmm3 .byte 15,92,221 // subps %xmm5,%xmm3 .byte 15,89,221 // mulps %xmm5,%xmm3 .byte 15,94,93,232 // divps -0x18(%ebp),%xmm3 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 15,84,200 // andps %xmm0,%xmm1 .byte 15,85,195 // andnps %xmm3,%xmm0 .byte 15,86,193 // orps %xmm1,%xmm0 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,85,200 // andnps %xmm0,%xmm1 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,94,199 // divps %xmm7,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,84,194 // andps %xmm2,%xmm0 .byte 15,86,193 // orps %xmm1,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,40,85,200 // movaps -0x38(%ebp),%xmm2 .byte 15,95,209 // maxps %xmm1,%xmm2 .byte 15,95,225 // maxps %xmm1,%xmm4 .byte 15,95,193 // maxps %xmm1,%xmm0 .byte 15,40,157,72,255,255,255 // movaps -0xb8(%ebp),%xmm3 .byte 15,88,93,152 // addps -0x68(%ebp),%xmm3 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 15,40,141,104,255,255,255 // movaps -0x98(%ebp),%xmm1 .byte 15,88,77,136 // addps -0x78(%ebp),%xmm1 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 15,40,85,168 // movaps -0x58(%ebp),%xmm2 .byte 15,88,149,88,255,255,255 // addps -0xa8(%ebp),%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,81,4 // lea 0x4(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,40,93,184 // movaps -0x48(%ebp),%xmm3 .byte 82 // push %edx .byte 80 // push %eax .byte 255,17 // call *(%ecx) .byte 129,196,200,0,0,0 // add $0xc8,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_saturation_sse2 .globl _sk_saturation_sse2 FUNCTION(_sk_saturation_sse2) _sk_saturation_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 129,236,216,0,0,0 // sub $0xd8,%esp .byte 15,41,149,40,255,255,255 // movaps %xmm2,-0xd8(%ebp) .byte 15,41,141,56,255,255,255 // movaps %xmm1,-0xc8(%ebp) .byte 15,41,133,72,255,255,255 // movaps %xmm0,-0xb8(%ebp) .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 15,40,112,16 // movaps 0x10(%eax),%xmm6 .byte 15,41,117,184 // movaps %xmm6,-0x48(%ebp) .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,95,226 // maxps %xmm2,%xmm4 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,95,236 // maxps %xmm4,%xmm5 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,93,226 // minps %xmm2,%xmm4 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,93,212 // minps %xmm4,%xmm2 .byte 15,40,64,32 // movaps 0x20(%eax),%xmm0 .byte 15,92,234 // subps %xmm2,%xmm5 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,40,120,48 // movaps 0x30(%eax),%xmm7 .byte 15,41,125,200 // movaps %xmm7,-0x38(%ebp) .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,93,207 // minps %xmm7,%xmm1 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,93,209 // minps %xmm1,%xmm2 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,95,207 // maxps %xmm7,%xmm1 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,95,225 // maxps %xmm1,%xmm4 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 15,92,194 // subps %xmm2,%xmm0 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,92,218 // subps %xmm2,%xmm3 .byte 15,92,250 // subps %xmm2,%xmm7 .byte 15,40,64,64 // movaps 0x40(%eax),%xmm0 .byte 15,41,69,152 // movaps %xmm0,-0x68(%ebp) .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,41,77,168 // movaps %xmm1,-0x58(%ebp) .byte 15,89,221 // mulps %xmm5,%xmm3 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 232,0,0,0,0 // call 1530 <_sk_saturation_sse2+0xb0> .byte 89 // pop %ecx .byte 15,40,153,112,183,0,0 // movaps 0xb770(%ecx),%xmm3 .byte 15,41,157,88,255,255,255 // movaps %xmm3,-0xa8(%ebp) .byte 15,40,77,184 // movaps -0x48(%ebp),%xmm1 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,40,153,128,183,0,0 // movaps 0xb780(%ecx),%xmm3 .byte 15,41,93,232 // movaps %xmm3,-0x18(%ebp) .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,40,129,224,182,0,0 // movaps 0xb6e0(%ecx),%xmm0 .byte 15,41,133,104,255,255,255 // movaps %xmm0,-0x98(%ebp) .byte 15,92,69,216 // subps -0x28(%ebp),%xmm0 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,41,77,184 // movaps %xmm1,-0x48(%ebp) .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,41,117,136 // movaps %xmm6,-0x78(%ebp) .byte 15,40,69,200 // movaps -0x38(%ebp),%xmm0 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,41,141,120,255,255,255 // movaps %xmm1,-0x88(%ebp) .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,129,144,183,0,0 // movaps 0xb790(%ecx),%xmm0 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,40,109,168 // movaps -0x58(%ebp),%xmm5 .byte 15,94,236 // divps %xmm4,%xmm5 .byte 15,94,212 // divps %xmm4,%xmm2 .byte 15,94,252 // divps %xmm4,%xmm7 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,194,227,4 // cmpneqps %xmm3,%xmm4 .byte 15,84,236 // andps %xmm4,%xmm5 .byte 15,84,212 // andps %xmm4,%xmm2 .byte 15,84,231 // andps %xmm7,%xmm4 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 15,40,165,88,255,255,255 // movaps -0xa8(%ebp),%xmm4 .byte 15,89,244 // mulps %xmm4,%xmm6 .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,89,125,232 // mulps -0x18(%ebp),%xmm7 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,89,77,216 // mulps -0x28(%ebp),%xmm1 .byte 15,92,206 // subps %xmm6,%xmm1 .byte 15,88,233 // addps %xmm1,%xmm5 .byte 15,88,209 // addps %xmm1,%xmm2 .byte 15,41,85,200 // movaps %xmm2,-0x38(%ebp) .byte 15,88,203 // addps %xmm3,%xmm1 .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,93,217 // minps %xmm1,%xmm3 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,93,251 // minps %xmm3,%xmm7 .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,95,217 // maxps %xmm1,%xmm3 .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 15,95,243 // maxps %xmm3,%xmm6 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,40,93,232 // movaps -0x18(%ebp),%xmm3 .byte 15,89,218 // mulps %xmm2,%xmm3 .byte 15,88,220 // addps %xmm4,%xmm3 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,194,223,2 // cmpleps %xmm7,%xmm3 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,92,215 // subps %xmm7,%xmm2 .byte 15,41,85,232 // movaps %xmm2,-0x18(%ebp) .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,94,250 // divps %xmm2,%xmm7 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,85,215 // andnps %xmm7,%xmm2 .byte 15,84,235 // andps %xmm3,%xmm5 .byte 15,86,234 // orps %xmm2,%xmm5 .byte 15,40,125,152 // movaps -0x68(%ebp),%xmm7 .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 15,40,101,216 // movaps -0x28(%ebp),%xmm4 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,231 // addps %xmm7,%xmm4 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 15,41,101,216 // movaps %xmm4,-0x28(%ebp) .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,194,214,1 // cmpltps %xmm6,%xmm2 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,85,229 // andnps %xmm5,%xmm4 .byte 15,92,232 // subps %xmm0,%xmm5 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,92,240 // subps %xmm0,%xmm6 .byte 15,94,238 // divps %xmm6,%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,84,234 // andps %xmm2,%xmm5 .byte 15,86,236 // orps %xmm4,%xmm5 .byte 15,41,109,168 // movaps %xmm5,-0x58(%ebp) .byte 15,40,101,200 // movaps -0x38(%ebp),%xmm4 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,94,101,232 // divps -0x18(%ebp),%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,40,235 // movaps %xmm3,%xmm5 .byte 15,85,236 // andnps %xmm4,%xmm5 .byte 15,40,101,200 // movaps -0x38(%ebp),%xmm4 .byte 15,84,227 // andps %xmm3,%xmm4 .byte 15,86,229 // orps %xmm5,%xmm4 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,85,236 // andnps %xmm4,%xmm5 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 15,94,230 // divps %xmm6,%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,84,226 // andps %xmm2,%xmm4 .byte 15,86,229 // orps %xmm5,%xmm4 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,94,101,232 // divps -0x18(%ebp),%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,84,203 // andps %xmm3,%xmm1 .byte 15,85,220 // andnps %xmm4,%xmm3 .byte 15,86,217 // orps %xmm1,%xmm3 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,85,203 // andnps %xmm3,%xmm1 .byte 15,92,216 // subps %xmm0,%xmm3 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 15,94,222 // divps %xmm6,%xmm3 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 15,84,218 // andps %xmm2,%xmm3 .byte 15,86,217 // orps %xmm1,%xmm3 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,40,77,168 // movaps -0x58(%ebp),%xmm1 .byte 15,95,200 // maxps %xmm0,%xmm1 .byte 15,95,232 // maxps %xmm0,%xmm5 .byte 15,95,216 // maxps %xmm0,%xmm3 .byte 15,40,165,104,255,255,255 // movaps -0x98(%ebp),%xmm4 .byte 15,92,101,152 // subps -0x68(%ebp),%xmm4 .byte 15,40,133,72,255,255,255 // movaps -0xb8(%ebp),%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,69,184 // addps -0x48(%ebp),%xmm0 .byte 15,88,193 // addps %xmm1,%xmm0 .byte 15,40,141,56,255,255,255 // movaps -0xc8(%ebp),%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,77,136 // addps -0x78(%ebp),%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,89,165,40,255,255,255 // mulps -0xd8(%ebp),%xmm4 .byte 15,40,149,120,255,255,255 // movaps -0x88(%ebp),%xmm2 .byte 15,88,212 // addps %xmm4,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,81,4 // lea 0x4(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 82 // push %edx .byte 80 // push %eax .byte 255,17 // call *(%ecx) .byte 129,196,232,0,0,0 // add $0xe8,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_color_sse2 .globl _sk_color_sse2 FUNCTION(_sk_color_sse2) _sk_color_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 129,236,200,0,0,0 // sub $0xc8,%esp .byte 15,41,93,200 // movaps %xmm3,-0x38(%ebp) .byte 15,41,85,152 // movaps %xmm2,-0x68(%ebp) .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,41,165,104,255,255,255 // movaps %xmm4,-0x98(%ebp) .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,41,173,120,255,255,255 // movaps %xmm5,-0x88(%ebp) .byte 232,0,0,0,0 // call 178b <_sk_color_sse2+0x2a> .byte 89 // pop %ecx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 15,40,80,16 // movaps 0x10(%eax),%xmm2 .byte 15,40,72,32 // movaps 0x20(%eax),%xmm1 .byte 15,40,177,21,181,0,0 // movaps 0xb515(%ecx),%xmm6 .byte 15,41,117,216 // movaps %xmm6,-0x28(%ebp) .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,40,153,37,181,0,0 // movaps 0xb525(%ecx),%xmm3 .byte 15,41,93,184 // movaps %xmm3,-0x48(%ebp) .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,88,240 // addps %xmm0,%xmm6 .byte 15,40,129,133,180,0,0 // movaps 0xb485(%ecx),%xmm0 .byte 15,41,69,168 // movaps %xmm0,-0x58(%ebp) .byte 15,92,69,200 // subps -0x38(%ebp),%xmm0 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,41,149,56,255,255,255 // movaps %xmm2,-0xc8(%ebp) .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,41,141,88,255,255,255 // movaps %xmm1,-0xa8(%ebp) .byte 15,40,80,48 // movaps 0x30(%eax),%xmm2 .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 15,41,133,72,255,255,255 // movaps %xmm0,-0xb8(%ebp) .byte 15,40,137,53,181,0,0 // movaps 0xb535(%ecx),%xmm1 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,40,88,64 // movaps 0x40(%eax),%xmm3 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,89,244 // mulps %xmm4,%xmm6 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,89,109,216 // mulps -0x28(%ebp),%xmm5 .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,89,125,184 // mulps -0x48(%ebp),%xmm7 .byte 15,88,253 // addps %xmm5,%xmm7 .byte 15,40,109,168 // movaps -0x58(%ebp),%xmm5 .byte 15,92,235 // subps %xmm3,%xmm5 .byte 15,41,109,168 // movaps %xmm5,-0x58(%ebp) .byte 15,40,109,200 // movaps -0x38(%ebp),%xmm5 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,41,93,232 // movaps %xmm3,-0x18(%ebp) .byte 15,40,101,232 // movaps -0x18(%ebp),%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,41,101,232 // movaps %xmm4,-0x18(%ebp) .byte 15,88,235 // addps %xmm3,%xmm5 .byte 15,41,109,200 // movaps %xmm5,-0x38(%ebp) .byte 15,40,235 // movaps %xmm3,%xmm5 .byte 15,89,109,152 // mulps -0x68(%ebp),%xmm5 .byte 15,40,221 // movaps %xmm5,%xmm3 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,88,242 // addps %xmm2,%xmm6 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 15,93,218 // minps %xmm2,%xmm3 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,93,227 // minps %xmm3,%xmm4 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 15,95,218 // maxps %xmm2,%xmm3 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,95,235 // maxps %xmm3,%xmm5 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,40,125,184 // movaps -0x48(%ebp),%xmm7 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 15,88,251 // addps %xmm3,%xmm7 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 15,194,252,2 // cmpleps %xmm4,%xmm7 .byte 15,40,217 // movaps %xmm1,%xmm3 .byte 15,92,220 // subps %xmm4,%xmm3 .byte 15,41,93,184 // movaps %xmm3,-0x48(%ebp) .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,92,225 // subps %xmm1,%xmm4 .byte 15,89,225 // mulps %xmm1,%xmm4 .byte 15,94,227 // divps %xmm3,%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 15,85,220 // andnps %xmm4,%xmm3 .byte 15,84,199 // andps %xmm7,%xmm0 .byte 15,86,195 // orps %xmm3,%xmm0 .byte 15,40,93,200 // movaps -0x38(%ebp),%xmm3 .byte 15,40,101,232 // movaps -0x18(%ebp),%xmm4 .byte 15,92,220 // subps %xmm4,%xmm3 .byte 15,41,93,200 // movaps %xmm3,-0x38(%ebp) .byte 15,41,101,216 // movaps %xmm4,-0x28(%ebp) .byte 15,194,229,1 // cmpltps %xmm5,%xmm4 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,85,216 // andnps %xmm0,%xmm3 .byte 15,41,93,232 // movaps %xmm3,-0x18(%ebp) .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 15,92,217 // subps %xmm1,%xmm3 .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 15,41,109,136 // movaps %xmm5,-0x78(%ebp) .byte 15,94,197 // divps %xmm5,%xmm0 .byte 15,88,193 // addps %xmm1,%xmm0 .byte 15,84,196 // andps %xmm4,%xmm0 .byte 15,86,69,232 // orps -0x18(%ebp),%xmm0 .byte 15,40,222 // movaps %xmm6,%xmm3 .byte 15,92,217 // subps %xmm1,%xmm3 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,94,93,184 // divps -0x48(%ebp),%xmm3 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 15,41,125,232 // movaps %xmm7,-0x18(%ebp) .byte 15,40,109,232 // movaps -0x18(%ebp),%xmm5 .byte 15,85,235 // andnps %xmm3,%xmm5 .byte 15,41,109,232 // movaps %xmm5,-0x18(%ebp) .byte 15,84,247 // andps %xmm7,%xmm6 .byte 15,86,117,232 // orps -0x18(%ebp),%xmm6 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,85,222 // andnps %xmm6,%xmm3 .byte 15,92,241 // subps %xmm1,%xmm6 .byte 15,89,117,216 // mulps -0x28(%ebp),%xmm6 .byte 15,40,109,136 // movaps -0x78(%ebp),%xmm5 .byte 15,94,245 // divps %xmm5,%xmm6 .byte 15,88,241 // addps %xmm1,%xmm6 .byte 15,84,244 // andps %xmm4,%xmm6 .byte 15,86,243 // orps %xmm3,%xmm6 .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,92,217 // subps %xmm1,%xmm3 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,94,93,184 // divps -0x48(%ebp),%xmm3 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 15,84,215 // andps %xmm7,%xmm2 .byte 15,85,251 // andnps %xmm3,%xmm7 .byte 15,86,250 // orps %xmm2,%xmm7 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 15,85,215 // andnps %xmm7,%xmm2 .byte 15,92,249 // subps %xmm1,%xmm7 .byte 15,89,125,216 // mulps -0x28(%ebp),%xmm7 .byte 15,94,253 // divps %xmm5,%xmm7 .byte 15,88,249 // addps %xmm1,%xmm7 .byte 15,84,252 // andps %xmm4,%xmm7 .byte 15,86,250 // orps %xmm2,%xmm7 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,95,193 // maxps %xmm1,%xmm0 .byte 15,95,241 // maxps %xmm1,%xmm6 .byte 15,95,249 // maxps %xmm1,%xmm7 .byte 15,40,141,120,255,255,255 // movaps -0x88(%ebp),%xmm1 .byte 15,40,85,168 // movaps -0x58(%ebp),%xmm2 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,88,141,56,255,255,255 // addps -0xc8(%ebp),%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,40,141,104,255,255,255 // movaps -0x98(%ebp),%xmm1 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,88,141,88,255,255,255 // addps -0xa8(%ebp),%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,40,85,152 // movaps -0x68(%ebp),%xmm2 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,88,149,72,255,255,255 // addps -0xb8(%ebp),%xmm2 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,81,4 // lea 0x4(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,93,200 // movaps -0x38(%ebp),%xmm3 .byte 82 // push %edx .byte 80 // push %eax .byte 255,17 // call *(%ecx) .byte 129,196,216,0,0,0 // add $0xd8,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_luminosity_sse2 .globl _sk_luminosity_sse2 FUNCTION(_sk_luminosity_sse2) _sk_luminosity_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 129,236,184,0,0,0 // sub $0xb8,%esp .byte 15,40,242 // movaps %xmm2,%xmm6 .byte 232,0,0,0,0 // call 19ee <_sk_luminosity_sse2+0x11> .byte 89 // pop %ecx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 15,40,161,178,178,0,0 // movaps 0xb2b2(%ecx),%xmm4 .byte 15,41,101,232 // movaps %xmm4,-0x18(%ebp) .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,40,161,194,178,0,0 // movaps 0xb2c2(%ecx),%xmm4 .byte 15,41,101,216 // movaps %xmm4,-0x28(%ebp) .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,88,234 // addps %xmm2,%xmm5 .byte 15,40,80,64 // movaps 0x40(%eax),%xmm2 .byte 15,41,85,184 // movaps %xmm2,-0x48(%ebp) .byte 15,40,161,34,178,0,0 // movaps 0xb222(%ecx),%xmm4 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,92,250 // subps %xmm2,%xmm7 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,41,133,72,255,255,255 // movaps %xmm0,-0xb8(%ebp) .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,41,141,88,255,255,255 // movaps %xmm1,-0xa8(%ebp) .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 15,41,189,104,255,255,255 // movaps %xmm7,-0x98(%ebp) .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,40,137,210,178,0,0 // movaps 0xb2d2(%ecx),%xmm1 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 15,40,104,16 // movaps 0x10(%eax),%xmm5 .byte 15,41,109,136 // movaps %xmm5,-0x78(%ebp) .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,40,112,32 // movaps 0x20(%eax),%xmm6 .byte 15,41,117,152 // movaps %xmm6,-0x68(%ebp) .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,89,69,232 // mulps -0x18(%ebp),%xmm0 .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,89,125,216 // mulps -0x28(%ebp),%xmm7 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,41,93,168 // movaps %xmm3,-0x58(%ebp) .byte 15,40,69,136 // movaps -0x78(%ebp),%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,41,69,136 // movaps %xmm0,-0x78(%ebp) .byte 15,40,69,152 // movaps -0x68(%ebp),%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,41,69,152 // movaps %xmm0,-0x68(%ebp) .byte 15,40,64,48 // movaps 0x30(%eax),%xmm0 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,41,165,120,255,255,255 // movaps %xmm4,-0x88(%ebp) .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,40,93,184 // movaps -0x48(%ebp),%xmm3 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,92,208 // subps %xmm0,%xmm2 .byte 15,88,234 // addps %xmm2,%xmm5 .byte 15,88,242 // addps %xmm2,%xmm6 .byte 15,88,212 // addps %xmm4,%xmm2 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,93,194 // minps %xmm2,%xmm0 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,93,224 // minps %xmm0,%xmm4 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 15,95,194 // maxps %xmm2,%xmm0 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,95,248 // maxps %xmm0,%xmm7 .byte 15,41,125,200 // movaps %xmm7,-0x38(%ebp) .byte 15,40,69,232 // movaps -0x18(%ebp),%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,40,125,216 // movaps -0x28(%ebp),%xmm7 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,194,196,2 // cmpleps %xmm4,%xmm0 .byte 15,40,249 // movaps %xmm1,%xmm7 .byte 15,92,252 // subps %xmm4,%xmm7 .byte 15,41,125,216 // movaps %xmm7,-0x28(%ebp) .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,92,225 // subps %xmm1,%xmm4 .byte 15,89,225 // mulps %xmm1,%xmm4 .byte 15,94,231 // divps %xmm7,%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 15,85,252 // andnps %xmm4,%xmm7 .byte 15,84,232 // andps %xmm0,%xmm5 .byte 15,86,239 // orps %xmm7,%xmm5 .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 15,40,231 // movaps %xmm7,%xmm4 .byte 15,40,93,168 // movaps -0x58(%ebp),%xmm3 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,88,223 // addps %xmm7,%xmm3 .byte 15,92,220 // subps %xmm4,%xmm3 .byte 15,41,93,168 // movaps %xmm3,-0x58(%ebp) .byte 15,41,101,232 // movaps %xmm4,-0x18(%ebp) .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,40,125,200 // movaps -0x38(%ebp),%xmm7 .byte 15,194,223,1 // cmpltps %xmm7,%xmm3 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,85,229 // andnps %xmm5,%xmm4 .byte 15,41,101,184 // movaps %xmm4,-0x48(%ebp) .byte 15,92,233 // subps %xmm1,%xmm5 .byte 15,40,101,232 // movaps -0x18(%ebp),%xmm4 .byte 15,92,225 // subps %xmm1,%xmm4 .byte 15,41,101,232 // movaps %xmm4,-0x18(%ebp) .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,92,249 // subps %xmm1,%xmm7 .byte 15,41,125,200 // movaps %xmm7,-0x38(%ebp) .byte 15,94,239 // divps %xmm7,%xmm5 .byte 15,88,233 // addps %xmm1,%xmm5 .byte 15,84,235 // andps %xmm3,%xmm5 .byte 15,86,109,184 // orps -0x48(%ebp),%xmm5 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,92,225 // subps %xmm1,%xmm4 .byte 15,89,225 // mulps %xmm1,%xmm4 .byte 15,94,101,216 // divps -0x28(%ebp),%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 15,40,248 // movaps %xmm0,%xmm7 .byte 15,85,252 // andnps %xmm4,%xmm7 .byte 15,84,240 // andps %xmm0,%xmm6 .byte 15,86,247 // orps %xmm7,%xmm6 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,85,230 // andnps %xmm6,%xmm4 .byte 15,92,241 // subps %xmm1,%xmm6 .byte 15,40,125,232 // movaps -0x18(%ebp),%xmm7 .byte 15,89,247 // mulps %xmm7,%xmm6 .byte 15,94,117,200 // divps -0x38(%ebp),%xmm6 .byte 15,88,241 // addps %xmm1,%xmm6 .byte 15,84,243 // andps %xmm3,%xmm6 .byte 15,86,244 // orps %xmm4,%xmm6 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,92,225 // subps %xmm1,%xmm4 .byte 15,89,225 // mulps %xmm1,%xmm4 .byte 15,94,101,216 // divps -0x28(%ebp),%xmm4 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 15,84,208 // andps %xmm0,%xmm2 .byte 15,85,196 // andnps %xmm4,%xmm0 .byte 15,86,194 // orps %xmm2,%xmm0 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,85,208 // andnps %xmm0,%xmm2 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,94,69,200 // divps -0x38(%ebp),%xmm0 .byte 15,88,193 // addps %xmm1,%xmm0 .byte 15,84,195 // andps %xmm3,%xmm0 .byte 15,86,194 // orps %xmm2,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,95,233 // maxps %xmm1,%xmm5 .byte 15,95,241 // maxps %xmm1,%xmm6 .byte 15,95,193 // maxps %xmm1,%xmm0 .byte 15,40,157,72,255,255,255 // movaps -0xb8(%ebp),%xmm3 .byte 15,88,93,136 // addps -0x78(%ebp),%xmm3 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 15,40,141,88,255,255,255 // movaps -0xa8(%ebp),%xmm1 .byte 15,88,77,152 // addps -0x68(%ebp),%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,40,149,120,255,255,255 // movaps -0x88(%ebp),%xmm2 .byte 15,88,149,104,255,255,255 // addps -0x98(%ebp),%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,81,4 // lea 0x4(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,40,93,168 // movaps -0x58(%ebp),%xmm3 .byte 82 // push %edx .byte 80 // push %eax .byte 255,17 // call *(%ecx) .byte 129,196,200,0,0,0 // add $0xc8,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_srcover_rgba_8888_sse2 .globl _sk_srcover_rgba_8888_sse2 FUNCTION(_sk_srcover_rgba_8888_sse2) _sk_srcover_rgba_8888_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,44 // sub $0x2c,%esp .byte 102,15,127,85,200 // movdqa %xmm2,-0x38(%ebp) .byte 15,41,77,216 // movaps %xmm1,-0x28(%ebp) .byte 232,0,0,0,0 // call 1c59 <_sk_srcover_rgba_8888_sse2+0x17> .byte 95 // pop %edi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,48 // mov (%eax),%esi .byte 139,86,4 // mov 0x4(%esi),%edx .byte 15,175,81,4 // imul 0x4(%ecx),%edx .byte 193,226,2 // shl $0x2,%edx .byte 3,22 // add (%esi),%edx .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,49 // mov (%ecx),%esi .byte 15,133,224,0,0,0 // jne 1d5b <_sk_srcover_rgba_8888_sse2+0x119> .byte 243,15,111,20,178 // movdqu (%edx,%esi,4),%xmm2 .byte 102,15,111,167,119,176,0,0 // movdqa 0xb077(%edi),%xmm4 .byte 102,15,111,234 // movdqa %xmm2,%xmm5 .byte 102,15,219,236 // pand %xmm4,%xmm5 .byte 102,15,111,242 // movdqa %xmm2,%xmm6 .byte 102,15,114,214,8 // psrld $0x8,%xmm6 .byte 102,15,219,244 // pand %xmm4,%xmm6 .byte 102,15,111,250 // movdqa %xmm2,%xmm7 .byte 102,15,114,215,16 // psrld $0x10,%xmm7 .byte 102,15,219,252 // pand %xmm4,%xmm7 .byte 15,91,229 // cvtdq2ps %xmm5,%xmm4 .byte 15,41,97,16 // movaps %xmm4,0x10(%ecx) .byte 15,40,175,183,175,0,0 // movaps 0xafb7(%edi),%xmm5 .byte 15,92,235 // subps %xmm3,%xmm5 .byte 15,40,143,135,176,0,0 // movaps 0xb087(%edi),%xmm1 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,41,113,32 // movaps %xmm6,0x20(%ecx) .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,240 // addps %xmm0,%xmm6 .byte 15,91,255 // cvtdq2ps %xmm7,%xmm7 .byte 15,41,121,48 // movaps %xmm7,0x30(%ecx) .byte 15,40,69,200 // movaps -0x38(%ebp),%xmm0 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,88,248 // addps %xmm0,%xmm7 .byte 102,15,114,210,24 // psrld $0x18,%xmm2 .byte 15,91,194 // cvtdq2ps %xmm2,%xmm0 .byte 15,41,65,64 // movaps %xmm0,0x40(%ecx) .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 15,88,235 // addps %xmm3,%xmm5 .byte 102,15,91,196 // cvtps2dq %xmm4,%xmm0 .byte 102,15,91,206 // cvtps2dq %xmm6,%xmm1 .byte 102,15,114,241,8 // pslld $0x8,%xmm1 .byte 102,15,235,200 // por %xmm0,%xmm1 .byte 102,15,91,215 // cvtps2dq %xmm7,%xmm2 .byte 102,15,114,242,16 // pslld $0x10,%xmm2 .byte 102,15,91,197 // cvtps2dq %xmm5,%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 133,219 // test %ebx,%ebx .byte 117,95 // jne 1d96 <_sk_srcover_rgba_8888_sse2+0x154> .byte 243,15,127,4,178 // movdqu %xmm0,(%edx,%esi,4) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 15,40,221 // movaps %xmm5,%xmm3 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,60 // add $0x3c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 137,216 // mov %ebx,%eax .byte 136,69,243 // mov %al,-0xd(%ebp) .byte 128,101,243,3 // andb $0x3,-0xd(%ebp) .byte 128,125,243,1 // cmpb $0x1,-0xd(%ebp) .byte 116,80 // je 1dba <_sk_srcover_rgba_8888_sse2+0x178> .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 128,125,243,2 // cmpb $0x2,-0xd(%ebp) .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 116,21 // je 1d8c <_sk_srcover_rgba_8888_sse2+0x14a> .byte 128,125,243,3 // cmpb $0x3,-0xd(%ebp) .byte 15,133,255,254,255,255 // jne 1c80 <_sk_srcover_rgba_8888_sse2+0x3e> .byte 102,15,110,84,178,8 // movd 0x8(%edx,%esi,4),%xmm2 .byte 102,15,112,210,69 // pshufd $0x45,%xmm2,%xmm2 .byte 102,15,18,20,178 // movlpd (%edx,%esi,4),%xmm2 .byte 233,234,254,255,255 // jmp 1c80 <_sk_srcover_rgba_8888_sse2+0x3e> .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,41 // je 1dc7 <_sk_srcover_rgba_8888_sse2+0x185> .byte 128,251,2 // cmp $0x2,%bl .byte 116,16 // je 1db3 <_sk_srcover_rgba_8888_sse2+0x171> .byte 128,251,3 // cmp $0x3,%bl .byte 117,148 // jne 1d3c <_sk_srcover_rgba_8888_sse2+0xfa> .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,15,126,76,178,8 // movd %xmm1,0x8(%edx,%esi,4) .byte 102,15,214,4,178 // movq %xmm0,(%edx,%esi,4) .byte 235,130 // jmp 1d3c <_sk_srcover_rgba_8888_sse2+0xfa> .byte 102,15,110,20,178 // movd (%edx,%esi,4),%xmm2 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 233,185,254,255,255 // jmp 1c80 <_sk_srcover_rgba_8888_sse2+0x3e> .byte 102,15,126,4,178 // movd %xmm0,(%edx,%esi,4) .byte 233,107,255,255,255 // jmp 1d3c <_sk_srcover_rgba_8888_sse2+0xfa> HIDDEN _sk_clamp_0_sse2 .globl _sk_clamp_0_sse2 FUNCTION(_sk_clamp_0_sse2) _sk_clamp_0_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,95,196 // maxps %xmm4,%xmm0 .byte 15,95,204 // maxps %xmm4,%xmm1 .byte 15,95,212 // maxps %xmm4,%xmm2 .byte 15,95,220 // maxps %xmm4,%xmm3 .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_clamp_1_sse2 .globl _sk_clamp_1_sse2 FUNCTION(_sk_clamp_1_sse2) _sk_clamp_1_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 1e05 <_sk_clamp_1_sse2+0xb> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 15,40,160,11,174,0,0 // movaps 0xae0b(%eax),%xmm4 .byte 15,93,196 // minps %xmm4,%xmm0 .byte 15,93,204 // minps %xmm4,%xmm1 .byte 15,93,212 // minps %xmm4,%xmm2 .byte 15,93,220 // minps %xmm4,%xmm3 .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_clamp_a_sse2 .globl _sk_clamp_a_sse2 FUNCTION(_sk_clamp_a_sse2) _sk_clamp_a_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 1e38 <_sk_clamp_a_sse2+0xb> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 15,93,152,216,173,0,0 // minps 0xadd8(%eax),%xmm3 .byte 15,93,195 // minps %xmm3,%xmm0 .byte 15,93,203 // minps %xmm3,%xmm1 .byte 15,93,211 // minps %xmm3,%xmm2 .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_clamp_a_dst_sse2 .globl _sk_clamp_a_dst_sse2 FUNCTION(_sk_clamp_a_dst_sse2) _sk_clamp_a_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 1e68 <_sk_clamp_a_dst_sse2+0xb> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 15,40,98,64 // movaps 0x40(%edx),%xmm4 .byte 15,93,160,168,173,0,0 // minps 0xada8(%eax),%xmm4 .byte 15,41,98,64 // movaps %xmm4,0x40(%edx) .byte 15,40,106,16 // movaps 0x10(%edx),%xmm5 .byte 15,40,114,32 // movaps 0x20(%edx),%xmm6 .byte 15,93,236 // minps %xmm4,%xmm5 .byte 15,41,106,16 // movaps %xmm5,0x10(%edx) .byte 15,93,244 // minps %xmm4,%xmm6 .byte 15,41,114,32 // movaps %xmm6,0x20(%edx) .byte 15,40,106,48 // movaps 0x30(%edx),%xmm5 .byte 15,93,236 // minps %xmm4,%xmm5 .byte 15,41,106,48 // movaps %xmm5,0x30(%edx) .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 82 // push %edx .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_set_rgb_sse2 .globl _sk_set_rgb_sse2 FUNCTION(_sk_set_rgb_sse2) _sk_set_rgb_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,1 // movss (%ecx),%xmm0 .byte 243,15,16,73,4 // movss 0x4(%ecx),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,81,8 // movss 0x8(%ecx),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_swap_rb_sse2 .globl _sk_swap_rb_sse2 FUNCTION(_sk_swap_rb_sse2) _sk_swap_rb_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_invert_sse2 .globl _sk_invert_sse2 FUNCTION(_sk_invert_sse2) _sk_invert_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 1f13 <_sk_invert_sse2+0xb> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 15,40,160,253,172,0,0 // movaps 0xacfd(%eax),%xmm4 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,92,232 // subps %xmm0,%xmm5 .byte 15,40,244 // movaps %xmm4,%xmm6 .byte 15,92,241 // subps %xmm1,%xmm6 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,92,250 // subps %xmm2,%xmm7 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 80 // push %eax .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_move_src_dst_sse2 .globl _sk_move_src_dst_sse2 FUNCTION(_sk_move_src_dst_sse2) _sk_move_src_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 15,41,65,16 // movaps %xmm0,0x10(%ecx) .byte 15,41,73,32 // movaps %xmm1,0x20(%ecx) .byte 15,41,81,48 // movaps %xmm2,0x30(%ecx) .byte 15,41,89,64 // movaps %xmm3,0x40(%ecx) .byte 141,80,4 // lea 0x4(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_move_dst_src_sse2 .globl _sk_move_dst_src_sse2 FUNCTION(_sk_move_dst_src_sse2) _sk_move_dst_src_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 15,40,65,16 // movaps 0x10(%ecx),%xmm0 .byte 15,40,73,32 // movaps 0x20(%ecx),%xmm1 .byte 15,40,81,48 // movaps 0x30(%ecx),%xmm2 .byte 15,40,89,64 // movaps 0x40(%ecx),%xmm3 .byte 141,80,4 // lea 0x4(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_premul_sse2 .globl _sk_premul_sse2 FUNCTION(_sk_premul_sse2) _sk_premul_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_premul_dst_sse2 .globl _sk_premul_dst_sse2 FUNCTION(_sk_premul_dst_sse2) _sk_premul_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 15,40,97,64 // movaps 0x40(%ecx),%xmm4 .byte 15,40,105,16 // movaps 0x10(%ecx),%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,41,105,16 // movaps %xmm5,0x10(%ecx) .byte 15,40,105,32 // movaps 0x20(%ecx),%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,41,105,32 // movaps %xmm5,0x20(%ecx) .byte 15,89,97,48 // mulps 0x30(%ecx),%xmm4 .byte 15,41,97,48 // movaps %xmm4,0x30(%ecx) .byte 141,80,4 // lea 0x4(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_unpremul_sse2 .globl _sk_unpremul_sse2 FUNCTION(_sk_unpremul_sse2) _sk_unpremul_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 2011 <_sk_unpremul_sse2+0xb> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,40,168,255,171,0,0 // movaps 0xabff(%eax),%xmm5 .byte 15,94,235 // divps %xmm3,%xmm5 .byte 15,194,227,4 // cmpneqps %xmm3,%xmm4 .byte 15,84,229 // andps %xmm5,%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_from_srgb_sse2 .globl _sk_from_srgb_sse2 FUNCTION(_sk_from_srgb_sse2) _sk_from_srgb_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,56 // sub $0x38,%esp .byte 15,41,93,200 // movaps %xmm3,-0x38(%ebp) .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,40,217 // movaps %xmm1,%xmm3 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 232,0,0,0,0 // call 205b <_sk_from_srgb_sse2+0x18> .byte 88 // pop %eax .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,89,201 // mulps %xmm1,%xmm1 .byte 15,40,160,69,172,0,0 // movaps 0xac45(%eax),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,176,165,172,0,0 // movaps 0xaca5(%eax),%xmm6 .byte 15,41,117,216 // movaps %xmm6,-0x28(%ebp) .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,40,176,149,172,0,0 // movaps 0xac95(%eax),%xmm6 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,40,184,181,172,0,0 // movaps 0xacb5(%eax),%xmm7 .byte 15,41,125,232 // movaps %xmm7,-0x18(%ebp) .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,40,184,197,172,0,0 // movaps 0xacc5(%eax),%xmm7 .byte 15,194,215,1 // cmpltps %xmm7,%xmm2 .byte 15,84,202 // andps %xmm2,%xmm1 .byte 15,85,208 // andnps %xmm0,%xmm2 .byte 15,86,209 // orps %xmm1,%xmm2 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,77,216 // addps -0x28(%ebp),%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,88,77,232 // addps -0x18(%ebp),%xmm1 .byte 15,194,223,1 // cmpltps %xmm7,%xmm3 .byte 15,84,195 // andps %xmm3,%xmm0 .byte 15,85,217 // andnps %xmm1,%xmm3 .byte 15,86,216 // orps %xmm0,%xmm3 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,101,216 // addps -0x28(%ebp),%xmm4 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,88,101,232 // addps -0x18(%ebp),%xmm4 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,194,239,1 // cmpltps %xmm7,%xmm5 .byte 15,84,245 // andps %xmm5,%xmm6 .byte 15,85,236 // andnps %xmm4,%xmm5 .byte 15,86,238 // orps %xmm6,%xmm5 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,40,213 // movaps %xmm5,%xmm2 .byte 15,40,93,200 // movaps -0x38(%ebp),%xmm3 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,16 // call *(%eax) .byte 131,196,72 // add $0x48,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_from_srgb_dst_sse2 .globl _sk_from_srgb_dst_sse2 FUNCTION(_sk_from_srgb_dst_sse2) _sk_from_srgb_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,72 // sub $0x48,%esp .byte 15,41,93,184 // movaps %xmm3,-0x48(%ebp) .byte 15,41,85,200 // movaps %xmm2,-0x38(%ebp) .byte 15,41,77,216 // movaps %xmm1,-0x28(%ebp) .byte 15,41,69,232 // movaps %xmm0,-0x18(%ebp) .byte 232,0,0,0,0 // call 2136 <_sk_from_srgb_dst_sse2+0x1b> .byte 89 // pop %ecx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 15,40,72,16 // movaps 0x10(%eax),%xmm1 .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,89,237 // mulps %xmm5,%xmm5 .byte 15,40,161,106,171,0,0 // movaps 0xab6a(%ecx),%xmm4 .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,40,177,202,171,0,0 // movaps 0xabca(%ecx),%xmm6 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,40,169,186,171,0,0 // movaps 0xabba(%ecx),%xmm5 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,40,185,218,171,0,0 // movaps 0xabda(%ecx),%xmm7 .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,40,153,234,171,0,0 // movaps 0xabea(%ecx),%xmm3 .byte 15,194,203,1 // cmpltps %xmm3,%xmm1 .byte 15,84,209 // andps %xmm1,%xmm2 .byte 15,85,200 // andnps %xmm0,%xmm1 .byte 15,86,202 // orps %xmm2,%xmm1 .byte 15,40,64,32 // movaps 0x20(%eax),%xmm0 .byte 15,41,72,16 // movaps %xmm1,0x10(%eax) .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,89,201 // mulps %xmm1,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,194,195,1 // cmpltps %xmm3,%xmm0 .byte 15,84,200 // andps %xmm0,%xmm1 .byte 15,85,194 // andnps %xmm2,%xmm0 .byte 15,86,193 // orps %xmm1,%xmm0 .byte 15,41,64,32 // movaps %xmm0,0x20(%eax) .byte 15,40,64,48 // movaps 0x30(%eax),%xmm0 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,88,230 // addps %xmm6,%xmm4 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,89,201 // mulps %xmm1,%xmm1 .byte 15,89,225 // mulps %xmm1,%xmm4 .byte 15,88,231 // addps %xmm7,%xmm4 .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 15,194,195,1 // cmpltps %xmm3,%xmm0 .byte 15,84,232 // andps %xmm0,%xmm5 .byte 15,85,196 // andnps %xmm4,%xmm0 .byte 15,86,197 // orps %xmm5,%xmm0 .byte 15,41,64,48 // movaps %xmm0,0x30(%eax) .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,81,4 // lea 0x4(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,69,232 // movaps -0x18(%ebp),%xmm0 .byte 15,40,77,216 // movaps -0x28(%ebp),%xmm1 .byte 15,40,85,200 // movaps -0x38(%ebp),%xmm2 .byte 15,40,93,184 // movaps -0x48(%ebp),%xmm3 .byte 82 // push %edx .byte 80 // push %eax .byte 255,17 // call *(%ecx) .byte 131,196,88 // add $0x58,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_to_srgb_sse2 .globl _sk_to_srgb_sse2 FUNCTION(_sk_to_srgb_sse2) _sk_to_srgb_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,72 // sub $0x48,%esp .byte 15,41,93,184 // movaps %xmm3,-0x48(%ebp) .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 232,0,0,0,0 // call 2221 <_sk_to_srgb_sse2+0x18> .byte 88 // pop %eax .byte 15,82,218 // rsqrtps %xmm2,%xmm3 .byte 15,40,160,31,171,0,0 // movaps 0xab1f(%eax),%xmm4 .byte 15,40,235 // movaps %xmm3,%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,40,128,47,171,0,0 // movaps 0xab2f(%eax),%xmm0 .byte 15,41,69,232 // movaps %xmm0,-0x18(%ebp) .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,40,128,63,171,0,0 // movaps 0xab3f(%eax),%xmm0 .byte 15,41,69,200 // movaps %xmm0,-0x38(%ebp) .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,40,128,79,171,0,0 // movaps 0xab4f(%eax),%xmm0 .byte 15,41,69,216 // movaps %xmm0,-0x28(%ebp) .byte 15,88,216 // addps %xmm0,%xmm3 .byte 15,83,195 // rcpps %xmm3,%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,40,168,15,171,0,0 // movaps 0xab0f(%eax),%xmm5 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,40,152,95,171,0,0 // movaps 0xab5f(%eax),%xmm3 .byte 15,194,211,1 // cmpltps %xmm3,%xmm2 .byte 15,84,202 // andps %xmm2,%xmm1 .byte 15,85,208 // andnps %xmm0,%xmm2 .byte 15,86,209 // orps %xmm1,%xmm2 .byte 15,82,198 // rsqrtps %xmm6,%xmm0 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,77,232 // addps -0x18(%ebp),%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,77,200 // addps -0x38(%ebp),%xmm1 .byte 15,88,69,216 // addps -0x28(%ebp),%xmm0 .byte 15,83,192 // rcpps %xmm0,%xmm0 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,194,243,1 // cmpltps %xmm3,%xmm6 .byte 15,84,206 // andps %xmm6,%xmm1 .byte 15,85,240 // andnps %xmm0,%xmm6 .byte 15,86,241 // orps %xmm1,%xmm6 .byte 15,82,199 // rsqrtps %xmm7,%xmm0 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,88,101,232 // addps -0x18(%ebp),%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,88,101,200 // addps -0x38(%ebp),%xmm4 .byte 15,88,69,216 // addps -0x28(%ebp),%xmm0 .byte 15,83,192 // rcpps %xmm0,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,194,251,1 // cmpltps %xmm3,%xmm7 .byte 15,84,239 // andps %xmm7,%xmm5 .byte 15,85,248 // andnps %xmm0,%xmm7 .byte 15,86,253 // orps %xmm5,%xmm7 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,40,206 // movaps %xmm6,%xmm1 .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 15,40,93,184 // movaps -0x48(%ebp),%xmm3 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,16 // call *(%eax) .byte 131,196,88 // add $0x58,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_rgb_to_hsl_sse2 .globl _sk_rgb_to_hsl_sse2 FUNCTION(_sk_rgb_to_hsl_sse2) _sk_rgb_to_hsl_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,56 // sub $0x38,%esp .byte 15,41,93,200 // movaps %xmm3,-0x38(%ebp) .byte 15,40,249 // movaps %xmm1,%xmm7 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 232,0,0,0,0 // call 2318 <_sk_rgb_to_hsl_sse2+0x15> .byte 88 // pop %eax .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,95,194 // maxps %xmm2,%xmm0 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,95,216 // maxps %xmm0,%xmm3 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,93,194 // minps %xmm2,%xmm0 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,93,200 // minps %xmm0,%xmm1 .byte 15,41,77,232 // movaps %xmm1,-0x18(%ebp) .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,41,69,216 // movaps %xmm0,-0x28(%ebp) .byte 15,40,136,248,168,0,0 // movaps 0xa8f8(%eax),%xmm1 .byte 15,94,200 // divps %xmm0,%xmm1 .byte 15,40,199 // movaps %xmm7,%xmm0 .byte 15,92,194 // subps %xmm2,%xmm0 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,40,239 // movaps %xmm7,%xmm5 .byte 15,194,234,1 // cmpltps %xmm2,%xmm5 .byte 15,84,168,120,170,0,0 // andps 0xaa78(%eax),%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 15,194,196,0 // cmpeqps %xmm4,%xmm0 .byte 15,40,243 // movaps %xmm3,%xmm6 .byte 15,194,247,0 // cmpeqps %xmm7,%xmm6 .byte 15,92,212 // subps %xmm4,%xmm2 .byte 15,92,231 // subps %xmm7,%xmm4 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 15,89,225 // mulps %xmm1,%xmm4 .byte 15,40,136,136,170,0,0 // movaps 0xaa88(%eax),%xmm1 .byte 15,88,209 // addps %xmm1,%xmm2 .byte 15,88,160,152,170,0,0 // addps 0xaa98(%eax),%xmm4 .byte 15,84,214 // andps %xmm6,%xmm2 .byte 15,85,244 // andnps %xmm4,%xmm6 .byte 15,86,242 // orps %xmm2,%xmm6 .byte 15,84,232 // andps %xmm0,%xmm5 .byte 15,85,198 // andnps %xmm6,%xmm0 .byte 15,86,197 // orps %xmm5,%xmm0 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,40,85,232 // movaps -0x18(%ebp),%xmm2 .byte 15,194,226,4 // cmpneqps %xmm2,%xmm4 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 15,40,168,232,168,0,0 // movaps 0xa8e8(%eax),%xmm5 .byte 15,92,202 // subps %xmm2,%xmm1 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,194,234,1 // cmpltps %xmm2,%xmm5 .byte 15,84,205 // andps %xmm5,%xmm1 .byte 15,85,235 // andnps %xmm3,%xmm5 .byte 15,86,233 // orps %xmm1,%xmm5 .byte 15,40,77,216 // movaps -0x28(%ebp),%xmm1 .byte 15,94,205 // divps %xmm5,%xmm1 .byte 15,89,128,168,170,0,0 // mulps 0xaaa8(%eax),%xmm0 .byte 15,84,196 // andps %xmm4,%xmm0 .byte 15,84,204 // andps %xmm4,%xmm1 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,93,200 // movaps -0x38(%ebp),%xmm3 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,16 // call *(%eax) .byte 131,196,72 // add $0x48,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_hsl_to_rgb_sse2 .globl _sk_hsl_to_rgb_sse2 FUNCTION(_sk_hsl_to_rgb_sse2) _sk_hsl_to_rgb_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 129,236,200,0,0,0 // sub $0xc8,%esp .byte 15,41,157,56,255,255,255 // movaps %xmm3,-0xc8(%ebp) .byte 15,41,69,184 // movaps %xmm0,-0x48(%ebp) .byte 232,0,0,0,0 // call 2413 <_sk_hsl_to_rgb_sse2+0x19> .byte 88 // pop %eax .byte 15,40,160,237,167,0,0 // movaps 0xa7ed(%eax),%xmm4 .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 15,41,165,104,255,255,255 // movaps %xmm4,-0x98(%ebp) .byte 15,194,218,2 // cmpleps %xmm2,%xmm3 .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,194,233,0 // cmpeqps %xmm1,%xmm5 .byte 15,41,109,232 // movaps %xmm5,-0x18(%ebp) .byte 15,89,202 // mulps %xmm2,%xmm1 .byte 15,92,241 // subps %xmm1,%xmm6 .byte 15,84,243 // andps %xmm3,%xmm6 .byte 15,85,217 // andnps %xmm1,%xmm3 .byte 15,86,222 // orps %xmm6,%xmm3 .byte 15,40,168,189,169,0,0 // movaps 0xa9bd(%eax),%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 243,15,91,205 // cvttps2dq %xmm5,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,194,193,1 // cmpltps %xmm1,%xmm0 .byte 15,40,176,253,167,0,0 // movaps 0xa7fd(%eax),%xmm6 .byte 15,41,117,136 // movaps %xmm6,-0x78(%ebp) .byte 15,84,198 // andps %xmm6,%xmm0 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 15,41,149,72,255,255,255 // movaps %xmm2,-0xb8(%ebp) .byte 15,88,218 // addps %xmm2,%xmm3 .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,88,210 // addps %xmm2,%xmm2 .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,40,184,205,169,0,0 // movaps 0xa9cd(%eax),%xmm7 .byte 15,41,189,88,255,255,255 // movaps %xmm7,-0xa8(%ebp) .byte 15,194,253,2 // cmpleps %xmm5,%xmm7 .byte 15,92,218 // subps %xmm2,%xmm3 .byte 15,41,93,200 // movaps %xmm3,-0x38(%ebp) .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 15,194,205,2 // cmpleps %xmm5,%xmm1 .byte 15,40,160,173,169,0,0 // movaps 0xa9ad(%eax),%xmm4 .byte 15,41,165,120,255,255,255 // movaps %xmm4,-0x88(%ebp) .byte 15,194,229,2 // cmpleps %xmm5,%xmm4 .byte 15,40,176,125,169,0,0 // movaps 0xa97d(%eax),%xmm6 .byte 15,89,238 // mulps %xmm6,%xmm5 .byte 15,40,128,157,169,0,0 // movaps 0xa99d(%eax),%xmm0 .byte 15,41,69,168 // movaps %xmm0,-0x58(%ebp) .byte 15,92,197 // subps %xmm5,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,84,223 // andps %xmm7,%xmm3 .byte 15,85,248 // andnps %xmm0,%xmm7 .byte 15,86,251 // orps %xmm3,%xmm7 .byte 15,84,249 // andps %xmm1,%xmm7 .byte 15,85,77,216 // andnps -0x28(%ebp),%xmm1 .byte 15,86,207 // orps %xmm7,%xmm1 .byte 15,40,125,200 // movaps -0x38(%ebp),%xmm7 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,88,234 // addps %xmm2,%xmm5 .byte 15,84,204 // andps %xmm4,%xmm1 .byte 15,85,229 // andnps %xmm5,%xmm4 .byte 15,86,225 // orps %xmm1,%xmm4 .byte 15,40,69,232 // movaps -0x18(%ebp),%xmm0 .byte 15,85,196 // andnps %xmm4,%xmm0 .byte 15,41,69,152 // movaps %xmm0,-0x68(%ebp) .byte 15,40,93,184 // movaps -0x48(%ebp),%xmm3 .byte 243,15,91,195 // cvttps2dq %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,194,200,1 // cmpltps %xmm0,%xmm1 .byte 15,84,136,253,167,0,0 // andps 0xa7fd(%eax),%xmm1 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,40,128,205,169,0,0 // movaps 0xa9cd(%eax),%xmm0 .byte 15,194,193,2 // cmpleps %xmm1,%xmm0 .byte 15,40,152,237,167,0,0 // movaps 0xa7ed(%eax),%xmm3 .byte 15,194,217,2 // cmpleps %xmm1,%xmm3 .byte 15,40,160,173,169,0,0 // movaps 0xa9ad(%eax),%xmm4 .byte 15,194,225,2 // cmpleps %xmm1,%xmm4 .byte 15,89,206 // mulps %xmm6,%xmm1 .byte 15,40,168,157,169,0,0 // movaps 0xa99d(%eax),%xmm5 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,88,234 // addps %xmm2,%xmm5 .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,84,248 // andps %xmm0,%xmm7 .byte 15,85,197 // andnps %xmm5,%xmm0 .byte 15,86,199 // orps %xmm7,%xmm0 .byte 15,84,195 // andps %xmm3,%xmm0 .byte 15,85,93,216 // andnps -0x28(%ebp),%xmm3 .byte 15,86,216 // orps %xmm0,%xmm3 .byte 15,40,109,200 // movaps -0x38(%ebp),%xmm5 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 15,84,220 // andps %xmm4,%xmm3 .byte 15,85,225 // andnps %xmm1,%xmm4 .byte 15,86,227 // orps %xmm3,%xmm4 .byte 15,40,125,232 // movaps -0x18(%ebp),%xmm7 .byte 15,85,252 // andnps %xmm4,%xmm7 .byte 15,40,93,184 // movaps -0x48(%ebp),%xmm3 .byte 15,88,152,221,169,0,0 // addps 0xa9dd(%eax),%xmm3 .byte 243,15,91,195 // cvttps2dq %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,194,200,1 // cmpltps %xmm0,%xmm1 .byte 15,84,77,136 // andps -0x78(%ebp),%xmm1 .byte 15,92,193 // subps %xmm1,%xmm0 .byte 15,92,216 // subps %xmm0,%xmm3 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,40,77,168 // movaps -0x58(%ebp),%xmm1 .byte 15,92,206 // subps %xmm6,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,226 // addps %xmm2,%xmm4 .byte 15,88,242 // addps %xmm2,%xmm6 .byte 15,40,141,88,255,255,255 // movaps -0xa8(%ebp),%xmm1 .byte 15,194,203,2 // cmpleps %xmm3,%xmm1 .byte 15,84,209 // andps %xmm1,%xmm2 .byte 15,85,204 // andnps %xmm4,%xmm1 .byte 15,86,202 // orps %xmm2,%xmm1 .byte 15,40,133,104,255,255,255 // movaps -0x98(%ebp),%xmm0 .byte 15,194,195,2 // cmpleps %xmm3,%xmm0 .byte 15,84,200 // andps %xmm0,%xmm1 .byte 15,85,69,216 // andnps -0x28(%ebp),%xmm0 .byte 15,86,193 // orps %xmm1,%xmm0 .byte 15,40,141,120,255,255,255 // movaps -0x88(%ebp),%xmm1 .byte 15,194,203,2 // cmpleps %xmm3,%xmm1 .byte 15,84,193 // andps %xmm1,%xmm0 .byte 15,85,206 // andnps %xmm6,%xmm1 .byte 15,86,200 // orps %xmm0,%xmm1 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,40,157,72,255,255,255 // movaps -0xb8(%ebp),%xmm3 .byte 15,40,77,232 // movaps -0x18(%ebp),%xmm1 .byte 15,84,217 // andps %xmm1,%xmm3 .byte 15,85,202 // andnps %xmm2,%xmm1 .byte 15,40,69,152 // movaps -0x68(%ebp),%xmm0 .byte 15,86,195 // orps %xmm3,%xmm0 .byte 15,86,251 // orps %xmm3,%xmm7 .byte 15,86,217 // orps %xmm1,%xmm3 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,207 // movaps %xmm7,%xmm1 .byte 15,40,157,56,255,255,255 // movaps -0xc8(%ebp),%xmm3 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,16 // call *(%eax) .byte 129,196,216,0,0,0 // add $0xd8,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_scale_1_float_sse2 .globl _sk_scale_1_float_sse2 FUNCTION(_sk_scale_1_float_sse2) _sk_scale_1_float_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,33 // movss (%ecx),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_scale_u8_sse2 .globl _sk_scale_u8_sse2 FUNCTION(_sk_scale_u8_sse2) _sk_scale_u8_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 268d <_sk_scale_u8_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 117,65 // jne 26e9 <_sk_scale_u8_sse2+0x6a> .byte 102,15,110,36,62 // movd (%esi,%edi,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,219,162,67,166,0,0 // pand 0xa643(%edx),%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,162,115,167,0,0 // mulps 0xa773(%edx),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,50 // je 2723 <_sk_scale_u8_sse2+0xa4> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 128,251,2 // cmp $0x2,%bl .byte 116,19 // je 270d <_sk_scale_u8_sse2+0x8e> .byte 128,251,3 // cmp $0x3,%bl .byte 117,182 // jne 26b5 <_sk_scale_u8_sse2+0x36> .byte 15,182,92,62,2 // movzbl 0x2(%esi,%edi,1),%ebx .byte 102,15,110,227 // movd %ebx,%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 15,183,52,62 // movzwl (%esi,%edi,1),%esi .byte 102,15,110,238 // movd %esi,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 102,15,97,232 // punpcklwd %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 235,146 // jmp 26b5 <_sk_scale_u8_sse2+0x36> .byte 15,182,52,62 // movzbl (%esi,%edi,1),%esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 235,136 // jmp 26b5 <_sk_scale_u8_sse2+0x36> HIDDEN _sk_scale_565_sse2 .globl _sk_scale_565_sse2 FUNCTION(_sk_scale_565_sse2) _sk_scale_565_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,44 // sub $0x2c,%esp .byte 15,41,85,200 // movaps %xmm2,-0x38(%ebp) .byte 15,41,77,216 // movaps %xmm1,-0x28(%ebp) .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 232,0,0,0,0 // call 2747 <_sk_scale_565_sse2+0x1a> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 1,246 // add %esi,%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 15,133,157,0,0,0 // jne 2805 <_sk_scale_565_sse2+0xd8> .byte 243,15,126,52,126 // movq (%esi,%edi,2),%xmm6 .byte 102,15,97,240 // punpcklwd %xmm0,%xmm6 .byte 102,15,111,162,201,166,0,0 // movdqa 0xa6c9(%edx),%xmm4 .byte 102,15,219,230 // pand %xmm6,%xmm4 .byte 15,91,212 // cvtdq2ps %xmm4,%xmm2 .byte 15,89,146,217,166,0,0 // mulps 0xa6d9(%edx),%xmm2 .byte 102,15,111,170,233,166,0,0 // movdqa 0xa6e9(%edx),%xmm5 .byte 102,15,219,238 // pand %xmm6,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,170,249,166,0,0 // mulps 0xa6f9(%edx),%xmm5 .byte 102,15,219,178,9,167,0,0 // pand 0xa709(%edx),%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,89,178,25,167,0,0 // mulps 0xa719(%edx),%xmm6 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,93,254 // minps %xmm6,%xmm7 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,93,231 // minps %xmm7,%xmm4 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,95,254 // maxps %xmm6,%xmm7 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,95,199 // maxps %xmm7,%xmm0 .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 15,194,121,64,1 // cmpltps 0x40(%ecx),%xmm7 .byte 15,84,231 // andps %xmm7,%xmm4 .byte 15,85,248 // andnps %xmm0,%xmm7 .byte 15,86,252 // orps %xmm4,%xmm7 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 15,89,109,216 // mulps -0x28(%ebp),%xmm5 .byte 15,89,117,200 // mulps -0x38(%ebp),%xmm6 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 15,40,214 // movaps %xmm6,%xmm2 .byte 15,40,223 // movaps %xmm7,%xmm3 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,60 // add $0x3c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,51 // je 2840 <_sk_scale_565_sse2+0x113> .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 128,251,2 // cmp $0x2,%bl .byte 116,23 // je 282d <_sk_scale_565_sse2+0x100> .byte 128,251,3 // cmp $0x3,%bl .byte 15,133,82,255,255,255 // jne 2771 <_sk_scale_565_sse2+0x44> .byte 15,183,92,126,4 // movzwl 0x4(%esi,%edi,2),%ebx .byte 102,15,110,227 // movd %ebx,%xmm4 .byte 102,15,112,244,69 // pshufd $0x45,%xmm4,%xmm6 .byte 102,15,110,36,126 // movd (%esi,%edi,2),%xmm4 .byte 242,15,112,228,212 // pshuflw $0xd4,%xmm4,%xmm4 .byte 242,15,16,244 // movsd %xmm4,%xmm6 .byte 233,49,255,255,255 // jmp 2771 <_sk_scale_565_sse2+0x44> .byte 15,183,52,126 // movzwl (%esi,%edi,2),%esi .byte 102,15,110,246 // movd %esi,%xmm6 .byte 233,36,255,255,255 // jmp 2771 <_sk_scale_565_sse2+0x44> HIDDEN _sk_lerp_1_float_sse2 .globl _sk_lerp_1_float_sse2 FUNCTION(_sk_lerp_1_float_sse2) _sk_lerp_1_float_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,17 // mov (%ecx),%edx .byte 243,15,16,34 // movss (%edx),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,40,104,16 // movaps 0x10(%eax),%xmm5 .byte 15,40,112,32 // movaps 0x20(%eax),%xmm6 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,92,206 // subps %xmm6,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,40,104,48 // movaps 0x30(%eax),%xmm5 .byte 15,92,213 // subps %xmm5,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 15,40,104,64 // movaps 0x40(%eax),%xmm5 .byte 15,92,221 // subps %xmm5,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 141,81,8 // lea 0x8(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 80 // push %eax .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_lerp_u8_sse2 .globl _sk_lerp_u8_sse2 FUNCTION(_sk_lerp_u8_sse2) _sk_lerp_u8_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 28b5 <_sk_lerp_u8_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 117,102 // jne 2936 <_sk_lerp_u8_sse2+0x8f> .byte 102,15,110,36,62 // movd (%esi,%edi,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,219,162,27,164,0,0 // pand 0xa41b(%edx),%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,162,75,165,0,0 // mulps 0xa54b(%edx),%xmm4 .byte 15,40,105,16 // movaps 0x10(%ecx),%xmm5 .byte 15,40,113,32 // movaps 0x20(%ecx),%xmm6 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,92,206 // subps %xmm6,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,40,105,48 // movaps 0x30(%ecx),%xmm5 .byte 15,92,213 // subps %xmm5,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 15,40,105,64 // movaps 0x40(%ecx),%xmm5 .byte 15,92,221 // subps %xmm5,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,53 // je 2973 <_sk_lerp_u8_sse2+0xcc> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 128,251,2 // cmp $0x2,%bl .byte 116,19 // je 295a <_sk_lerp_u8_sse2+0xb3> .byte 128,251,3 // cmp $0x3,%bl .byte 117,145 // jne 28dd <_sk_lerp_u8_sse2+0x36> .byte 15,182,92,62,2 // movzbl 0x2(%esi,%edi,1),%ebx .byte 102,15,110,227 // movd %ebx,%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 15,183,52,62 // movzwl (%esi,%edi,1),%esi .byte 102,15,110,238 // movd %esi,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 102,15,97,232 // punpcklwd %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 233,106,255,255,255 // jmp 28dd <_sk_lerp_u8_sse2+0x36> .byte 15,182,52,62 // movzbl (%esi,%edi,1),%esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 233,93,255,255,255 // jmp 28dd <_sk_lerp_u8_sse2+0x36> HIDDEN _sk_lerp_565_sse2 .globl _sk_lerp_565_sse2 FUNCTION(_sk_lerp_565_sse2) _sk_lerp_565_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 15,41,93,168 // movaps %xmm3,-0x58(%ebp) .byte 15,41,85,136 // movaps %xmm2,-0x78(%ebp) .byte 15,41,77,152 // movaps %xmm1,-0x68(%ebp) .byte 102,15,127,69,184 // movdqa %xmm0,-0x48(%ebp) .byte 232,0,0,0,0 // call 299f <_sk_lerp_565_sse2+0x1f> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 1,246 // add %esi,%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 15,133,211,0,0,0 // jne 2a93 <_sk_lerp_565_sse2+0x113> .byte 243,15,126,44,126 // movq (%esi,%edi,2),%xmm5 .byte 102,15,97,232 // punpcklwd %xmm0,%xmm5 .byte 102,15,111,162,113,164,0,0 // movdqa 0xa471(%edx),%xmm4 .byte 102,15,219,229 // pand %xmm5,%xmm4 .byte 15,91,204 // cvtdq2ps %xmm4,%xmm1 .byte 15,89,138,129,164,0,0 // mulps 0xa481(%edx),%xmm1 .byte 102,15,111,178,145,164,0,0 // movdqa 0xa491(%edx),%xmm6 .byte 102,15,219,245 // pand %xmm5,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,89,178,161,164,0,0 // mulps 0xa4a1(%edx),%xmm6 .byte 102,15,219,170,177,164,0,0 // pand 0xa4b1(%edx),%xmm5 .byte 15,91,213 // cvtdq2ps %xmm5,%xmm2 .byte 15,89,146,193,164,0,0 // mulps 0xa4c1(%edx),%xmm2 .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,41,93,200 // movaps %xmm3,-0x38(%ebp) .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,40,65,32 // movaps 0x20(%ecx),%xmm0 .byte 15,41,69,216 // movaps %xmm0,-0x28(%ebp) .byte 15,40,101,152 // movaps -0x68(%ebp),%xmm4 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 15,89,230 // mulps %xmm6,%xmm4 .byte 15,93,243 // minps %xmm3,%xmm6 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,40,65,16 // movaps 0x10(%ecx),%xmm0 .byte 15,40,109,184 // movaps -0x48(%ebp),%xmm5 .byte 15,92,232 // subps %xmm0,%xmm5 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 15,93,206 // minps %xmm6,%xmm1 .byte 15,40,113,64 // movaps 0x40(%ecx),%xmm6 .byte 15,95,251 // maxps %xmm3,%xmm7 .byte 15,95,215 // maxps %xmm7,%xmm2 .byte 15,40,93,168 // movaps -0x58(%ebp),%xmm3 .byte 15,40,251 // movaps %xmm3,%xmm7 .byte 15,194,254,1 // cmpltps %xmm6,%xmm7 .byte 15,84,207 // andps %xmm7,%xmm1 .byte 15,85,250 // andnps %xmm2,%xmm7 .byte 15,86,249 // orps %xmm1,%xmm7 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,88,101,216 // addps -0x28(%ebp),%xmm4 .byte 15,40,65,48 // movaps 0x30(%ecx),%xmm0 .byte 15,40,85,136 // movaps -0x78(%ebp),%xmm2 .byte 15,92,208 // subps %xmm0,%xmm2 .byte 15,89,85,200 // mulps -0x38(%ebp),%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 15,92,222 // subps %xmm6,%xmm3 .byte 15,89,223 // mulps %xmm7,%xmm3 .byte 15,88,222 // addps %xmm6,%xmm3 .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,124 // add $0x7c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,51 // je 2ace <_sk_lerp_565_sse2+0x14e> .byte 102,15,239,237 // pxor %xmm5,%xmm5 .byte 128,251,2 // cmp $0x2,%bl .byte 116,23 // je 2abb <_sk_lerp_565_sse2+0x13b> .byte 128,251,3 // cmp $0x3,%bl .byte 15,133,28,255,255,255 // jne 29c9 <_sk_lerp_565_sse2+0x49> .byte 15,183,92,126,4 // movzwl 0x4(%esi,%edi,2),%ebx .byte 102,15,110,227 // movd %ebx,%xmm4 .byte 102,15,112,236,69 // pshufd $0x45,%xmm4,%xmm5 .byte 102,15,110,36,126 // movd (%esi,%edi,2),%xmm4 .byte 242,15,112,228,212 // pshuflw $0xd4,%xmm4,%xmm4 .byte 242,15,16,236 // movsd %xmm4,%xmm5 .byte 233,251,254,255,255 // jmp 29c9 <_sk_lerp_565_sse2+0x49> .byte 15,183,52,126 // movzwl (%esi,%edi,2),%esi .byte 102,15,110,238 // movd %esi,%xmm5 .byte 233,238,254,255,255 // jmp 29c9 <_sk_lerp_565_sse2+0x49> HIDDEN _sk_load_tables_sse2 .globl _sk_load_tables_sse2 FUNCTION(_sk_load_tables_sse2) _sk_load_tables_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 2ae9 <_sk_load_tables_sse2+0xe> .byte 90 // pop %edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,57 // mov (%ecx),%edi .byte 139,65,8 // mov 0x8(%ecx),%eax .byte 133,192 // test %eax,%eax .byte 139,54 // mov (%esi),%esi .byte 139,30 // mov (%esi),%ebx .byte 15,133,22,1,0,0 // jne 2c17 <_sk_load_tables_sse2+0x13c> .byte 243,15,111,28,187 // movdqu (%ebx,%edi,4),%xmm3 .byte 102,15,111,146,231,161,0,0 // movdqa 0xa1e7(%edx),%xmm2 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,15,112,224,231 // pshufd $0xe7,%xmm0,%xmm4 .byte 102,15,126,224 // movd %xmm4,%eax .byte 139,126,4 // mov 0x4(%esi),%edi .byte 243,15,16,36,135 // movss (%edi,%eax,4),%xmm4 .byte 102,15,126,200 // movd %xmm1,%eax .byte 243,15,16,44,135 // movss (%edi,%eax,4),%xmm5 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 243,15,16,4,135 // movss (%edi,%eax,4),%xmm0 .byte 102,15,126,200 // movd %xmm1,%eax .byte 243,15,16,12,135 // movss (%edi,%eax,4),%xmm1 .byte 139,70,8 // mov 0x8(%esi),%eax .byte 15,20,236 // unpcklps %xmm4,%xmm5 .byte 15,20,193 // unpcklps %xmm1,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 102,15,112,225,78 // pshufd $0x4e,%xmm1,%xmm4 .byte 102,15,112,241,231 // pshufd $0xe7,%xmm1,%xmm6 .byte 102,15,126,247 // movd %xmm6,%edi .byte 243,15,16,52,184 // movss (%eax,%edi,4),%xmm6 .byte 102,15,126,231 // movd %xmm4,%edi .byte 243,15,16,36,184 // movss (%eax,%edi,4),%xmm4 .byte 102,15,126,207 // movd %xmm1,%edi .byte 102,15,112,249,229 // pshufd $0xe5,%xmm1,%xmm7 .byte 243,15,16,12,184 // movss (%eax,%edi,4),%xmm1 .byte 102,15,126,255 // movd %xmm7,%edi .byte 243,15,16,60,184 // movss (%eax,%edi,4),%xmm7 .byte 102,15,20,197 // unpcklpd %xmm5,%xmm0 .byte 15,20,230 // unpcklps %xmm6,%xmm4 .byte 15,20,207 // unpcklps %xmm7,%xmm1 .byte 139,70,12 // mov 0xc(%esi),%eax .byte 102,15,111,235 // movdqa %xmm3,%xmm5 .byte 102,15,114,213,16 // psrld $0x10,%xmm5 .byte 102,15,219,234 // pand %xmm2,%xmm5 .byte 102,15,112,213,78 // pshufd $0x4e,%xmm5,%xmm2 .byte 102,15,112,245,231 // pshufd $0xe7,%xmm5,%xmm6 .byte 102,15,126,246 // movd %xmm6,%esi .byte 243,15,16,52,176 // movss (%eax,%esi,4),%xmm6 .byte 102,15,126,214 // movd %xmm2,%esi .byte 243,15,16,60,176 // movss (%eax,%esi,4),%xmm7 .byte 102,15,126,238 // movd %xmm5,%esi .byte 102,15,112,237,229 // pshufd $0xe5,%xmm5,%xmm5 .byte 243,15,16,20,176 // movss (%eax,%esi,4),%xmm2 .byte 102,15,126,238 // movd %xmm5,%esi .byte 243,15,16,44,176 // movss (%eax,%esi,4),%xmm5 .byte 102,15,20,204 // unpcklpd %xmm4,%xmm1 .byte 15,20,254 // unpcklps %xmm6,%xmm7 .byte 15,20,213 // unpcklps %xmm5,%xmm2 .byte 102,15,20,215 // unpcklpd %xmm7,%xmm2 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,154,23,163,0,0 // mulps 0xa317(%edx),%xmm3 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 137,194 // mov %eax,%edx .byte 141,66,8 // lea 0x8(%edx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 81 // push %ecx .byte 255,82,4 // call *0x4(%edx) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 36,3 // and $0x3,%al .byte 60,1 // cmp $0x1,%al .byte 116,37 // je 2c42 <_sk_load_tables_sse2+0x167> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 60,2 // cmp $0x2,%al .byte 116,19 // je 2c38 <_sk_load_tables_sse2+0x15d> .byte 60,3 // cmp $0x3,%al .byte 15,133,217,254,255,255 // jne 2b06 <_sk_load_tables_sse2+0x2b> .byte 102,15,110,68,187,8 // movd 0x8(%ebx,%edi,4),%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 102,15,18,28,187 // movlpd (%ebx,%edi,4),%xmm3 .byte 233,196,254,255,255 // jmp 2b06 <_sk_load_tables_sse2+0x2b> .byte 102,15,110,28,187 // movd (%ebx,%edi,4),%xmm3 .byte 233,186,254,255,255 // jmp 2b06 <_sk_load_tables_sse2+0x2b> HIDDEN _sk_load_tables_u16_be_sse2 .globl _sk_load_tables_u16_be_sse2 FUNCTION(_sk_load_tables_u16_be_sse2) _sk_load_tables_u16_be_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,44 // sub $0x2c,%esp .byte 232,0,0,0,0 // call 2c5a <_sk_load_tables_u16_be_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,57 // mov (%ecx),%edi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 193,231,2 // shl $0x2,%edi .byte 133,219 // test %ebx,%ebx .byte 139,48 // mov (%eax),%esi .byte 139,6 // mov (%esi),%eax .byte 15,133,210,1,0,0 // jne 2e47 <_sk_load_tables_u16_be_sse2+0x1fb> .byte 102,15,16,4,120 // movupd (%eax,%edi,2),%xmm0 .byte 243,15,111,76,120,16 // movdqu 0x10(%eax,%edi,2),%xmm1 .byte 102,15,40,216 // movapd %xmm0,%xmm3 .byte 102,15,97,217 // punpcklwd %xmm1,%xmm3 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,15,105,216 // punpckhwd %xmm0,%xmm3 .byte 102,15,126,77,208 // movd %xmm1,-0x30(%ebp) .byte 102,15,112,193,229 // pshufd $0xe5,%xmm1,%xmm0 .byte 102,15,126,69,212 // movd %xmm0,-0x2c(%ebp) .byte 243,15,126,69,208 // movq -0x30(%ebp),%xmm0 .byte 102,15,97,192 // punpcklwd %xmm0,%xmm0 .byte 102,15,112,209,231 // pshufd $0xe7,%xmm1,%xmm2 .byte 102,15,126,85,220 // movd %xmm2,-0x24(%ebp) .byte 102,15,112,201,78 // pshufd $0x4e,%xmm1,%xmm1 .byte 102,15,126,77,216 // movd %xmm1,-0x28(%ebp) .byte 243,15,126,77,216 // movq -0x28(%ebp),%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,15,126,93,224 // movd %xmm3,-0x20(%ebp) .byte 102,15,112,211,229 // pshufd $0xe5,%xmm3,%xmm2 .byte 102,15,126,85,228 // movd %xmm2,-0x1c(%ebp) .byte 242,15,112,192,232 // pshuflw $0xe8,%xmm0,%xmm0 .byte 243,15,112,192,232 // pshufhw $0xe8,%xmm0,%xmm0 .byte 102,15,112,192,232 // pshufd $0xe8,%xmm0,%xmm0 .byte 102,15,111,146,22,162,0,0 // movdqa 0xa216(%edx),%xmm2 .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,97,196 // punpcklwd %xmm4,%xmm0 .byte 102,15,112,232,78 // pshufd $0x4e,%xmm0,%xmm5 .byte 102,15,112,240,231 // pshufd $0xe7,%xmm0,%xmm6 .byte 102,15,126,240 // movd %xmm6,%eax .byte 139,126,4 // mov 0x4(%esi),%edi .byte 243,15,16,52,135 // movss (%edi,%eax,4),%xmm6 .byte 102,15,126,232 // movd %xmm5,%eax .byte 243,15,16,44,135 // movss (%edi,%eax,4),%xmm5 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,248,229 // pshufd $0xe5,%xmm0,%xmm7 .byte 243,15,16,4,135 // movss (%edi,%eax,4),%xmm0 .byte 102,15,126,248 // movd %xmm7,%eax .byte 243,15,16,60,135 // movss (%edi,%eax,4),%xmm7 .byte 139,70,8 // mov 0x8(%esi),%eax .byte 15,20,238 // unpcklps %xmm6,%xmm5 .byte 15,20,199 // unpcklps %xmm7,%xmm0 .byte 102,15,20,197 // unpcklpd %xmm5,%xmm0 .byte 242,15,112,201,232 // pshuflw $0xe8,%xmm1,%xmm1 .byte 243,15,112,201,232 // pshufhw $0xe8,%xmm1,%xmm1 .byte 102,15,112,201,232 // pshufd $0xe8,%xmm1,%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 102,15,97,204 // punpcklwd %xmm4,%xmm1 .byte 102,15,112,233,78 // pshufd $0x4e,%xmm1,%xmm5 .byte 102,15,112,241,231 // pshufd $0xe7,%xmm1,%xmm6 .byte 102,15,126,247 // movd %xmm6,%edi .byte 243,15,16,52,184 // movss (%eax,%edi,4),%xmm6 .byte 102,15,126,239 // movd %xmm5,%edi .byte 243,15,16,44,184 // movss (%eax,%edi,4),%xmm5 .byte 102,15,126,207 // movd %xmm1,%edi .byte 102,15,112,249,229 // pshufd $0xe5,%xmm1,%xmm7 .byte 243,15,16,12,184 // movss (%eax,%edi,4),%xmm1 .byte 102,15,126,255 // movd %xmm7,%edi .byte 243,15,16,60,184 // movss (%eax,%edi,4),%xmm7 .byte 15,20,238 // unpcklps %xmm6,%xmm5 .byte 243,15,126,117,224 // movq -0x20(%ebp),%xmm6 .byte 102,15,97,240 // punpcklwd %xmm0,%xmm6 .byte 15,20,207 // unpcklps %xmm7,%xmm1 .byte 102,15,20,205 // unpcklpd %xmm5,%xmm1 .byte 139,70,12 // mov 0xc(%esi),%eax .byte 242,15,112,238,232 // pshuflw $0xe8,%xmm6,%xmm5 .byte 243,15,112,237,232 // pshufhw $0xe8,%xmm5,%xmm5 .byte 102,15,112,237,232 // pshufd $0xe8,%xmm5,%xmm5 .byte 102,15,219,234 // pand %xmm2,%xmm5 .byte 102,15,97,236 // punpcklwd %xmm4,%xmm5 .byte 102,15,112,213,78 // pshufd $0x4e,%xmm5,%xmm2 .byte 102,15,112,245,231 // pshufd $0xe7,%xmm5,%xmm6 .byte 102,15,126,246 // movd %xmm6,%esi .byte 243,15,16,52,176 // movss (%eax,%esi,4),%xmm6 .byte 102,15,126,214 // movd %xmm2,%esi .byte 243,15,16,60,176 // movss (%eax,%esi,4),%xmm7 .byte 102,15,126,238 // movd %xmm5,%esi .byte 102,15,112,237,229 // pshufd $0xe5,%xmm5,%xmm5 .byte 243,15,16,20,176 // movss (%eax,%esi,4),%xmm2 .byte 102,15,126,238 // movd %xmm5,%esi .byte 243,15,16,44,176 // movss (%eax,%esi,4),%xmm5 .byte 15,20,254 // unpcklps %xmm6,%xmm7 .byte 15,20,213 // unpcklps %xmm5,%xmm2 .byte 102,15,20,215 // unpcklpd %xmm7,%xmm2 .byte 102,15,112,219,78 // pshufd $0x4e,%xmm3,%xmm3 .byte 102,15,111,235 // movdqa %xmm3,%xmm5 .byte 102,15,113,245,8 // psllw $0x8,%xmm5 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,235,221 // por %xmm5,%xmm3 .byte 102,15,126,93,232 // movd %xmm3,-0x18(%ebp) .byte 102,15,112,219,229 // pshufd $0xe5,%xmm3,%xmm3 .byte 102,15,126,93,236 // movd %xmm3,-0x14(%ebp) .byte 243,15,126,93,232 // movq -0x18(%ebp),%xmm3 .byte 102,15,97,220 // punpcklwd %xmm4,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,154,38,162,0,0 // mulps 0xa226(%edx),%xmm3 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 137,194 // mov %eax,%edx .byte 141,66,8 // lea 0x8(%edx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 81 // push %ecx .byte 255,82,4 // call *0x4(%edx) .byte 131,196,60 // add $0x3c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 242,15,16,4,120 // movsd (%eax,%edi,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 131,251,1 // cmp $0x1,%ebx .byte 15,132,39,254,255,255 // je 2c80 <_sk_load_tables_u16_be_sse2+0x34> .byte 102,15,22,68,120,8 // movhpd 0x8(%eax,%edi,2),%xmm0 .byte 131,251,3 // cmp $0x3,%ebx .byte 15,130,24,254,255,255 // jb 2c80 <_sk_load_tables_u16_be_sse2+0x34> .byte 243,15,126,76,120,16 // movq 0x10(%eax,%edi,2),%xmm1 .byte 233,13,254,255,255 // jmp 2c80 <_sk_load_tables_u16_be_sse2+0x34> HIDDEN _sk_load_tables_rgb_u16_be_sse2 .globl _sk_load_tables_rgb_u16_be_sse2 FUNCTION(_sk_load_tables_rgb_u16_be_sse2) _sk_load_tables_rgb_u16_be_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,28 // sub $0x1c,%esp .byte 232,0,0,0,0 // call 2e81 <_sk_load_tables_rgb_u16_be_sse2+0xe> .byte 90 // pop %edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,65,8 // mov 0x8(%ecx),%eax .byte 107,57,3 // imul $0x3,(%ecx),%edi .byte 133,192 // test %eax,%eax .byte 139,54 // mov (%esi),%esi .byte 139,30 // mov (%esi),%ebx .byte 15,133,179,1,0,0 // jne 304d <_sk_load_tables_rgb_u16_be_sse2+0x1da> .byte 243,15,111,4,123 // movdqu (%ebx,%edi,2),%xmm0 .byte 243,15,111,92,123,8 // movdqu 0x8(%ebx,%edi,2),%xmm3 .byte 102,15,115,219,4 // psrldq $0x4,%xmm3 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,115,217,6 // psrldq $0x6,%xmm1 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,115,218,6 // psrldq $0x6,%xmm2 .byte 102,15,97,202 // punpcklwd %xmm2,%xmm1 .byte 102,15,97,195 // punpcklwd %xmm3,%xmm0 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,126,85,216 // movd %xmm2,-0x28(%ebp) .byte 102,15,112,202,229 // pshufd $0xe5,%xmm2,%xmm1 .byte 102,15,126,77,220 // movd %xmm1,-0x24(%ebp) .byte 243,15,126,85,216 // movq -0x28(%ebp),%xmm2 .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 .byte 102,15,126,93,224 // movd %xmm3,-0x20(%ebp) .byte 102,15,112,203,229 // pshufd $0xe5,%xmm3,%xmm1 .byte 102,15,126,77,228 // movd %xmm1,-0x1c(%ebp) .byte 243,15,126,77,224 // movq -0x20(%ebp),%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,15,126,69,232 // movd %xmm0,-0x18(%ebp) .byte 102,15,112,192,229 // pshufd $0xe5,%xmm0,%xmm0 .byte 102,15,126,69,236 // movd %xmm0,-0x14(%ebp) .byte 242,15,112,194,232 // pshuflw $0xe8,%xmm2,%xmm0 .byte 243,15,112,192,232 // pshufhw $0xe8,%xmm0,%xmm0 .byte 102,15,112,192,232 // pshufd $0xe8,%xmm0,%xmm0 .byte 102,15,111,146,239,159,0,0 // movdqa 0x9fef(%edx),%xmm2 .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,97,195 // punpcklwd %xmm3,%xmm0 .byte 102,15,112,224,78 // pshufd $0x4e,%xmm0,%xmm4 .byte 102,15,112,232,231 // pshufd $0xe7,%xmm0,%xmm5 .byte 102,15,126,232 // movd %xmm5,%eax .byte 139,126,4 // mov 0x4(%esi),%edi .byte 243,15,16,44,135 // movss (%edi,%eax,4),%xmm5 .byte 102,15,126,224 // movd %xmm4,%eax .byte 243,15,16,36,135 // movss (%edi,%eax,4),%xmm4 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,240,229 // pshufd $0xe5,%xmm0,%xmm6 .byte 243,15,16,4,135 // movss (%edi,%eax,4),%xmm0 .byte 102,15,126,240 // movd %xmm6,%eax .byte 243,15,16,52,135 // movss (%edi,%eax,4),%xmm6 .byte 139,70,8 // mov 0x8(%esi),%eax .byte 15,20,229 // unpcklps %xmm5,%xmm4 .byte 15,20,198 // unpcklps %xmm6,%xmm0 .byte 242,15,112,201,232 // pshuflw $0xe8,%xmm1,%xmm1 .byte 243,15,112,201,232 // pshufhw $0xe8,%xmm1,%xmm1 .byte 102,15,112,201,232 // pshufd $0xe8,%xmm1,%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 102,15,97,203 // punpcklwd %xmm3,%xmm1 .byte 102,15,112,233,78 // pshufd $0x4e,%xmm1,%xmm5 .byte 102,15,112,241,231 // pshufd $0xe7,%xmm1,%xmm6 .byte 102,15,126,247 // movd %xmm6,%edi .byte 243,15,16,52,184 // movss (%eax,%edi,4),%xmm6 .byte 102,15,126,239 // movd %xmm5,%edi .byte 243,15,16,44,184 // movss (%eax,%edi,4),%xmm5 .byte 102,15,126,207 // movd %xmm1,%edi .byte 102,15,112,249,229 // pshufd $0xe5,%xmm1,%xmm7 .byte 243,15,16,12,184 // movss (%eax,%edi,4),%xmm1 .byte 102,15,126,255 // movd %xmm7,%edi .byte 243,15,16,60,184 // movss (%eax,%edi,4),%xmm7 .byte 102,15,20,196 // unpcklpd %xmm4,%xmm0 .byte 243,15,126,101,232 // movq -0x18(%ebp),%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 15,20,238 // unpcklps %xmm6,%xmm5 .byte 139,70,12 // mov 0xc(%esi),%eax .byte 242,15,112,228,232 // pshuflw $0xe8,%xmm4,%xmm4 .byte 243,15,112,228,232 // pshufhw $0xe8,%xmm4,%xmm4 .byte 102,15,112,228,232 // pshufd $0xe8,%xmm4,%xmm4 .byte 102,15,219,226 // pand %xmm2,%xmm4 .byte 102,15,97,227 // punpcklwd %xmm3,%xmm4 .byte 102,15,112,212,78 // pshufd $0x4e,%xmm4,%xmm2 .byte 102,15,112,220,231 // pshufd $0xe7,%xmm4,%xmm3 .byte 102,15,126,222 // movd %xmm3,%esi .byte 243,15,16,28,176 // movss (%eax,%esi,4),%xmm3 .byte 102,15,126,214 // movd %xmm2,%esi .byte 243,15,16,52,176 // movss (%eax,%esi,4),%xmm6 .byte 102,15,126,230 // movd %xmm4,%esi .byte 102,15,112,228,229 // pshufd $0xe5,%xmm4,%xmm4 .byte 243,15,16,20,176 // movss (%eax,%esi,4),%xmm2 .byte 102,15,126,230 // movd %xmm4,%esi .byte 243,15,16,36,176 // movss (%eax,%esi,4),%xmm4 .byte 15,20,207 // unpcklps %xmm7,%xmm1 .byte 102,15,20,205 // unpcklpd %xmm5,%xmm1 .byte 15,20,243 // unpcklps %xmm3,%xmm6 .byte 15,20,212 // unpcklps %xmm4,%xmm2 .byte 102,15,20,214 // unpcklpd %xmm6,%xmm2 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 137,198 // mov %eax,%esi .byte 141,70,8 // lea 0x8(%esi),%eax .byte 131,236,8 // sub $0x8,%esp .byte 15,40,154,143,157,0,0 // movaps 0x9d8f(%edx),%xmm3 .byte 80 // push %eax .byte 81 // push %ecx .byte 255,86,4 // call *0x4(%esi) .byte 131,196,44 // add $0x2c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 102,15,110,4,123 // movd (%ebx,%edi,2),%xmm0 .byte 102,15,196,68,123,4,2 // pinsrw $0x2,0x4(%ebx,%edi,2),%xmm0 .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 131,248,1 // cmp $0x1,%eax .byte 117,13 // jne 306f <_sk_load_tables_rgb_u16_be_sse2+0x1fc> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 233,77,254,255,255 // jmp 2ebc <_sk_load_tables_rgb_u16_be_sse2+0x49> .byte 102,15,110,76,123,6 // movd 0x6(%ebx,%edi,2),%xmm1 .byte 102,15,196,76,123,10,2 // pinsrw $0x2,0xa(%ebx,%edi,2),%xmm1 .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 131,248,3 // cmp $0x3,%eax .byte 114,18 // jb 3097 <_sk_load_tables_rgb_u16_be_sse2+0x224> .byte 102,15,110,92,123,12 // movd 0xc(%ebx,%edi,2),%xmm3 .byte 102,15,196,92,123,16,2 // pinsrw $0x2,0x10(%ebx,%edi,2),%xmm3 .byte 233,37,254,255,255 // jmp 2ebc <_sk_load_tables_rgb_u16_be_sse2+0x49> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 233,28,254,255,255 // jmp 2ebc <_sk_load_tables_rgb_u16_be_sse2+0x49> HIDDEN _sk_byte_tables_sse2 .globl _sk_byte_tables_sse2 FUNCTION(_sk_byte_tables_sse2) _sk_byte_tables_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 30ae <_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,162,50,156,0,0 // movaps 0x9c32(%edx),%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,238 // movd %xmm5,%esi .byte 102,15,112,232,231 // pshufd $0xe7,%xmm0,%xmm5 .byte 139,57 // mov (%ecx),%edi .byte 15,182,52,55 // movzbl (%edi,%esi,1),%esi .byte 102,15,126,235 // movd %xmm5,%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,232,229 // pshufd $0xe5,%xmm0,%xmm5 .byte 102,15,126,198 // movd %xmm0,%esi .byte 15,182,52,55 // movzbl (%edi,%esi,1),%esi .byte 102,15,126,232 // movd %xmm5,%eax .byte 15,182,4,7 // movzbl (%edi,%eax,1),%eax .byte 193,224,8 // shl $0x8,%eax .byte 9,240 // or %esi,%eax .byte 102,15,110,192 // movd %eax,%xmm0 .byte 139,65,4 // mov 0x4(%ecx),%eax .byte 102,15,196,195,1 // pinsrw $0x1,%ebx,%xmm0 .byte 15,40,170,82,157,0,0 // movaps 0x9d52(%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,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,110,200 // movd %eax,%xmm1 .byte 102,15,196,206,1 // pinsrw $0x1,%esi,%xmm1 .byte 139,65,8 // mov 0x8(%ecx),%eax .byte 15,89,212 // mulps %xmm4,%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,110,208 // movd %eax,%xmm2 .byte 102,15,196,214,1 // pinsrw $0x1,%esi,%xmm2 .byte 139,65,12 // mov 0xc(%ecx),%eax .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 102,15,91,219 // cvtps2dq %xmm3,%xmm3 .byte 102,15,126,217 // movd %xmm3,%ecx .byte 102,15,112,227,229 // pshufd $0xe5,%xmm3,%xmm4 .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,226 // movd %xmm4,%edx .byte 15,182,12,8 // movzbl (%eax,%ecx,1),%ecx .byte 15,182,4,16 // movzbl (%eax,%edx,1),%eax .byte 193,224,8 // shl $0x8,%eax .byte 9,200 // or %ecx,%eax .byte 102,15,110,216 // movd %eax,%xmm3 .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,96,196 // punpcklbw %xmm4,%xmm0 .byte 102,15,97,196 // punpcklwd %xmm4,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 102,15,96,204 // punpcklbw %xmm4,%xmm1 .byte 102,15,97,204 // punpcklwd %xmm4,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 102,15,96,212 // punpcklbw %xmm4,%xmm2 .byte 102,15,97,212 // punpcklwd %xmm4,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 102,15,196,222,1 // pinsrw $0x1,%esi,%xmm3 .byte 102,15,96,220 // punpcklbw %xmm4,%xmm3 .byte 102,15,97,220 // punpcklwd %xmm4,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,221 // mulps %xmm5,%xmm3 .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,65,8 // lea 0x8(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_byte_tables_rgb_sse2 .globl _sk_byte_tables_rgb_sse2 FUNCTION(_sk_byte_tables_rgb_sse2) _sk_byte_tables_rgb_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 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 32aa <_sk_byte_tables_rgb_sse2+0x65> .byte 90 // pop %edx .byte 102,15,110,199 // movd %edi,%xmm0 .byte 139,121,4 // mov 0x4(%ecx),%edi .byte 102,15,196,198,1 // pinsrw $0x1,%esi,%xmm0 .byte 15,40,170,86,155,0,0 // movaps 0x9b56(%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,110,207 // movd %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 193,225,8 // shl $0x8,%ecx .byte 9,209 // or %edx,%ecx .byte 102,15,110,209 // movd %ecx,%xmm2 .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,96,196 // punpcklbw %xmm4,%xmm0 .byte 102,15,97,196 // punpcklwd %xmm4,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 102,15,96,204 // punpcklbw %xmm4,%xmm1 .byte 102,15,97,204 // punpcklwd %xmm4,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 102,15,196,215,1 // pinsrw $0x1,%edi,%xmm2 .byte 102,15,96,212 // punpcklbw %xmm4,%xmm2 .byte 102,15,97,212 // punpcklwd %xmm4,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_table_r_sse2 .globl _sk_table_r_sse2 FUNCTION(_sk_table_r_sse2) _sk_table_r_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,17 // mov (%ecx),%edx .byte 139,73,4 // mov 0x4(%ecx),%ecx .byte 73 // dec %ecx .byte 102,15,110,225 // movd %ecx,%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,78 // pshufd $0x4e,%xmm0,%xmm4 .byte 102,15,112,232,231 // pshufd $0xe7,%xmm0,%xmm5 .byte 102,15,126,233 // movd %xmm5,%ecx .byte 243,15,16,44,138 // movss (%edx,%ecx,4),%xmm5 .byte 102,15,126,225 // movd %xmm4,%ecx .byte 243,15,16,36,138 // movss (%edx,%ecx,4),%xmm4 .byte 102,15,126,193 // movd %xmm0,%ecx .byte 102,15,112,240,229 // pshufd $0xe5,%xmm0,%xmm6 .byte 243,15,16,4,138 // movss (%edx,%ecx,4),%xmm0 .byte 102,15,126,241 // movd %xmm6,%ecx .byte 243,15,16,52,138 // movss (%edx,%ecx,4),%xmm6 .byte 15,20,229 // unpcklps %xmm5,%xmm4 .byte 15,20,198 // unpcklps %xmm6,%xmm0 .byte 102,15,20,196 // unpcklpd %xmm4,%xmm0 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_table_g_sse2 .globl _sk_table_g_sse2 FUNCTION(_sk_table_g_sse2) _sk_table_g_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,17 // mov (%ecx),%edx .byte 139,73,4 // mov 0x4(%ecx),%ecx .byte 73 // dec %ecx .byte 102,15,110,225 // movd %ecx,%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,78 // pshufd $0x4e,%xmm1,%xmm4 .byte 102,15,112,233,231 // pshufd $0xe7,%xmm1,%xmm5 .byte 102,15,126,233 // movd %xmm5,%ecx .byte 243,15,16,44,138 // movss (%edx,%ecx,4),%xmm5 .byte 102,15,126,225 // movd %xmm4,%ecx .byte 243,15,16,36,138 // movss (%edx,%ecx,4),%xmm4 .byte 102,15,126,201 // movd %xmm1,%ecx .byte 102,15,112,241,229 // pshufd $0xe5,%xmm1,%xmm6 .byte 243,15,16,12,138 // movss (%edx,%ecx,4),%xmm1 .byte 102,15,126,241 // movd %xmm6,%ecx .byte 243,15,16,52,138 // movss (%edx,%ecx,4),%xmm6 .byte 15,20,229 // unpcklps %xmm5,%xmm4 .byte 15,20,206 // unpcklps %xmm6,%xmm1 .byte 102,15,20,204 // unpcklpd %xmm4,%xmm1 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_table_b_sse2 .globl _sk_table_b_sse2 FUNCTION(_sk_table_b_sse2) _sk_table_b_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,17 // mov (%ecx),%edx .byte 139,73,4 // mov 0x4(%ecx),%ecx .byte 73 // dec %ecx .byte 102,15,110,225 // movd %ecx,%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,78 // pshufd $0x4e,%xmm2,%xmm4 .byte 102,15,112,234,231 // pshufd $0xe7,%xmm2,%xmm5 .byte 102,15,126,233 // movd %xmm5,%ecx .byte 243,15,16,44,138 // movss (%edx,%ecx,4),%xmm5 .byte 102,15,126,225 // movd %xmm4,%ecx .byte 243,15,16,36,138 // movss (%edx,%ecx,4),%xmm4 .byte 102,15,126,209 // movd %xmm2,%ecx .byte 102,15,112,242,229 // pshufd $0xe5,%xmm2,%xmm6 .byte 243,15,16,20,138 // movss (%edx,%ecx,4),%xmm2 .byte 102,15,126,241 // movd %xmm6,%ecx .byte 243,15,16,52,138 // movss (%edx,%ecx,4),%xmm6 .byte 15,20,229 // unpcklps %xmm5,%xmm4 .byte 15,20,214 // unpcklps %xmm6,%xmm2 .byte 102,15,20,212 // unpcklpd %xmm4,%xmm2 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_table_a_sse2 .globl _sk_table_a_sse2 FUNCTION(_sk_table_a_sse2) _sk_table_a_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,17 // mov (%ecx),%edx .byte 139,73,4 // mov 0x4(%ecx),%ecx .byte 73 // dec %ecx .byte 102,15,110,225 // movd %ecx,%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,78 // pshufd $0x4e,%xmm3,%xmm4 .byte 102,15,112,235,231 // pshufd $0xe7,%xmm3,%xmm5 .byte 102,15,126,233 // movd %xmm5,%ecx .byte 243,15,16,44,138 // movss (%edx,%ecx,4),%xmm5 .byte 102,15,126,225 // movd %xmm4,%ecx .byte 243,15,16,36,138 // movss (%edx,%ecx,4),%xmm4 .byte 102,15,126,217 // movd %xmm3,%ecx .byte 102,15,112,243,229 // pshufd $0xe5,%xmm3,%xmm6 .byte 243,15,16,28,138 // movss (%edx,%ecx,4),%xmm3 .byte 102,15,126,241 // movd %xmm6,%ecx .byte 243,15,16,52,138 // movss (%edx,%ecx,4),%xmm6 .byte 15,20,229 // unpcklps %xmm5,%xmm4 .byte 15,20,222 // unpcklps %xmm6,%xmm3 .byte 102,15,20,220 // unpcklpd %xmm4,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_parametric_r_sse2 .globl _sk_parametric_r_sse2 FUNCTION(_sk_parametric_r_sse2) _sk_parametric_r_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,24 // sub $0x18,%esp .byte 15,41,93,232 // movaps %xmm3,-0x18(%ebp) .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 232,0,0,0,0 // call 357a <_sk_parametric_r_sse2+0x18> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,105,16 // movss 0x10(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 243,15,16,97,12 // movss 0xc(%ecx),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,89,225 // mulps %xmm1,%xmm4 .byte 243,15,16,113,4 // movss 0x4(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,194,205,2 // cmpleps %xmm5,%xmm1 .byte 243,15,16,105,24 // movss 0x18(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,229 // addps %xmm5,%xmm4 .byte 243,15,16,105,8 // movss 0x8(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,245 // addps %xmm5,%xmm6 .byte 15,91,238 // cvtdq2ps %xmm6,%xmm5 .byte 15,89,170,22,153,0,0 // mulps 0x9916(%edx),%xmm5 .byte 15,84,178,38,153,0,0 // andps 0x9926(%edx),%xmm6 .byte 15,86,178,134,150,0,0 // orps 0x9686(%edx),%xmm6 .byte 15,88,170,54,153,0,0 // addps 0x9936(%edx),%xmm5 .byte 15,40,186,70,153,0,0 // movaps 0x9946(%edx),%xmm7 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,88,178,86,153,0,0 // addps 0x9956(%edx),%xmm6 .byte 15,40,186,102,153,0,0 // movaps 0x9966(%edx),%xmm7 .byte 15,94,254 // divps %xmm6,%xmm7 .byte 243,15,16,49 // movss (%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,89,238 // mulps %xmm6,%xmm5 .byte 243,15,91,245 // cvttps2dq %xmm5,%xmm6 .byte 15,91,254 // cvtdq2ps %xmm6,%xmm7 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,194,199,1 // cmpltps %xmm7,%xmm0 .byte 15,40,178,150,150,0,0 // movaps 0x9696(%edx),%xmm6 .byte 15,84,198 // andps %xmm6,%xmm0 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,92,199 // subps %xmm7,%xmm0 .byte 15,88,170,118,153,0,0 // addps 0x9976(%edx),%xmm5 .byte 15,40,186,134,153,0,0 // movaps 0x9986(%edx),%xmm7 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,40,186,150,153,0,0 // movaps 0x9996(%edx),%xmm7 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,40,130,166,153,0,0 // movaps 0x99a6(%edx),%xmm0 .byte 15,94,199 // divps %xmm7,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,89,130,182,153,0,0 // mulps 0x99b6(%edx),%xmm0 .byte 102,15,91,192 // cvtps2dq %xmm0,%xmm0 .byte 243,15,16,105,20 // movss 0x14(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,84,225 // andps %xmm1,%xmm4 .byte 15,85,205 // andnps %xmm5,%xmm1 .byte 15,86,204 // orps %xmm4,%xmm1 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,95,200 // maxps %xmm0,%xmm1 .byte 15,93,206 // minps %xmm6,%xmm1 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,40,93,232 // movaps -0x18(%ebp),%xmm3 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,40 // add $0x28,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_parametric_g_sse2 .globl _sk_parametric_g_sse2 FUNCTION(_sk_parametric_g_sse2) _sk_parametric_g_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,24 // sub $0x18,%esp .byte 15,41,93,232 // movaps %xmm3,-0x18(%ebp) .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 232,0,0,0,0 // call 36b1 <_sk_parametric_g_sse2+0x15> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,105,16 // movss 0x10(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 243,15,16,97,12 // movss 0xc(%ecx),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,89,225 // mulps %xmm1,%xmm4 .byte 243,15,16,113,4 // movss 0x4(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,194,205,2 // cmpleps %xmm5,%xmm1 .byte 243,15,16,105,24 // movss 0x18(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,229 // addps %xmm5,%xmm4 .byte 243,15,16,105,8 // movss 0x8(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,245 // addps %xmm5,%xmm6 .byte 15,91,238 // cvtdq2ps %xmm6,%xmm5 .byte 15,89,170,223,151,0,0 // mulps 0x97df(%edx),%xmm5 .byte 15,84,178,239,151,0,0 // andps 0x97ef(%edx),%xmm6 .byte 15,86,178,79,149,0,0 // orps 0x954f(%edx),%xmm6 .byte 15,88,170,255,151,0,0 // addps 0x97ff(%edx),%xmm5 .byte 15,40,186,15,152,0,0 // movaps 0x980f(%edx),%xmm7 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,88,178,31,152,0,0 // addps 0x981f(%edx),%xmm6 .byte 15,40,186,47,152,0,0 // movaps 0x982f(%edx),%xmm7 .byte 15,94,254 // divps %xmm6,%xmm7 .byte 243,15,16,49 // movss (%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,89,238 // mulps %xmm6,%xmm5 .byte 243,15,91,245 // cvttps2dq %xmm5,%xmm6 .byte 15,91,254 // cvtdq2ps %xmm6,%xmm7 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,194,199,1 // cmpltps %xmm7,%xmm0 .byte 15,40,178,95,149,0,0 // movaps 0x955f(%edx),%xmm6 .byte 15,84,198 // andps %xmm6,%xmm0 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,92,199 // subps %xmm7,%xmm0 .byte 15,88,170,63,152,0,0 // addps 0x983f(%edx),%xmm5 .byte 15,40,186,79,152,0,0 // movaps 0x984f(%edx),%xmm7 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,40,186,95,152,0,0 // movaps 0x985f(%edx),%xmm7 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,40,130,111,152,0,0 // movaps 0x986f(%edx),%xmm0 .byte 15,94,199 // divps %xmm7,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,89,130,127,152,0,0 // mulps 0x987f(%edx),%xmm0 .byte 102,15,91,192 // cvtps2dq %xmm0,%xmm0 .byte 243,15,16,105,20 // movss 0x14(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,84,225 // andps %xmm1,%xmm4 .byte 15,85,205 // andnps %xmm5,%xmm1 .byte 15,86,204 // orps %xmm4,%xmm1 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,95,200 // maxps %xmm0,%xmm1 .byte 15,93,206 // minps %xmm6,%xmm1 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,40,93,232 // movaps -0x18(%ebp),%xmm3 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,40 // add $0x28,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_parametric_b_sse2 .globl _sk_parametric_b_sse2 FUNCTION(_sk_parametric_b_sse2) _sk_parametric_b_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,24 // sub $0x18,%esp .byte 15,41,93,232 // movaps %xmm3,-0x18(%ebp) .byte 15,40,217 // movaps %xmm1,%xmm3 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 232,0,0,0,0 // call 37e5 <_sk_parametric_b_sse2+0x15> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,105,16 // movss 0x10(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 243,15,16,97,12 // movss 0xc(%ecx),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,89,226 // mulps %xmm2,%xmm4 .byte 243,15,16,113,4 // movss 0x4(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,242 // mulps %xmm2,%xmm6 .byte 15,194,213,2 // cmpleps %xmm5,%xmm2 .byte 243,15,16,105,24 // movss 0x18(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,229 // addps %xmm5,%xmm4 .byte 243,15,16,105,8 // movss 0x8(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,245 // addps %xmm5,%xmm6 .byte 15,91,238 // cvtdq2ps %xmm6,%xmm5 .byte 15,89,170,171,150,0,0 // mulps 0x96ab(%edx),%xmm5 .byte 15,84,178,187,150,0,0 // andps 0x96bb(%edx),%xmm6 .byte 15,86,178,27,148,0,0 // orps 0x941b(%edx),%xmm6 .byte 15,88,170,203,150,0,0 // addps 0x96cb(%edx),%xmm5 .byte 15,40,186,219,150,0,0 // movaps 0x96db(%edx),%xmm7 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,88,178,235,150,0,0 // addps 0x96eb(%edx),%xmm6 .byte 15,40,186,251,150,0,0 // movaps 0x96fb(%edx),%xmm7 .byte 15,94,254 // divps %xmm6,%xmm7 .byte 243,15,16,49 // movss (%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,89,238 // mulps %xmm6,%xmm5 .byte 243,15,91,245 // cvttps2dq %xmm5,%xmm6 .byte 15,91,254 // cvtdq2ps %xmm6,%xmm7 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,194,199,1 // cmpltps %xmm7,%xmm0 .byte 15,40,178,43,148,0,0 // movaps 0x942b(%edx),%xmm6 .byte 15,84,198 // andps %xmm6,%xmm0 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,92,199 // subps %xmm7,%xmm0 .byte 15,88,170,11,151,0,0 // addps 0x970b(%edx),%xmm5 .byte 15,40,186,27,151,0,0 // movaps 0x971b(%edx),%xmm7 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,40,186,43,151,0,0 // movaps 0x972b(%edx),%xmm7 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,40,130,59,151,0,0 // movaps 0x973b(%edx),%xmm0 .byte 15,94,199 // divps %xmm7,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,89,130,75,151,0,0 // mulps 0x974b(%edx),%xmm0 .byte 102,15,91,192 // cvtps2dq %xmm0,%xmm0 .byte 243,15,16,105,20 // movss 0x14(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,84,226 // andps %xmm2,%xmm4 .byte 15,85,213 // andnps %xmm5,%xmm2 .byte 15,86,212 // orps %xmm4,%xmm2 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,95,208 // maxps %xmm0,%xmm2 .byte 15,93,214 // minps %xmm6,%xmm2 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,40,93,232 // movaps -0x18(%ebp),%xmm3 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,40 // add $0x28,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_parametric_a_sse2 .globl _sk_parametric_a_sse2 FUNCTION(_sk_parametric_a_sse2) _sk_parametric_a_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,24 // sub $0x18,%esp .byte 15,41,85,232 // movaps %xmm2,-0x18(%ebp) .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 232,0,0,0,0 // call 3919 <_sk_parametric_a_sse2+0x15> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,105,16 // movss 0x10(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 243,15,16,97,12 // movss 0xc(%ecx),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 243,15,16,113,4 // movss 0x4(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,194,221,2 // cmpleps %xmm5,%xmm3 .byte 243,15,16,105,24 // movss 0x18(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,229 // addps %xmm5,%xmm4 .byte 243,15,16,105,8 // movss 0x8(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,245 // addps %xmm5,%xmm6 .byte 15,91,238 // cvtdq2ps %xmm6,%xmm5 .byte 15,89,170,119,149,0,0 // mulps 0x9577(%edx),%xmm5 .byte 15,84,178,135,149,0,0 // andps 0x9587(%edx),%xmm6 .byte 15,86,178,231,146,0,0 // orps 0x92e7(%edx),%xmm6 .byte 15,88,170,151,149,0,0 // addps 0x9597(%edx),%xmm5 .byte 15,40,186,167,149,0,0 // movaps 0x95a7(%edx),%xmm7 .byte 15,89,254 // mulps %xmm6,%xmm7 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,88,178,183,149,0,0 // addps 0x95b7(%edx),%xmm6 .byte 15,40,186,199,149,0,0 // movaps 0x95c7(%edx),%xmm7 .byte 15,94,254 // divps %xmm6,%xmm7 .byte 243,15,16,49 // movss (%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,89,238 // mulps %xmm6,%xmm5 .byte 243,15,91,245 // cvttps2dq %xmm5,%xmm6 .byte 15,91,254 // cvtdq2ps %xmm6,%xmm7 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,194,199,1 // cmpltps %xmm7,%xmm0 .byte 15,40,178,247,146,0,0 // movaps 0x92f7(%edx),%xmm6 .byte 15,84,198 // andps %xmm6,%xmm0 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,92,199 // subps %xmm7,%xmm0 .byte 15,88,170,215,149,0,0 // addps 0x95d7(%edx),%xmm5 .byte 15,40,186,231,149,0,0 // movaps 0x95e7(%edx),%xmm7 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,40,186,247,149,0,0 // movaps 0x95f7(%edx),%xmm7 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,40,130,7,150,0,0 // movaps 0x9607(%edx),%xmm0 .byte 15,94,199 // divps %xmm7,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,89,130,23,150,0,0 // mulps 0x9617(%edx),%xmm0 .byte 102,15,91,192 // cvtps2dq %xmm0,%xmm0 .byte 243,15,16,105,20 // movss 0x14(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,84,227 // andps %xmm3,%xmm4 .byte 15,85,221 // andnps %xmm5,%xmm3 .byte 15,86,220 // orps %xmm4,%xmm3 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,95,216 // maxps %xmm0,%xmm3 .byte 15,93,222 // minps %xmm6,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,193 // movaps %xmm1,%xmm0 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,40,85,232 // movaps -0x18(%ebp),%xmm2 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,40 // add $0x28,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_gamma_sse2 .globl _sk_gamma_sse2 FUNCTION(_sk_gamma_sse2) _sk_gamma_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,40 // sub $0x28,%esp .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 232,0,0,0,0 // call 3a4a <_sk_gamma_sse2+0x12> .byte 88 // pop %eax .byte 15,91,195 // cvtdq2ps %xmm3,%xmm0 .byte 15,89,128,70,148,0,0 // mulps 0x9446(%eax),%xmm0 .byte 15,84,152,86,148,0,0 // andps 0x9456(%eax),%xmm3 .byte 15,86,152,182,145,0,0 // orps 0x91b6(%eax),%xmm3 .byte 15,88,128,102,148,0,0 // addps 0x9466(%eax),%xmm0 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,89,160,118,148,0,0 // mulps 0x9476(%eax),%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,88,152,134,148,0,0 // addps 0x9486(%eax),%xmm3 .byte 15,40,160,150,148,0,0 // movaps 0x9496(%eax),%xmm4 .byte 15,94,227 // divps %xmm3,%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,17 // mov (%ecx),%edx .byte 243,15,16,58 // movss (%edx),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,41,125,232 // movaps %xmm7,-0x18(%ebp) .byte 243,15,91,216 // cvttps2dq %xmm0,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,194,227,1 // cmpltps %xmm3,%xmm4 .byte 15,84,160,198,145,0,0 // andps 0x91c6(%eax),%xmm4 .byte 15,92,220 // subps %xmm4,%xmm3 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,88,128,166,148,0,0 // addps 0x94a6(%eax),%xmm0 .byte 15,40,176,198,148,0,0 // movaps 0x94c6(%eax),%xmm6 .byte 15,92,244 // subps %xmm4,%xmm6 .byte 15,40,168,182,148,0,0 // movaps 0x94b6(%eax),%xmm5 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,40,152,214,148,0,0 // movaps 0x94d6(%eax),%xmm3 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,94,230 // divps %xmm6,%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,91,193 // cvtdq2ps %xmm1,%xmm0 .byte 15,89,128,70,148,0,0 // mulps 0x9446(%eax),%xmm0 .byte 15,84,136,86,148,0,0 // andps 0x9456(%eax),%xmm1 .byte 15,86,136,182,145,0,0 // orps 0x91b6(%eax),%xmm1 .byte 15,88,128,102,148,0,0 // addps 0x9466(%eax),%xmm0 .byte 15,40,241 // movaps %xmm1,%xmm6 .byte 15,89,176,118,148,0,0 // mulps 0x9476(%eax),%xmm6 .byte 15,92,198 // subps %xmm6,%xmm0 .byte 15,88,136,134,148,0,0 // addps 0x9486(%eax),%xmm1 .byte 15,40,176,150,148,0,0 // movaps 0x9496(%eax),%xmm6 .byte 15,94,241 // divps %xmm1,%xmm6 .byte 15,92,198 // subps %xmm6,%xmm0 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 243,15,91,200 // cvttps2dq %xmm0,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,194,241,1 // cmpltps %xmm1,%xmm6 .byte 15,84,176,198,145,0,0 // andps 0x91c6(%eax),%xmm6 .byte 15,92,206 // subps %xmm6,%xmm1 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,92,241 // subps %xmm1,%xmm6 .byte 15,88,128,166,148,0,0 // addps 0x94a6(%eax),%xmm0 .byte 15,40,184,198,148,0,0 // movaps 0x94c6(%eax),%xmm7 .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,92,198 // subps %xmm6,%xmm0 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,94,207 // divps %xmm7,%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,91,194 // cvtdq2ps %xmm2,%xmm0 .byte 15,89,128,70,148,0,0 // mulps 0x9446(%eax),%xmm0 .byte 15,84,144,86,148,0,0 // andps 0x9456(%eax),%xmm2 .byte 15,86,144,182,145,0,0 // orps 0x91b6(%eax),%xmm2 .byte 15,88,128,102,148,0,0 // addps 0x9466(%eax),%xmm0 .byte 15,40,176,118,148,0,0 // movaps 0x9476(%eax),%xmm6 .byte 15,89,242 // mulps %xmm2,%xmm6 .byte 15,92,198 // subps %xmm6,%xmm0 .byte 15,88,144,134,148,0,0 // addps 0x9486(%eax),%xmm2 .byte 15,40,176,150,148,0,0 // movaps 0x9496(%eax),%xmm6 .byte 15,94,242 // divps %xmm2,%xmm6 .byte 15,92,198 // subps %xmm6,%xmm0 .byte 15,89,69,232 // mulps -0x18(%ebp),%xmm0 .byte 243,15,91,208 // cvttps2dq %xmm0,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,194,242,1 // cmpltps %xmm2,%xmm6 .byte 15,84,176,198,145,0,0 // andps 0x91c6(%eax),%xmm6 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,92,242 // subps %xmm2,%xmm6 .byte 15,88,128,166,148,0,0 // addps 0x94a6(%eax),%xmm0 .byte 15,89,238 // mulps %xmm6,%xmm5 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 15,40,144,198,148,0,0 // movaps 0x94c6(%eax),%xmm2 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 15,94,218 // divps %xmm2,%xmm3 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 15,40,128,230,148,0,0 // movaps 0x94e6(%eax),%xmm0 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 102,15,91,196 // cvtps2dq %xmm4,%xmm0 .byte 102,15,91,201 // cvtps2dq %xmm1,%xmm1 .byte 102,15,91,211 // cvtps2dq %xmm3,%xmm2 .byte 141,65,8 // lea 0x8(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 80 // push %eax .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,56 // add $0x38,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_lab_to_xyz_sse2 .globl _sk_lab_to_xyz_sse2 FUNCTION(_sk_lab_to_xyz_sse2) _sk_lab_to_xyz_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,24 // sub $0x18,%esp .byte 15,41,93,232 // movaps %xmm3,-0x18(%ebp) .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 232,0,0,0,0 // call 3c32 <_sk_lab_to_xyz_sse2+0x15> .byte 88 // pop %eax .byte 15,89,144,14,147,0,0 // mulps 0x930e(%eax),%xmm2 .byte 15,40,160,174,144,0,0 // movaps 0x90ae(%eax),%xmm4 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,40,168,30,147,0,0 // movaps 0x931e(%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,46,147,0,0 // addps 0x932e(%eax),%xmm2 .byte 15,89,144,62,147,0,0 // mulps 0x933e(%eax),%xmm2 .byte 15,89,136,78,147,0,0 // mulps 0x934e(%eax),%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 15,89,152,94,147,0,0 // mulps 0x935e(%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,110,147,0,0 // movaps 0x936e(%eax),%xmm3 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 15,194,224,1 // cmpltps %xmm0,%xmm4 .byte 15,40,176,126,147,0,0 // movaps 0x937e(%eax),%xmm6 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,40,184,142,147,0,0 // movaps 0x938e(%eax),%xmm7 .byte 15,89,207 // mulps %xmm7,%xmm1 .byte 15,84,196 // andps %xmm4,%xmm0 .byte 15,85,225 // andnps %xmm1,%xmm4 .byte 15,86,224 // orps %xmm0,%xmm4 .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,194,200,1 // cmpltps %xmm0,%xmm1 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,89,215 // mulps %xmm7,%xmm2 .byte 15,84,193 // andps %xmm1,%xmm0 .byte 15,85,202 // andnps %xmm2,%xmm1 .byte 15,86,200 // orps %xmm0,%xmm1 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,88,238 // addps %xmm6,%xmm5 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,194,216,1 // cmpltps %xmm0,%xmm3 .byte 15,84,195 // andps %xmm3,%xmm0 .byte 15,85,221 // andnps %xmm5,%xmm3 .byte 15,86,216 // orps %xmm0,%xmm3 .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 15,89,160,158,147,0,0 // mulps 0x939e(%eax),%xmm4 .byte 15,89,152,174,147,0,0 // mulps 0x93ae(%eax),%xmm3 .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,40,93,232 // movaps -0x18(%ebp),%xmm3 .byte 80 // push %eax .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,17 // call *(%ecx) .byte 131,196,40 // add $0x28,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_load_a8_sse2 .globl _sk_load_a8_sse2 FUNCTION(_sk_load_a8_sse2) _sk_load_a8_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 3d22 <_sk_load_a8_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 117,60 // jne 3d79 <_sk_load_a8_sse2+0x65> .byte 102,15,110,4,62 // movd (%esi,%edi,1),%xmm0 .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 .byte 102,15,97,192 // punpcklwd %xmm0,%xmm0 .byte 102,15,219,130,174,143,0,0 // pand 0x8fae(%edx),%xmm0 .byte 15,91,216 // cvtdq2ps %xmm0,%xmm3 .byte 15,89,154,222,144,0,0 // mulps 0x90de(%edx),%xmm3 .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 102,15,87,201 // xorpd %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,50 // je 3db3 <_sk_load_a8_sse2+0x9f> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 128,251,2 // cmp $0x2,%bl .byte 116,19 // je 3d9d <_sk_load_a8_sse2+0x89> .byte 128,251,3 // cmp $0x3,%bl .byte 117,187 // jne 3d4a <_sk_load_a8_sse2+0x36> .byte 15,182,92,62,2 // movzbl 0x2(%esi,%edi,1),%ebx .byte 102,15,110,195 // movd %ebx,%xmm0 .byte 102,15,112,192,69 // pshufd $0x45,%xmm0,%xmm0 .byte 15,183,52,62 // movzwl (%esi,%edi,1),%esi .byte 102,15,110,206 // movd %esi,%xmm1 .byte 102,15,96,200 // punpcklbw %xmm0,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 242,15,16,193 // movsd %xmm1,%xmm0 .byte 235,151 // jmp 3d4a <_sk_load_a8_sse2+0x36> .byte 15,182,52,62 // movzbl (%esi,%edi,1),%esi .byte 102,15,110,198 // movd %esi,%xmm0 .byte 235,141 // jmp 3d4a <_sk_load_a8_sse2+0x36> HIDDEN _sk_load_a8_dst_sse2 .globl _sk_load_a8_dst_sse2 FUNCTION(_sk_load_a8_dst_sse2) _sk_load_a8_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,49 // mov (%ecx),%esi .byte 139,16 // mov (%eax),%edx .byte 139,122,4 // mov 0x4(%edx),%edi .byte 15,175,121,4 // imul 0x4(%ecx),%edi .byte 3,58 // add (%edx),%edi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,127,97,48 // movdqa %xmm4,0x30(%ecx) .byte 102,15,127,97,32 // movdqa %xmm4,0x20(%ecx) .byte 102,15,127,97,16 // movdqa %xmm4,0x10(%ecx) .byte 133,219 // test %ebx,%ebx .byte 232,0,0,0,0 // call 3df6 <_sk_load_a8_dst_sse2+0x39> .byte 90 // pop %edx .byte 117,54 // jne 3e2f <_sk_load_a8_dst_sse2+0x72> .byte 102,15,110,36,55 // movd (%edi,%esi,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,219,162,218,142,0,0 // pand 0x8eda(%edx),%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,162,10,144,0,0 // mulps 0x900a(%edx),%xmm4 .byte 15,41,97,64 // movaps %xmm4,0x40(%ecx) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,46 // je 3e65 <_sk_load_a8_dst_sse2+0xa8> .byte 128,251,2 // cmp $0x2,%bl .byte 116,19 // je 3e4f <_sk_load_a8_dst_sse2+0x92> .byte 128,251,3 // cmp $0x3,%bl .byte 117,197 // jne 3e06 <_sk_load_a8_dst_sse2+0x49> .byte 15,182,92,55,2 // movzbl 0x2(%edi,%esi,1),%ebx .byte 102,15,110,227 // movd %ebx,%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 15,183,52,55 // movzwl (%edi,%esi,1),%esi .byte 102,15,110,238 // movd %esi,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 102,15,97,232 // punpcklwd %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 235,161 // jmp 3e06 <_sk_load_a8_dst_sse2+0x49> .byte 15,182,52,55 // movzbl (%edi,%esi,1),%esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 235,151 // jmp 3e06 <_sk_load_a8_dst_sse2+0x49> HIDDEN _sk_gather_a8_sse2 .globl _sk_gather_a8_sse2 FUNCTION(_sk_gather_a8_sse2) _sk_gather_a8_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,17 // mov (%ecx),%edx .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,81,4 // movd 0x4(%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 193,226,8 // shl $0x8,%edx .byte 9,202 // or %ecx,%edx .byte 102,15,110,194 // movd %edx,%xmm0 .byte 102,15,196,199,1 // pinsrw $0x1,%edi,%xmm0 .byte 232,0,0,0,0 // call 3ef3 <_sk_gather_a8_sse2+0x84> .byte 89 // pop %ecx .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,15,96,193 // punpcklbw %xmm1,%xmm0 .byte 102,15,97,193 // punpcklwd %xmm1,%xmm0 .byte 15,91,216 // cvtdq2ps %xmm0,%xmm3 .byte 15,89,153,13,143,0,0 // mulps 0x8f0d(%ecx),%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,16 // add $0x10,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_store_a8_sse2 .globl _sk_store_a8_sse2 FUNCTION(_sk_store_a8_sse2) _sk_store_a8_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 3f37 <_sk_store_a8_sse2+0xe> .byte 94 // pop %esi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,87,4 // mov 0x4(%edi),%edx .byte 15,175,81,4 // imul 0x4(%ecx),%edx .byte 3,23 // add (%edi),%edx .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 15,40,166,169,141,0,0 // movaps 0x8da9(%esi),%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,224 // packssdw %xmm0,%xmm4 .byte 102,15,103,224 // packuswb %xmm0,%xmm4 .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 117,26 // jne 3f8c <_sk_store_a8_sse2+0x63> .byte 102,15,126,230 // movd %xmm4,%esi .byte 137,52,58 // mov %esi,(%edx,%edi,1) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,54 // je 3fd2 <_sk_store_a8_sse2+0xa9> .byte 128,251,2 // cmp $0x2,%bl .byte 116,14 // je 3faf <_sk_store_a8_sse2+0x86> .byte 128,251,3 // cmp $0x3,%bl .byte 117,211 // jne 3f79 <_sk_store_a8_sse2+0x50> .byte 102,15,197,220,4 // pextrw $0x4,%xmm4,%ebx .byte 136,92,58,2 // mov %bl,0x2(%edx,%edi,1) .byte 102,15,112,228,212 // pshufd $0xd4,%xmm4,%xmm4 .byte 102,15,219,166,185,144,0,0 // pand 0x90b9(%esi),%xmm4 .byte 102,15,103,228 // packuswb %xmm4,%xmm4 .byte 102,15,103,228 // packuswb %xmm4,%xmm4 .byte 102,15,103,228 // packuswb %xmm4,%xmm4 .byte 102,15,126,230 // movd %xmm4,%esi .byte 102,137,52,58 // mov %si,(%edx,%edi,1) .byte 235,167 // jmp 3f79 <_sk_store_a8_sse2+0x50> .byte 102,15,126,227 // movd %xmm4,%ebx .byte 136,28,58 // mov %bl,(%edx,%edi,1) .byte 235,158 // jmp 3f79 <_sk_store_a8_sse2+0x50> HIDDEN _sk_load_g8_sse2 .globl _sk_load_g8_sse2 FUNCTION(_sk_load_g8_sse2) _sk_load_g8_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 3fe9 <_sk_load_g8_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 117,63 // jne 4043 <_sk_load_g8_sse2+0x68> .byte 102,15,110,4,62 // movd (%esi,%edi,1),%xmm0 .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 .byte 102,15,97,192 // punpcklwd %xmm0,%xmm0 .byte 102,15,219,130,231,140,0,0 // pand 0x8ce7(%edx),%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,130,23,142,0,0 // mulps 0x8e17(%edx),%xmm0 .byte 141,112,8 // lea 0x8(%eax),%esi .byte 131,236,8 // sub $0x8,%esp .byte 15,40,154,39,140,0,0 // movaps 0x8c27(%edx),%xmm3 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 86 // push %esi .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,50 // je 407d <_sk_load_g8_sse2+0xa2> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 128,251,2 // cmp $0x2,%bl .byte 116,19 // je 4067 <_sk_load_g8_sse2+0x8c> .byte 128,251,3 // cmp $0x3,%bl .byte 117,184 // jne 4011 <_sk_load_g8_sse2+0x36> .byte 15,182,92,62,2 // movzbl 0x2(%esi,%edi,1),%ebx .byte 102,15,110,195 // movd %ebx,%xmm0 .byte 102,15,112,192,69 // pshufd $0x45,%xmm0,%xmm0 .byte 15,183,52,62 // movzwl (%esi,%edi,1),%esi .byte 102,15,110,206 // movd %esi,%xmm1 .byte 102,15,96,200 // punpcklbw %xmm0,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 242,15,16,193 // movsd %xmm1,%xmm0 .byte 235,148 // jmp 4011 <_sk_load_g8_sse2+0x36> .byte 15,182,52,62 // movzbl (%esi,%edi,1),%esi .byte 102,15,110,198 // movd %esi,%xmm0 .byte 235,138 // jmp 4011 <_sk_load_g8_sse2+0x36> HIDDEN _sk_load_g8_dst_sse2 .globl _sk_load_g8_dst_sse2 FUNCTION(_sk_load_g8_dst_sse2) _sk_load_g8_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 4095 <_sk_load_g8_dst_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 117,73 // jne 40f9 <_sk_load_g8_dst_sse2+0x72> .byte 102,15,110,36,62 // movd (%esi,%edi,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,219,162,59,140,0,0 // pand 0x8c3b(%edx),%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,162,107,141,0,0 // mulps 0x8d6b(%edx),%xmm4 .byte 15,41,97,48 // movaps %xmm4,0x30(%ecx) .byte 15,41,97,32 // movaps %xmm4,0x20(%ecx) .byte 15,41,97,16 // movaps %xmm4,0x10(%ecx) .byte 15,40,162,123,139,0,0 // movaps 0x8b7b(%edx),%xmm4 .byte 15,41,97,64 // movaps %xmm4,0x40(%ecx) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,50 // je 4133 <_sk_load_g8_dst_sse2+0xac> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 128,251,2 // cmp $0x2,%bl .byte 116,19 // je 411d <_sk_load_g8_dst_sse2+0x96> .byte 128,251,3 // cmp $0x3,%bl .byte 117,174 // jne 40bd <_sk_load_g8_dst_sse2+0x36> .byte 15,182,92,62,2 // movzbl 0x2(%esi,%edi,1),%ebx .byte 102,15,110,227 // movd %ebx,%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 15,183,52,62 // movzwl (%esi,%edi,1),%esi .byte 102,15,110,238 // movd %esi,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 102,15,97,232 // punpcklwd %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 235,138 // jmp 40bd <_sk_load_g8_dst_sse2+0x36> .byte 15,182,52,62 // movzbl (%esi,%edi,1),%esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 235,128 // jmp 40bd <_sk_load_g8_dst_sse2+0x36> HIDDEN _sk_gather_g8_sse2 .globl _sk_gather_g8_sse2 FUNCTION(_sk_gather_g8_sse2) _sk_gather_g8_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,17 // mov (%ecx),%edx .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,81,4 // movd 0x4(%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 193,226,8 // shl $0x8,%edx .byte 9,202 // or %ecx,%edx .byte 102,15,110,194 // movd %edx,%xmm0 .byte 232,0,0,0,0 // call 41bc <_sk_gather_g8_sse2+0x7f> .byte 89 // pop %ecx .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 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,129,68,140,0,0 // mulps 0x8c44(%ecx),%xmm0 .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,153,84,138,0,0 // movaps 0x8a54(%ecx),%xmm3 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 82 // push %edx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,16 // add $0x10,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_load_565_sse2 .globl _sk_load_565_sse2 FUNCTION(_sk_load_565_sse2) _sk_load_565_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 4207 <_sk_load_565_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 1,246 // add %esi,%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 117,97 // jne 4285 <_sk_load_565_sse2+0x8c> .byte 243,15,126,20,126 // movq (%esi,%edi,2),%xmm2 .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 .byte 102,15,111,130,9,140,0,0 // movdqa 0x8c09(%edx),%xmm0 .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,130,25,140,0,0 // mulps 0x8c19(%edx),%xmm0 .byte 102,15,111,138,41,140,0,0 // movdqa 0x8c29(%edx),%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,138,57,140,0,0 // mulps 0x8c39(%edx),%xmm1 .byte 102,15,219,146,73,140,0,0 // pand 0x8c49(%edx),%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,146,89,140,0,0 // mulps 0x8c59(%edx),%xmm2 .byte 141,112,8 // lea 0x8(%eax),%esi .byte 131,236,8 // sub $0x8,%esp .byte 15,40,154,9,138,0,0 // movaps 0x8a09(%edx),%xmm3 .byte 86 // push %esi .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,47 // je 42bc <_sk_load_565_sse2+0xc3> .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 128,251,2 // cmp $0x2,%bl .byte 116,19 // je 42a9 <_sk_load_565_sse2+0xb0> .byte 128,251,3 // cmp $0x3,%bl .byte 117,146 // jne 422d <_sk_load_565_sse2+0x34> .byte 15,183,92,126,4 // movzwl 0x4(%esi,%edi,2),%ebx .byte 102,15,110,195 // movd %ebx,%xmm0 .byte 102,15,112,208,69 // pshufd $0x45,%xmm0,%xmm2 .byte 102,15,110,4,126 // movd (%esi,%edi,2),%xmm0 .byte 242,15,112,192,212 // pshuflw $0xd4,%xmm0,%xmm0 .byte 242,15,16,208 // movsd %xmm0,%xmm2 .byte 233,113,255,255,255 // jmp 422d <_sk_load_565_sse2+0x34> .byte 15,183,52,126 // movzwl (%esi,%edi,2),%esi .byte 102,15,110,214 // movd %esi,%xmm2 .byte 233,100,255,255,255 // jmp 422d <_sk_load_565_sse2+0x34> HIDDEN _sk_load_565_dst_sse2 .globl _sk_load_565_dst_sse2 FUNCTION(_sk_load_565_dst_sse2) _sk_load_565_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 42d7 <_sk_load_565_dst_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 1,246 // add %esi,%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 117,113 // jne 4365 <_sk_load_565_dst_sse2+0x9c> .byte 243,15,126,36,126 // movq (%esi,%edi,2),%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,111,170,57,139,0,0 // movdqa 0x8b39(%edx),%xmm5 .byte 102,15,219,236 // pand %xmm4,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,170,73,139,0,0 // mulps 0x8b49(%edx),%xmm5 .byte 15,41,105,16 // movaps %xmm5,0x10(%ecx) .byte 102,15,111,170,89,139,0,0 // movdqa 0x8b59(%edx),%xmm5 .byte 102,15,219,236 // pand %xmm4,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,170,105,139,0,0 // mulps 0x8b69(%edx),%xmm5 .byte 15,41,105,32 // movaps %xmm5,0x20(%ecx) .byte 102,15,219,162,121,139,0,0 // pand 0x8b79(%edx),%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,162,137,139,0,0 // mulps 0x8b89(%edx),%xmm4 .byte 15,41,97,48 // movaps %xmm4,0x30(%ecx) .byte 15,40,162,57,137,0,0 // movaps 0x8939(%edx),%xmm4 .byte 15,41,97,64 // movaps %xmm4,0x40(%ecx) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,47 // je 439c <_sk_load_565_dst_sse2+0xd3> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 128,251,2 // cmp $0x2,%bl .byte 116,19 // je 4389 <_sk_load_565_dst_sse2+0xc0> .byte 128,251,3 // cmp $0x3,%bl .byte 117,130 // jne 42fd <_sk_load_565_dst_sse2+0x34> .byte 15,183,92,126,4 // movzwl 0x4(%esi,%edi,2),%ebx .byte 102,15,110,227 // movd %ebx,%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 102,15,110,44,126 // movd (%esi,%edi,2),%xmm5 .byte 242,15,112,237,212 // pshuflw $0xd4,%xmm5,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 233,97,255,255,255 // jmp 42fd <_sk_load_565_dst_sse2+0x34> .byte 15,183,52,126 // movzwl (%esi,%edi,2),%esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 233,84,255,255,255 // jmp 42fd <_sk_load_565_dst_sse2+0x34> HIDDEN _sk_gather_565_sse2 .globl _sk_gather_565_sse2 FUNCTION(_sk_gather_565_sse2) _sk_gather_565_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,17 // mov (%ecx),%edx .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,81,4 // movd 0x4(%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 15,183,12,74 // movzwl (%edx,%ecx,2),%ecx .byte 102,15,110,209 // movd %ecx,%xmm2 .byte 102,15,126,201 // movd %xmm1,%ecx .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 15,183,12,74 // movzwl (%edx,%ecx,2),%ecx .byte 102,15,196,209,1 // pinsrw $0x1,%ecx,%xmm2 .byte 102,15,126,201 // movd %xmm1,%ecx .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 15,183,12,74 // movzwl (%edx,%ecx,2),%ecx .byte 102,15,196,209,2 // pinsrw $0x2,%ecx,%xmm2 .byte 102,15,126,193 // movd %xmm0,%ecx .byte 15,183,12,74 // movzwl (%edx,%ecx,2),%ecx .byte 232,0,0,0,0 // call 4429 <_sk_gather_565_sse2+0x80> .byte 90 // pop %edx .byte 102,15,196,209,3 // pinsrw $0x3,%ecx,%xmm2 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 .byte 102,15,111,130,231,137,0,0 // movdqa 0x89e7(%edx),%xmm0 .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,130,247,137,0,0 // mulps 0x89f7(%edx),%xmm0 .byte 102,15,111,138,7,138,0,0 // movdqa 0x8a07(%edx),%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,138,23,138,0,0 // mulps 0x8a17(%edx),%xmm1 .byte 102,15,219,146,39,138,0,0 // pand 0x8a27(%edx),%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,146,55,138,0,0 // mulps 0x8a37(%edx),%xmm2 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,154,231,135,0,0 // movaps 0x87e7(%edx),%xmm3 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_store_565_sse2 .globl _sk_store_565_sse2 FUNCTION(_sk_store_565_sse2) _sk_store_565_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 449c <_sk_store_565_sse2+0xe> .byte 95 // pop %edi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,48 // mov (%eax),%esi .byte 139,86,4 // mov 0x4(%esi),%edx .byte 15,175,81,4 // imul 0x4(%ecx),%edx .byte 1,210 // add %edx,%edx .byte 3,22 // add (%esi),%edx .byte 139,49 // mov (%ecx),%esi .byte 15,40,167,100,139,0,0 // movaps 0x8b64(%edi),%xmm4 .byte 15,40,175,116,139,0,0 // movaps 0x8b74(%edi),%xmm5 .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,89,244 // mulps %xmm4,%xmm6 .byte 102,15,91,246 // cvtps2dq %xmm6,%xmm6 .byte 102,15,114,246,11 // pslld $0xb,%xmm6 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 102,15,91,237 // cvtps2dq %xmm5,%xmm5 .byte 102,15,114,245,5 // pslld $0x5,%xmm5 .byte 102,15,235,238 // por %xmm6,%xmm5 .byte 15,89,226 // mulps %xmm2,%xmm4 .byte 102,15,91,228 // cvtps2dq %xmm4,%xmm4 .byte 102,15,86,229 // orpd %xmm5,%xmm4 .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,15,114,228,16 // psrad $0x10,%xmm4 .byte 102,15,107,224 // packssdw %xmm0,%xmm4 .byte 102,15,126,101,232 // movd %xmm4,-0x18(%ebp) .byte 102,15,112,236,229 // pshufd $0xe5,%xmm4,%xmm5 .byte 102,15,126,109,236 // movd %xmm5,-0x14(%ebp) .byte 133,219 // test %ebx,%ebx .byte 117,34 // jne 4530 <_sk_store_565_sse2+0xa2> .byte 102,15,126,231 // movd %xmm4,%edi .byte 102,15,126,235 // movd %xmm5,%ebx .byte 137,60,114 // mov %edi,(%edx,%esi,2) .byte 137,92,114,4 // mov %ebx,0x4(%edx,%esi,2) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 243,15,126,101,232 // movq -0x18(%ebp),%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,37 // je 4566 <_sk_store_565_sse2+0xd8> .byte 128,251,2 // cmp $0x2,%bl .byte 116,15 // je 4555 <_sk_store_565_sse2+0xc7> .byte 128,251,3 // cmp $0x3,%bl .byte 117,210 // jne 451d <_sk_store_565_sse2+0x8f> .byte 102,15,197,252,4 // pextrw $0x4,%xmm4,%edi .byte 102,137,124,114,4 // mov %di,0x4(%edx,%esi,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,114 // movd %xmm4,(%edx,%esi,2) .byte 235,183 // jmp 451d <_sk_store_565_sse2+0x8f> .byte 102,15,126,231 // movd %xmm4,%edi .byte 102,137,60,114 // mov %di,(%edx,%esi,2) .byte 235,173 // jmp 451d <_sk_store_565_sse2+0x8f> HIDDEN _sk_load_4444_sse2 .globl _sk_load_4444_sse2 FUNCTION(_sk_load_4444_sse2) _sk_load_4444_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 457e <_sk_load_4444_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 1,246 // add %esi,%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 117,112 // jne 460b <_sk_load_4444_sse2+0x9b> .byte 243,15,126,28,126 // movq (%esi,%edi,2),%xmm3 .byte 102,15,97,216 // punpcklwd %xmm0,%xmm3 .byte 102,15,111,130,162,138,0,0 // movdqa 0x8aa2(%edx),%xmm0 .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,130,178,138,0,0 // mulps 0x8ab2(%edx),%xmm0 .byte 102,15,111,138,194,138,0,0 // movdqa 0x8ac2(%edx),%xmm1 .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,138,210,138,0,0 // mulps 0x8ad2(%edx),%xmm1 .byte 102,15,111,146,226,138,0,0 // movdqa 0x8ae2(%edx),%xmm2 .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,146,242,138,0,0 // mulps 0x8af2(%edx),%xmm2 .byte 102,15,219,154,2,139,0,0 // pand 0x8b02(%edx),%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,154,18,139,0,0 // mulps 0x8b12(%edx),%xmm3 .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,47 // je 4642 <_sk_load_4444_sse2+0xd2> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 128,251,2 // cmp $0x2,%bl .byte 116,19 // je 462f <_sk_load_4444_sse2+0xbf> .byte 128,251,3 // cmp $0x3,%bl .byte 117,131 // jne 45a4 <_sk_load_4444_sse2+0x34> .byte 15,183,92,126,4 // movzwl 0x4(%esi,%edi,2),%ebx .byte 102,15,110,195 // movd %ebx,%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 102,15,110,4,126 // movd (%esi,%edi,2),%xmm0 .byte 242,15,112,192,212 // pshuflw $0xd4,%xmm0,%xmm0 .byte 242,15,16,216 // movsd %xmm0,%xmm3 .byte 233,98,255,255,255 // jmp 45a4 <_sk_load_4444_sse2+0x34> .byte 15,183,52,126 // movzwl (%esi,%edi,2),%esi .byte 102,15,110,222 // movd %esi,%xmm3 .byte 233,85,255,255,255 // jmp 45a4 <_sk_load_4444_sse2+0x34> HIDDEN _sk_load_4444_dst_sse2 .globl _sk_load_4444_dst_sse2 FUNCTION(_sk_load_4444_dst_sse2) _sk_load_4444_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 465d <_sk_load_4444_dst_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 1,246 // add %esi,%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 15,133,128,0,0,0 // jne 46fe <_sk_load_4444_dst_sse2+0xaf> .byte 243,15,126,36,126 // movq (%esi,%edi,2),%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 102,15,111,170,195,137,0,0 // movdqa 0x89c3(%edx),%xmm5 .byte 102,15,219,236 // pand %xmm4,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,170,211,137,0,0 // mulps 0x89d3(%edx),%xmm5 .byte 15,41,105,16 // movaps %xmm5,0x10(%ecx) .byte 102,15,111,170,227,137,0,0 // movdqa 0x89e3(%edx),%xmm5 .byte 102,15,219,236 // pand %xmm4,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,170,243,137,0,0 // mulps 0x89f3(%edx),%xmm5 .byte 15,41,105,32 // movaps %xmm5,0x20(%ecx) .byte 102,15,111,170,3,138,0,0 // movdqa 0x8a03(%edx),%xmm5 .byte 102,15,219,236 // pand %xmm4,%xmm5 .byte 15,91,237 // cvtdq2ps %xmm5,%xmm5 .byte 15,89,170,19,138,0,0 // mulps 0x8a13(%edx),%xmm5 .byte 15,41,105,48 // movaps %xmm5,0x30(%ecx) .byte 102,15,219,162,35,138,0,0 // pand 0x8a23(%edx),%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,162,51,138,0,0 // mulps 0x8a33(%edx),%xmm4 .byte 15,41,97,64 // movaps %xmm4,0x40(%ecx) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,51 // je 4739 <_sk_load_4444_dst_sse2+0xea> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 128,251,2 // cmp $0x2,%bl .byte 116,23 // je 4726 <_sk_load_4444_dst_sse2+0xd7> .byte 128,251,3 // cmp $0x3,%bl .byte 15,133,111,255,255,255 // jne 4687 <_sk_load_4444_dst_sse2+0x38> .byte 15,183,92,126,4 // movzwl 0x4(%esi,%edi,2),%ebx .byte 102,15,110,227 // movd %ebx,%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 102,15,110,44,126 // movd (%esi,%edi,2),%xmm5 .byte 242,15,112,237,212 // pshuflw $0xd4,%xmm5,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 233,78,255,255,255 // jmp 4687 <_sk_load_4444_dst_sse2+0x38> .byte 15,183,52,126 // movzwl (%esi,%edi,2),%esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 233,65,255,255,255 // jmp 4687 <_sk_load_4444_dst_sse2+0x38> HIDDEN _sk_gather_4444_sse2 .globl _sk_gather_4444_sse2 FUNCTION(_sk_gather_4444_sse2) _sk_gather_4444_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,17 // mov (%ecx),%edx .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,81,4 // movd 0x4(%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 15,183,12,74 // movzwl (%edx,%ecx,2),%ecx .byte 102,15,110,217 // movd %ecx,%xmm3 .byte 102,15,126,201 // movd %xmm1,%ecx .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 15,183,12,74 // movzwl (%edx,%ecx,2),%ecx .byte 102,15,196,217,1 // pinsrw $0x1,%ecx,%xmm3 .byte 102,15,126,201 // movd %xmm1,%ecx .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 15,183,12,74 // movzwl (%edx,%ecx,2),%ecx .byte 102,15,196,217,2 // pinsrw $0x2,%ecx,%xmm3 .byte 102,15,126,193 // movd %xmm0,%ecx .byte 15,183,12,74 // movzwl (%edx,%ecx,2),%ecx .byte 102,15,196,217,3 // pinsrw $0x3,%ecx,%xmm3 .byte 232,0,0,0,0 // call 47cb <_sk_gather_4444_sse2+0x85> .byte 89 // pop %ecx .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,97,216 // punpcklwd %xmm0,%xmm3 .byte 102,15,111,129,85,136,0,0 // movdqa 0x8855(%ecx),%xmm0 .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,129,101,136,0,0 // mulps 0x8865(%ecx),%xmm0 .byte 102,15,111,137,117,136,0,0 // movdqa 0x8875(%ecx),%xmm1 .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,137,133,136,0,0 // mulps 0x8885(%ecx),%xmm1 .byte 102,15,111,145,149,136,0,0 // movdqa 0x8895(%ecx),%xmm2 .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,145,165,136,0,0 // mulps 0x88a5(%ecx),%xmm2 .byte 102,15,219,153,181,136,0,0 // pand 0x88b5(%ecx),%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,153,197,136,0,0 // mulps 0x88c5(%ecx),%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_store_4444_sse2 .globl _sk_store_4444_sse2 FUNCTION(_sk_store_4444_sse2) _sk_store_4444_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 4848 <_sk_store_4444_sse2+0xe> .byte 95 // pop %edi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,48 // mov (%eax),%esi .byte 139,86,4 // mov 0x4(%esi),%edx .byte 15,175,81,4 // imul 0x4(%ecx),%edx .byte 1,210 // add %edx,%edx .byte 3,22 // add (%esi),%edx .byte 139,49 // mov (%ecx),%esi .byte 15,40,167,88,136,0,0 // movaps 0x8858(%edi),%xmm4 .byte 139,89,8 // mov 0x8(%ecx),%ebx .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 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,224 // packssdw %xmm0,%xmm4 .byte 102,15,126,101,232 // movd %xmm4,-0x18(%ebp) .byte 102,15,112,236,229 // pshufd $0xe5,%xmm4,%xmm5 .byte 102,15,126,109,236 // movd %xmm5,-0x14(%ebp) .byte 133,219 // test %ebx,%ebx .byte 117,34 // jne 48eb <_sk_store_4444_sse2+0xb1> .byte 102,15,126,231 // movd %xmm4,%edi .byte 102,15,126,235 // movd %xmm5,%ebx .byte 137,60,114 // mov %edi,(%edx,%esi,2) .byte 137,92,114,4 // mov %ebx,0x4(%edx,%esi,2) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 243,15,126,101,232 // movq -0x18(%ebp),%xmm4 .byte 102,15,97,224 // punpcklwd %xmm0,%xmm4 .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,37 // je 4921 <_sk_store_4444_sse2+0xe7> .byte 128,251,2 // cmp $0x2,%bl .byte 116,15 // je 4910 <_sk_store_4444_sse2+0xd6> .byte 128,251,3 // cmp $0x3,%bl .byte 117,210 // jne 48d8 <_sk_store_4444_sse2+0x9e> .byte 102,15,197,252,4 // pextrw $0x4,%xmm4,%edi .byte 102,137,124,114,4 // mov %di,0x4(%edx,%esi,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,114 // movd %xmm4,(%edx,%esi,2) .byte 235,183 // jmp 48d8 <_sk_store_4444_sse2+0x9e> .byte 102,15,126,231 // movd %xmm4,%edi .byte 102,137,60,114 // mov %di,(%edx,%esi,2) .byte 235,173 // jmp 48d8 <_sk_store_4444_sse2+0x9e> HIDDEN _sk_load_8888_sse2 .globl _sk_load_8888_sse2 FUNCTION(_sk_load_8888_sse2) _sk_load_8888_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 4939 <_sk_load_8888_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 193,230,2 // shl $0x2,%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 117,102 // jne 49bd <_sk_load_8888_sse2+0x92> .byte 243,15,111,28,190 // movdqu (%esi,%edi,4),%xmm3 .byte 102,15,111,146,151,131,0,0 // movdqa 0x8397(%edx),%xmm2 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,40,162,199,132,0,0 // movaps 0x84c7(%edx),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 102,15,111,235 // movdqa %xmm3,%xmm5 .byte 102,15,114,213,16 // psrld $0x10,%xmm5 .byte 102,15,219,234 // pand %xmm2,%xmm5 .byte 15,91,213 // cvtdq2ps %xmm5,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,35 // je 49e8 <_sk_load_8888_sse2+0xbd> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 128,251,2 // cmp $0x2,%bl .byte 116,16 // je 49de <_sk_load_8888_sse2+0xb3> .byte 128,251,3 // cmp $0x3,%bl .byte 117,137 // jne 495c <_sk_load_8888_sse2+0x31> .byte 102,15,110,68,190,8 // movd 0x8(%esi,%edi,4),%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 102,15,18,28,190 // movlpd (%esi,%edi,4),%xmm3 .byte 233,116,255,255,255 // jmp 495c <_sk_load_8888_sse2+0x31> .byte 102,15,110,28,190 // movd (%esi,%edi,4),%xmm3 .byte 233,106,255,255,255 // jmp 495c <_sk_load_8888_sse2+0x31> HIDDEN _sk_load_8888_dst_sse2 .globl _sk_load_8888_dst_sse2 FUNCTION(_sk_load_8888_dst_sse2) _sk_load_8888_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 4a00 <_sk_load_8888_dst_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 193,230,2 // shl $0x2,%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 117,118 // jne 4a94 <_sk_load_8888_dst_sse2+0xa2> .byte 243,15,111,36,190 // movdqu (%esi,%edi,4),%xmm4 .byte 102,15,111,170,208,130,0,0 // movdqa 0x82d0(%edx),%xmm5 .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 102,15,219,245 // pand %xmm5,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,40,186,0,132,0,0 // movaps 0x8400(%edx),%xmm7 .byte 15,89,247 // mulps %xmm7,%xmm6 .byte 15,41,113,16 // movaps %xmm6,0x10(%ecx) .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 102,15,114,214,8 // psrld $0x8,%xmm6 .byte 102,15,219,245 // pand %xmm5,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,89,247 // mulps %xmm7,%xmm6 .byte 15,41,113,32 // movaps %xmm6,0x20(%ecx) .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 102,15,114,214,16 // psrld $0x10,%xmm6 .byte 102,15,219,245 // pand %xmm5,%xmm6 .byte 15,91,238 // cvtdq2ps %xmm6,%xmm5 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,41,105,48 // movaps %xmm5,0x30(%ecx) .byte 102,15,114,212,24 // psrld $0x18,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 15,41,97,64 // movaps %xmm4,0x40(%ecx) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,39 // je 4ac3 <_sk_load_8888_dst_sse2+0xd1> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 128,251,2 // cmp $0x2,%bl .byte 116,20 // je 4ab9 <_sk_load_8888_dst_sse2+0xc7> .byte 128,251,3 // cmp $0x3,%bl .byte 15,133,117,255,255,255 // jne 4a23 <_sk_load_8888_dst_sse2+0x31> .byte 102,15,110,100,190,8 // movd 0x8(%esi,%edi,4),%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 102,15,18,36,190 // movlpd (%esi,%edi,4),%xmm4 .byte 233,96,255,255,255 // jmp 4a23 <_sk_load_8888_dst_sse2+0x31> .byte 102,15,110,36,190 // movd (%esi,%edi,4),%xmm4 .byte 233,86,255,255,255 // jmp 4a23 <_sk_load_8888_dst_sse2+0x31> HIDDEN _sk_gather_8888_sse2 .globl _sk_gather_8888_sse2 FUNCTION(_sk_gather_8888_sse2) _sk_gather_8888_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,17 // mov (%ecx),%edx .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,81,4 // movd 0x4(%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,112,208,231 // pshufd $0xe7,%xmm0,%xmm2 .byte 102,15,126,209 // movd %xmm2,%ecx .byte 102,15,110,20,138 // movd (%edx,%ecx,4),%xmm2 .byte 102,15,126,201 // movd %xmm1,%ecx .byte 102,15,110,12,138 // movd (%edx,%ecx,4),%xmm1 .byte 102,15,126,193 // movd %xmm0,%ecx .byte 102,15,112,192,229 // pshufd $0xe5,%xmm0,%xmm0 .byte 102,15,110,28,138 // movd (%edx,%ecx,4),%xmm3 .byte 102,15,126,193 // movd %xmm0,%ecx .byte 102,15,110,4,138 // movd (%edx,%ecx,4),%xmm0 .byte 232,0,0,0,0 // call 4b43 <_sk_gather_8888_sse2+0x76> .byte 89 // pop %ecx .byte 102,15,98,202 // punpckldq %xmm2,%xmm1 .byte 102,15,98,216 // punpckldq %xmm0,%xmm3 .byte 102,15,108,217 // punpcklqdq %xmm1,%xmm3 .byte 102,15,111,145,141,129,0,0 // movdqa 0x818d(%ecx),%xmm2 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,219,194 // pand %xmm2,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,40,161,189,130,0,0 // movaps 0x82bd(%ecx),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 102,15,111,235 // movdqa %xmm3,%xmm5 .byte 102,15,114,213,16 // psrld $0x10,%xmm5 .byte 102,15,219,234 // pand %xmm2,%xmm5 .byte 15,91,213 // cvtdq2ps %xmm5,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_store_8888_sse2 .globl _sk_store_8888_sse2 FUNCTION(_sk_store_8888_sse2) _sk_store_8888_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 4bbe <_sk_store_8888_sse2+0xe> .byte 95 // pop %edi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,48 // mov (%eax),%esi .byte 139,86,4 // mov 0x4(%esi),%edx .byte 15,175,81,4 // imul 0x4(%ecx),%edx .byte 193,226,2 // shl $0x2,%edx .byte 3,22 // add (%esi),%edx .byte 139,49 // mov (%ecx),%esi .byte 15,40,167,34,129,0,0 // movaps 0x8122(%edi),%xmm4 .byte 139,89,8 // mov 0x8(%ecx),%ebx .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 102,15,235,230 // por %xmm6,%xmm4 .byte 133,219 // test %ebx,%ebx .byte 117,24 // jne 4c3b <_sk_store_8888_sse2+0x8b> .byte 243,15,127,36,178 // movdqu %xmm4,(%edx,%esi,4) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,28 // je 4c5f <_sk_store_8888_sse2+0xaf> .byte 128,251,2 // cmp $0x2,%bl .byte 116,16 // je 4c58 <_sk_store_8888_sse2+0xa8> .byte 128,251,3 // cmp $0x3,%bl .byte 117,219 // jne 4c28 <_sk_store_8888_sse2+0x78> .byte 102,15,112,236,78 // pshufd $0x4e,%xmm4,%xmm5 .byte 102,15,126,108,178,8 // movd %xmm5,0x8(%edx,%esi,4) .byte 102,15,214,36,178 // movq %xmm4,(%edx,%esi,4) .byte 235,201 // jmp 4c28 <_sk_store_8888_sse2+0x78> .byte 102,15,126,36,178 // movd %xmm4,(%edx,%esi,4) .byte 235,194 // jmp 4c28 <_sk_store_8888_sse2+0x78> HIDDEN _sk_load_bgra_sse2 .globl _sk_load_bgra_sse2 FUNCTION(_sk_load_bgra_sse2) _sk_load_bgra_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 4c74 <_sk_load_bgra_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 193,230,2 // shl $0x2,%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 117,102 // jne 4cf8 <_sk_load_bgra_sse2+0x92> .byte 243,15,111,28,190 // movdqu (%esi,%edi,4),%xmm3 .byte 102,15,111,130,92,128,0,0 // movdqa 0x805c(%edx),%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,219,200 // pand %xmm0,%xmm1 .byte 15,91,209 // cvtdq2ps %xmm1,%xmm2 .byte 15,40,162,140,129,0,0 // movaps 0x818c(%edx),%xmm4 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,200 // pand %xmm0,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 102,15,111,235 // movdqa %xmm3,%xmm5 .byte 102,15,114,213,16 // psrld $0x10,%xmm5 .byte 102,15,219,232 // pand %xmm0,%xmm5 .byte 15,91,197 // cvtdq2ps %xmm5,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,35 // je 4d23 <_sk_load_bgra_sse2+0xbd> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 128,251,2 // cmp $0x2,%bl .byte 116,16 // je 4d19 <_sk_load_bgra_sse2+0xb3> .byte 128,251,3 // cmp $0x3,%bl .byte 117,137 // jne 4c97 <_sk_load_bgra_sse2+0x31> .byte 102,15,110,68,190,8 // movd 0x8(%esi,%edi,4),%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 102,15,18,28,190 // movlpd (%esi,%edi,4),%xmm3 .byte 233,116,255,255,255 // jmp 4c97 <_sk_load_bgra_sse2+0x31> .byte 102,15,110,28,190 // movd (%esi,%edi,4),%xmm3 .byte 233,106,255,255,255 // jmp 4c97 <_sk_load_bgra_sse2+0x31> HIDDEN _sk_load_bgra_dst_sse2 .globl _sk_load_bgra_dst_sse2 FUNCTION(_sk_load_bgra_dst_sse2) _sk_load_bgra_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 4d3b <_sk_load_bgra_dst_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 193,230,2 // shl $0x2,%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 117,118 // jne 4dcf <_sk_load_bgra_dst_sse2+0xa2> .byte 243,15,111,36,190 // movdqu (%esi,%edi,4),%xmm4 .byte 102,15,111,170,149,127,0,0 // movdqa 0x7f95(%edx),%xmm5 .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 102,15,219,245 // pand %xmm5,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,40,186,197,128,0,0 // movaps 0x80c5(%edx),%xmm7 .byte 15,89,247 // mulps %xmm7,%xmm6 .byte 15,41,113,48 // movaps %xmm6,0x30(%ecx) .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 102,15,114,214,8 // psrld $0x8,%xmm6 .byte 102,15,219,245 // pand %xmm5,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,89,247 // mulps %xmm7,%xmm6 .byte 15,41,113,32 // movaps %xmm6,0x20(%ecx) .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 102,15,114,214,16 // psrld $0x10,%xmm6 .byte 102,15,219,245 // pand %xmm5,%xmm6 .byte 15,91,238 // cvtdq2ps %xmm6,%xmm5 .byte 15,89,239 // mulps %xmm7,%xmm5 .byte 15,41,105,16 // movaps %xmm5,0x10(%ecx) .byte 102,15,114,212,24 // psrld $0x18,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,231 // mulps %xmm7,%xmm4 .byte 15,41,97,64 // movaps %xmm4,0x40(%ecx) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,39 // je 4dfe <_sk_load_bgra_dst_sse2+0xd1> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 128,251,2 // cmp $0x2,%bl .byte 116,20 // je 4df4 <_sk_load_bgra_dst_sse2+0xc7> .byte 128,251,3 // cmp $0x3,%bl .byte 15,133,117,255,255,255 // jne 4d5e <_sk_load_bgra_dst_sse2+0x31> .byte 102,15,110,100,190,8 // movd 0x8(%esi,%edi,4),%xmm4 .byte 102,15,112,228,69 // pshufd $0x45,%xmm4,%xmm4 .byte 102,15,18,36,190 // movlpd (%esi,%edi,4),%xmm4 .byte 233,96,255,255,255 // jmp 4d5e <_sk_load_bgra_dst_sse2+0x31> .byte 102,15,110,36,190 // movd (%esi,%edi,4),%xmm4 .byte 233,86,255,255,255 // jmp 4d5e <_sk_load_bgra_dst_sse2+0x31> HIDDEN _sk_gather_bgra_sse2 .globl _sk_gather_bgra_sse2 FUNCTION(_sk_gather_bgra_sse2) _sk_gather_bgra_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,17 // mov (%ecx),%edx .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,81,4 // movd 0x4(%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,112,208,231 // pshufd $0xe7,%xmm0,%xmm2 .byte 102,15,126,209 // movd %xmm2,%ecx .byte 102,15,110,20,138 // movd (%edx,%ecx,4),%xmm2 .byte 102,15,126,201 // movd %xmm1,%ecx .byte 102,15,110,12,138 // movd (%edx,%ecx,4),%xmm1 .byte 102,15,126,193 // movd %xmm0,%ecx .byte 102,15,112,192,229 // pshufd $0xe5,%xmm0,%xmm0 .byte 102,15,110,28,138 // movd (%edx,%ecx,4),%xmm3 .byte 102,15,126,193 // movd %xmm0,%ecx .byte 102,15,110,4,138 // movd (%edx,%ecx,4),%xmm0 .byte 232,0,0,0,0 // call 4e7e <_sk_gather_bgra_sse2+0x76> .byte 89 // pop %ecx .byte 102,15,98,202 // punpckldq %xmm2,%xmm1 .byte 102,15,98,216 // punpckldq %xmm0,%xmm3 .byte 102,15,108,217 // punpcklqdq %xmm1,%xmm3 .byte 102,15,111,129,82,126,0,0 // movdqa 0x7e52(%ecx),%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,219,200 // pand %xmm0,%xmm1 .byte 15,91,209 // cvtdq2ps %xmm1,%xmm2 .byte 15,40,161,130,127,0,0 // movaps 0x7f82(%ecx),%xmm4 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,114,209,8 // psrld $0x8,%xmm1 .byte 102,15,219,200 // pand %xmm0,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 102,15,111,235 // movdqa %xmm3,%xmm5 .byte 102,15,114,213,16 // psrld $0x10,%xmm5 .byte 102,15,219,232 // pand %xmm0,%xmm5 .byte 15,91,197 // cvtdq2ps %xmm5,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_store_bgra_sse2 .globl _sk_store_bgra_sse2 FUNCTION(_sk_store_bgra_sse2) _sk_store_bgra_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 232,0,0,0,0 // call 4ef9 <_sk_store_bgra_sse2+0xe> .byte 95 // pop %edi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,48 // mov (%eax),%esi .byte 139,86,4 // mov 0x4(%esi),%edx .byte 15,175,81,4 // imul 0x4(%ecx),%edx .byte 193,226,2 // shl $0x2,%edx .byte 3,22 // add (%esi),%edx .byte 139,49 // mov (%ecx),%esi .byte 15,40,167,231,125,0,0 // movaps 0x7de7(%edi),%xmm4 .byte 139,89,8 // mov 0x8(%ecx),%ebx .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 102,15,235,230 // por %xmm6,%xmm4 .byte 133,219 // test %ebx,%ebx .byte 117,24 // jne 4f76 <_sk_store_bgra_sse2+0x8b> .byte 243,15,127,36,178 // movdqu %xmm4,(%edx,%esi,4) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 128,227,3 // and $0x3,%bl .byte 128,251,1 // cmp $0x1,%bl .byte 116,28 // je 4f9a <_sk_store_bgra_sse2+0xaf> .byte 128,251,2 // cmp $0x2,%bl .byte 116,16 // je 4f93 <_sk_store_bgra_sse2+0xa8> .byte 128,251,3 // cmp $0x3,%bl .byte 117,219 // jne 4f63 <_sk_store_bgra_sse2+0x78> .byte 102,15,112,236,78 // pshufd $0x4e,%xmm4,%xmm5 .byte 102,15,126,108,178,8 // movd %xmm5,0x8(%edx,%esi,4) .byte 102,15,214,36,178 // movq %xmm4,(%edx,%esi,4) .byte 235,201 // jmp 4f63 <_sk_store_bgra_sse2+0x78> .byte 102,15,126,36,178 // movd %xmm4,(%edx,%esi,4) .byte 235,194 // jmp 4f63 <_sk_store_bgra_sse2+0x78> HIDDEN _sk_load_f16_sse2 .globl _sk_load_f16_sse2 FUNCTION(_sk_load_f16_sse2) _sk_load_f16_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 232,0,0,0,0 // call 4faf <_sk_load_f16_sse2+0xe> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 193,230,3 // shl $0x3,%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 15,133,173,1,0,0 // jne 517e <_sk_load_f16_sse2+0x1dd> .byte 102,15,16,4,254 // movupd (%esi,%edi,8),%xmm0 .byte 243,15,111,76,254,16 // movdqu 0x10(%esi,%edi,8),%xmm1 .byte 102,15,40,216 // movapd %xmm0,%xmm3 .byte 102,15,97,217 // punpcklwd %xmm1,%xmm3 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,97,208 // punpcklwd %xmm0,%xmm2 .byte 102,15,105,216 // punpckhwd %xmm0,%xmm3 .byte 102,15,126,85,208 // movd %xmm2,-0x30(%ebp) .byte 102,15,112,194,229 // pshufd $0xe5,%xmm2,%xmm0 .byte 102,15,126,69,212 // movd %xmm0,-0x2c(%ebp) .byte 243,15,126,77,208 // movq -0x30(%ebp),%xmm1 .byte 102,15,112,194,231 // pshufd $0xe7,%xmm2,%xmm0 .byte 102,15,126,69,220 // movd %xmm0,-0x24(%ebp) .byte 102,15,112,194,78 // pshufd $0x4e,%xmm2,%xmm0 .byte 102,15,126,69,216 // movd %xmm0,-0x28(%ebp) .byte 243,15,126,101,216 // movq -0x28(%ebp),%xmm4 .byte 102,15,126,93,224 // movd %xmm3,-0x20(%ebp) .byte 102,15,112,195,229 // pshufd $0xe5,%xmm3,%xmm0 .byte 102,15,126,69,228 // movd %xmm0,-0x1c(%ebp) .byte 242,15,16,69,224 // movsd -0x20(%ebp),%xmm0 .byte 15,41,69,152 // movaps %xmm0,-0x68(%ebp) .byte 102,15,112,195,231 // pshufd $0xe7,%xmm3,%xmm0 .byte 102,15,126,69,236 // movd %xmm0,-0x14(%ebp) .byte 102,15,112,195,78 // pshufd $0x4e,%xmm3,%xmm0 .byte 102,15,126,69,232 // movd %xmm0,-0x18(%ebp) .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 102,15,111,170,1,129,0,0 // movdqa 0x8101(%edx),%xmm5 .byte 102,15,111,241 // movdqa %xmm1,%xmm6 .byte 102,15,219,245 // pand %xmm5,%xmm6 .byte 102,15,219,138,17,129,0,0 // pand 0x8111(%edx),%xmm1 .byte 102,15,111,130,33,129,0,0 // movdqa 0x8121(%edx),%xmm0 .byte 102,15,127,69,184 // movdqa %xmm0,-0x48(%ebp) .byte 102,15,114,246,16 // pslld $0x10,%xmm6 .byte 102,15,111,216 // movdqa %xmm0,%xmm3 .byte 102,15,102,217 // pcmpgtd %xmm1,%xmm3 .byte 102,15,127,93,136 // movdqa %xmm3,-0x78(%ebp) .byte 102,15,114,241,13 // pslld $0xd,%xmm1 .byte 102,15,235,206 // por %xmm6,%xmm1 .byte 102,15,97,226 // punpcklwd %xmm2,%xmm4 .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 102,15,219,213 // pand %xmm5,%xmm2 .byte 102,15,111,154,17,129,0,0 // movdqa 0x8111(%edx),%xmm3 .byte 102,15,219,227 // pand %xmm3,%xmm4 .byte 102,15,114,242,16 // pslld $0x10,%xmm2 .byte 102,15,102,196 // pcmpgtd %xmm4,%xmm0 .byte 102,15,127,69,168 // movdqa %xmm0,-0x58(%ebp) .byte 102,15,114,244,13 // pslld $0xd,%xmm4 .byte 102,15,235,226 // por %xmm2,%xmm4 .byte 102,15,111,69,152 // movdqa -0x68(%ebp),%xmm0 .byte 102,15,97,199 // punpcklwd %xmm7,%xmm0 .byte 102,15,111,248 // movdqa %xmm0,%xmm7 .byte 102,15,219,253 // pand %xmm5,%xmm7 .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 102,15,114,247,16 // pslld $0x10,%xmm7 .byte 102,15,111,146,33,129,0,0 // movdqa 0x8121(%edx),%xmm2 .byte 102,15,102,208 // pcmpgtd %xmm0,%xmm2 .byte 102,15,114,240,13 // pslld $0xd,%xmm0 .byte 102,15,235,199 // por %xmm7,%xmm0 .byte 243,15,126,125,232 // movq -0x18(%ebp),%xmm7 .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 102,15,97,254 // punpcklwd %xmm6,%xmm7 .byte 102,15,219,239 // pand %xmm7,%xmm5 .byte 102,15,219,251 // pand %xmm3,%xmm7 .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 102,15,111,93,184 // movdqa -0x48(%ebp),%xmm3 .byte 102,15,102,223 // pcmpgtd %xmm7,%xmm3 .byte 102,15,127,93,184 // movdqa %xmm3,-0x48(%ebp) .byte 102,15,114,247,13 // pslld $0xd,%xmm7 .byte 102,15,235,253 // por %xmm5,%xmm7 .byte 102,15,111,154,49,129,0,0 // movdqa 0x8131(%edx),%xmm3 .byte 102,15,254,203 // paddd %xmm3,%xmm1 .byte 102,15,254,227 // paddd %xmm3,%xmm4 .byte 102,15,254,195 // paddd %xmm3,%xmm0 .byte 102,15,254,251 // paddd %xmm3,%xmm7 .byte 102,15,111,93,136 // movdqa -0x78(%ebp),%xmm3 .byte 102,15,223,217 // pandn %xmm1,%xmm3 .byte 102,15,111,77,168 // movdqa -0x58(%ebp),%xmm1 .byte 102,15,223,204 // pandn %xmm4,%xmm1 .byte 102,15,223,208 // pandn %xmm0,%xmm2 .byte 102,15,111,101,184 // movdqa -0x48(%ebp),%xmm4 .byte 102,15,223,231 // pandn %xmm7,%xmm4 .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,111,220 // movdqa %xmm4,%xmm3 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,124 // add $0x7c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 242,15,16,4,254 // movsd (%esi,%edi,8),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 131,251,1 // cmp $0x1,%ebx .byte 15,132,76,254,255,255 // je 4fdc <_sk_load_f16_sse2+0x3b> .byte 102,15,22,68,254,8 // movhpd 0x8(%esi,%edi,8),%xmm0 .byte 131,251,3 // cmp $0x3,%ebx .byte 15,130,61,254,255,255 // jb 4fdc <_sk_load_f16_sse2+0x3b> .byte 243,15,126,76,254,16 // movq 0x10(%esi,%edi,8),%xmm1 .byte 233,50,254,255,255 // jmp 4fdc <_sk_load_f16_sse2+0x3b> HIDDEN _sk_load_f16_dst_sse2 .globl _sk_load_f16_dst_sse2 FUNCTION(_sk_load_f16_dst_sse2) _sk_load_f16_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,124 // sub $0x7c,%esp .byte 15,41,157,120,255,255,255 // movaps %xmm3,-0x88(%ebp) .byte 15,41,85,136 // movaps %xmm2,-0x78(%ebp) .byte 102,15,127,77,152 // movdqa %xmm1,-0x68(%ebp) .byte 15,41,69,168 // movaps %xmm0,-0x58(%ebp) .byte 232,0,0,0,0 // call 51cc <_sk_load_f16_dst_sse2+0x22> .byte 90 // pop %edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 193,230,3 // shl $0x3,%esi .byte 3,55 // add (%edi),%esi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 133,219 // test %ebx,%ebx .byte 139,57 // mov (%ecx),%edi .byte 15,133,168,1,0,0 // jne 5396 <_sk_load_f16_dst_sse2+0x1ec> .byte 102,15,16,4,254 // movupd (%esi,%edi,8),%xmm0 .byte 243,15,111,76,254,16 // movdqu 0x10(%esi,%edi,8),%xmm1 .byte 102,15,40,208 // movapd %xmm0,%xmm2 .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,15,97,216 // punpcklwd %xmm0,%xmm3 .byte 102,15,105,208 // punpckhwd %xmm0,%xmm2 .byte 102,15,126,93,208 // movd %xmm3,-0x30(%ebp) .byte 102,15,112,195,229 // pshufd $0xe5,%xmm3,%xmm0 .byte 102,15,126,69,212 // movd %xmm0,-0x2c(%ebp) .byte 243,15,126,77,208 // movq -0x30(%ebp),%xmm1 .byte 102,15,112,195,231 // pshufd $0xe7,%xmm3,%xmm0 .byte 102,15,126,69,220 // movd %xmm0,-0x24(%ebp) .byte 102,15,112,195,78 // pshufd $0x4e,%xmm3,%xmm0 .byte 102,15,126,69,216 // movd %xmm0,-0x28(%ebp) .byte 243,15,126,69,216 // movq -0x28(%ebp),%xmm0 .byte 102,15,126,85,224 // movd %xmm2,-0x20(%ebp) .byte 102,15,112,218,229 // pshufd $0xe5,%xmm2,%xmm3 .byte 102,15,126,93,228 // movd %xmm3,-0x1c(%ebp) .byte 243,15,126,117,224 // movq -0x20(%ebp),%xmm6 .byte 102,15,112,218,231 // pshufd $0xe7,%xmm2,%xmm3 .byte 102,15,126,93,236 // movd %xmm3,-0x14(%ebp) .byte 102,15,112,210,78 // pshufd $0x4e,%xmm2,%xmm2 .byte 102,15,126,85,232 // movd %xmm2,-0x18(%ebp) .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 102,15,97,202 // punpcklwd %xmm2,%xmm1 .byte 102,15,111,186,228,126,0,0 // movdqa 0x7ee4(%edx),%xmm7 .byte 102,15,111,209 // movdqa %xmm1,%xmm2 .byte 102,15,219,215 // pand %xmm7,%xmm2 .byte 102,15,111,154,244,126,0,0 // movdqa 0x7ef4(%edx),%xmm3 .byte 102,15,219,203 // pand %xmm3,%xmm1 .byte 102,15,111,162,4,127,0,0 // movdqa 0x7f04(%edx),%xmm4 .byte 102,15,114,242,16 // pslld $0x10,%xmm2 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,102,233 // pcmpgtd %xmm1,%xmm5 .byte 102,15,114,241,13 // pslld $0xd,%xmm1 .byte 102,15,235,202 // por %xmm2,%xmm1 .byte 102,15,111,146,20,127,0,0 // movdqa 0x7f14(%edx),%xmm2 .byte 102,15,127,85,184 // movdqa %xmm2,-0x48(%ebp) .byte 102,15,254,202 // paddd %xmm2,%xmm1 .byte 102,15,223,233 // pandn %xmm1,%xmm5 .byte 243,15,126,77,232 // movq -0x18(%ebp),%xmm1 .byte 102,15,127,105,16 // movdqa %xmm5,0x10(%ecx) .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 102,15,97,194 // punpcklwd %xmm2,%xmm0 .byte 102,15,111,232 // movdqa %xmm0,%xmm5 .byte 102,15,219,239 // pand %xmm7,%xmm5 .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 102,15,111,220 // movdqa %xmm4,%xmm3 .byte 102,15,102,216 // pcmpgtd %xmm0,%xmm3 .byte 102,15,114,240,13 // pslld $0xd,%xmm0 .byte 102,15,235,197 // por %xmm5,%xmm0 .byte 102,15,111,109,184 // movdqa -0x48(%ebp),%xmm5 .byte 102,15,254,197 // paddd %xmm5,%xmm0 .byte 102,15,223,216 // pandn %xmm0,%xmm3 .byte 102,15,127,89,32 // movdqa %xmm3,0x20(%ecx) .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,97,240 // punpcklwd %xmm0,%xmm6 .byte 102,15,111,198 // movdqa %xmm6,%xmm0 .byte 102,15,219,199 // pand %xmm7,%xmm0 .byte 102,15,219,242 // pand %xmm2,%xmm6 .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .byte 102,15,111,220 // movdqa %xmm4,%xmm3 .byte 102,15,102,222 // pcmpgtd %xmm6,%xmm3 .byte 102,15,114,246,13 // pslld $0xd,%xmm6 .byte 102,15,235,240 // por %xmm0,%xmm6 .byte 102,15,254,245 // paddd %xmm5,%xmm6 .byte 102,15,223,222 // pandn %xmm6,%xmm3 .byte 102,15,127,89,48 // movdqa %xmm3,0x30(%ecx) .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,97,203 // punpcklwd %xmm3,%xmm1 .byte 102,15,219,249 // pand %xmm1,%xmm7 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 102,15,114,247,16 // pslld $0x10,%xmm7 .byte 102,15,102,225 // pcmpgtd %xmm1,%xmm4 .byte 102,15,114,241,13 // pslld $0xd,%xmm1 .byte 102,15,235,207 // por %xmm7,%xmm1 .byte 102,15,254,205 // paddd %xmm5,%xmm1 .byte 102,15,223,225 // pandn %xmm1,%xmm4 .byte 102,15,127,97,64 // movdqa %xmm4,0x40(%ecx) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,69,168 // movaps -0x58(%ebp),%xmm0 .byte 15,40,77,152 // movaps -0x68(%ebp),%xmm1 .byte 15,40,85,136 // movaps -0x78(%ebp),%xmm2 .byte 15,40,157,120,255,255,255 // movaps -0x88(%ebp),%xmm3 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 129,196,140,0,0,0 // add $0x8c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 242,15,16,4,254 // movsd (%esi,%edi,8),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 131,251,1 // cmp $0x1,%ebx .byte 15,132,81,254,255,255 // je 51f9 <_sk_load_f16_dst_sse2+0x4f> .byte 102,15,22,68,254,8 // movhpd 0x8(%esi,%edi,8),%xmm0 .byte 131,251,3 // cmp $0x3,%ebx .byte 15,130,66,254,255,255 // jb 51f9 <_sk_load_f16_dst_sse2+0x4f> .byte 243,15,126,76,254,16 // movq 0x10(%esi,%edi,8),%xmm1 .byte 233,55,254,255,255 // jmp 51f9 <_sk_load_f16_dst_sse2+0x4f> HIDDEN _sk_gather_f16_sse2 .globl _sk_gather_f16_sse2 FUNCTION(_sk_gather_f16_sse2) _sk_gather_f16_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,88 // sub $0x58,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,17 // mov (%ecx),%edx .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,110,81,4 // movd 0x4(%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,112,208,231 // pshufd $0xe7,%xmm0,%xmm2 .byte 102,15,126,209 // movd %xmm2,%ecx .byte 243,15,126,20,202 // movq (%edx,%ecx,8),%xmm2 .byte 102,15,126,201 // movd %xmm1,%ecx .byte 243,15,126,12,202 // movq (%edx,%ecx,8),%xmm1 .byte 102,15,126,193 // movd %xmm0,%ecx .byte 102,15,112,192,229 // pshufd $0xe5,%xmm0,%xmm0 .byte 243,15,126,28,202 // movq (%edx,%ecx,8),%xmm3 .byte 102,15,126,193 // movd %xmm0,%ecx .byte 243,15,126,4,202 // movq (%edx,%ecx,8),%xmm0 .byte 232,0,0,0,0 // call 5438 <_sk_gather_f16_sse2+0x76> .byte 89 // pop %ecx .byte 102,15,108,202 // punpcklqdq %xmm2,%xmm1 .byte 102,15,108,216 // punpcklqdq %xmm0,%xmm3 .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,111,208 // movdqa %xmm0,%xmm2 .byte 102,15,97,211 // punpcklwd %xmm3,%xmm2 .byte 102,15,105,195 // punpckhwd %xmm3,%xmm0 .byte 102,15,126,85,224 // movd %xmm2,-0x20(%ebp) .byte 102,15,112,202,229 // pshufd $0xe5,%xmm2,%xmm1 .byte 102,15,126,77,228 // movd %xmm1,-0x1c(%ebp) .byte 243,15,126,77,224 // movq -0x20(%ebp),%xmm1 .byte 102,15,112,218,231 // pshufd $0xe7,%xmm2,%xmm3 .byte 102,15,126,93,236 // movd %xmm3,-0x14(%ebp) .byte 102,15,112,210,78 // pshufd $0x4e,%xmm2,%xmm2 .byte 102,15,126,85,232 // movd %xmm2,-0x18(%ebp) .byte 243,15,126,101,232 // movq -0x18(%ebp),%xmm4 .byte 102,15,126,69,240 // movd %xmm0,-0x10(%ebp) .byte 102,15,112,216,229 // pshufd $0xe5,%xmm0,%xmm3 .byte 102,15,126,93,244 // movd %xmm3,-0xc(%ebp) .byte 243,15,126,85,240 // movq -0x10(%ebp),%xmm2 .byte 102,15,127,85,184 // movdqa %xmm2,-0x48(%ebp) .byte 102,15,112,216,231 // pshufd $0xe7,%xmm0,%xmm3 .byte 102,15,126,93,252 // movd %xmm3,-0x4(%ebp) .byte 102,15,112,192,78 // pshufd $0x4e,%xmm0,%xmm0 .byte 102,15,126,69,248 // movd %xmm0,-0x8(%ebp) .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,15,239,210 // pxor %xmm2,%xmm2 .byte 102,15,111,169,120,124,0,0 // movdqa 0x7c78(%ecx),%xmm5 .byte 102,15,111,241 // movdqa %xmm1,%xmm6 .byte 102,15,219,245 // pand %xmm5,%xmm6 .byte 102,15,219,137,136,124,0,0 // pand 0x7c88(%ecx),%xmm1 .byte 102,15,111,129,152,124,0,0 // movdqa 0x7c98(%ecx),%xmm0 .byte 102,15,114,246,16 // pslld $0x10,%xmm6 .byte 102,15,111,216 // movdqa %xmm0,%xmm3 .byte 102,15,102,217 // pcmpgtd %xmm1,%xmm3 .byte 102,15,127,93,168 // movdqa %xmm3,-0x58(%ebp) .byte 102,15,114,241,13 // pslld $0xd,%xmm1 .byte 102,15,235,206 // por %xmm6,%xmm1 .byte 102,15,97,226 // punpcklwd %xmm2,%xmm4 .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 102,15,219,213 // pand %xmm5,%xmm2 .byte 102,15,111,153,136,124,0,0 // movdqa 0x7c88(%ecx),%xmm3 .byte 102,15,219,227 // pand %xmm3,%xmm4 .byte 102,15,114,242,16 // pslld $0x10,%xmm2 .byte 102,15,111,240 // movdqa %xmm0,%xmm6 .byte 102,15,102,244 // pcmpgtd %xmm4,%xmm6 .byte 102,15,127,117,200 // movdqa %xmm6,-0x38(%ebp) .byte 102,15,114,244,13 // pslld $0xd,%xmm4 .byte 102,15,235,226 // por %xmm2,%xmm4 .byte 102,15,111,69,184 // movdqa -0x48(%ebp),%xmm0 .byte 102,15,97,199 // punpcklwd %xmm7,%xmm0 .byte 102,15,111,248 // movdqa %xmm0,%xmm7 .byte 102,15,219,253 // pand %xmm5,%xmm7 .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 102,15,114,247,16 // pslld $0x10,%xmm7 .byte 102,15,111,145,152,124,0,0 // movdqa 0x7c98(%ecx),%xmm2 .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,15,102,216 // pcmpgtd %xmm0,%xmm3 .byte 102,15,114,240,13 // pslld $0xd,%xmm0 .byte 102,15,235,199 // por %xmm7,%xmm0 .byte 243,15,126,125,248 // movq -0x8(%ebp),%xmm7 .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 102,15,97,254 // punpcklwd %xmm6,%xmm7 .byte 102,15,219,239 // pand %xmm7,%xmm5 .byte 102,15,219,185,136,124,0,0 // pand 0x7c88(%ecx),%xmm7 .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 102,15,102,215 // pcmpgtd %xmm7,%xmm2 .byte 102,15,114,247,13 // pslld $0xd,%xmm7 .byte 102,15,235,253 // por %xmm5,%xmm7 .byte 102,15,111,169,168,124,0,0 // movdqa 0x7ca8(%ecx),%xmm5 .byte 102,15,254,205 // paddd %xmm5,%xmm1 .byte 102,15,254,229 // paddd %xmm5,%xmm4 .byte 102,15,254,197 // paddd %xmm5,%xmm0 .byte 102,15,254,253 // paddd %xmm5,%xmm7 .byte 102,15,111,109,168 // movdqa -0x58(%ebp),%xmm5 .byte 102,15,223,233 // pandn %xmm1,%xmm5 .byte 102,15,111,77,200 // movdqa -0x38(%ebp),%xmm1 .byte 102,15,223,204 // pandn %xmm4,%xmm1 .byte 102,15,223,216 // pandn %xmm0,%xmm3 .byte 102,15,111,226 // movdqa %xmm2,%xmm4 .byte 102,15,223,231 // pandn %xmm7,%xmm4 .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,111,220 // movdqa %xmm4,%xmm3 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,104 // add $0x68,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_store_f16_sse2 .globl _sk_store_f16_sse2 FUNCTION(_sk_store_f16_sse2) _sk_store_f16_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,96 // sub $0x60,%esp .byte 15,41,93,184 // movaps %xmm3,-0x48(%ebp) .byte 15,41,85,200 // movaps %xmm2,-0x38(%ebp) .byte 102,15,111,209 // movdqa %xmm1,%xmm2 .byte 232,0,0,0,0 // call 55fd <_sk_store_f16_sse2+0x19> .byte 88 // pop %eax .byte 102,15,111,152,243,122,0,0 // movdqa 0x7af3(%eax),%xmm3 .byte 102,15,111,224 // movdqa %xmm0,%xmm4 .byte 102,15,219,227 // pand %xmm3,%xmm4 .byte 102,15,111,136,35,123,0,0 // movdqa 0x7b23(%eax),%xmm1 .byte 102,15,127,77,232 // movdqa %xmm1,-0x18(%ebp) .byte 102,15,111,240 // movdqa %xmm0,%xmm6 .byte 102,15,114,246,3 // pslld $0x3,%xmm6 .byte 102,15,219,241 // pand %xmm1,%xmm6 .byte 102,15,254,244 // paddd %xmm4,%xmm6 .byte 102,15,111,184,3,123,0,0 // movdqa 0x7b03(%eax),%xmm7 .byte 102,15,127,69,168 // movdqa %xmm0,-0x58(%ebp) .byte 102,15,219,199 // pand %xmm7,%xmm0 .byte 102,15,111,168,19,123,0,0 // movdqa 0x7b13(%eax),%xmm5 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,102,200 // pcmpgtd %xmm0,%xmm1 .byte 102,15,111,128,163,119,0,0 // movdqa 0x77a3(%eax),%xmm0 .byte 102,15,127,69,216 // movdqa %xmm0,-0x28(%ebp) .byte 102,15,254,240 // paddd %xmm0,%xmm6 .byte 102,15,114,230,16 // psrad $0x10,%xmm6 .byte 102,15,223,206 // pandn %xmm6,%xmm1 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 102,15,111,242 // movdqa %xmm2,%xmm6 .byte 102,15,114,246,3 // pslld $0x3,%xmm6 .byte 102,15,219,117,232 // pand -0x18(%ebp),%xmm6 .byte 102,15,254,240 // paddd %xmm0,%xmm6 .byte 102,15,127,85,152 // movdqa %xmm2,-0x68(%ebp) .byte 102,15,219,215 // pand %xmm7,%xmm2 .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,15,102,226 // pcmpgtd %xmm2,%xmm4 .byte 102,15,254,117,216 // paddd -0x28(%ebp),%xmm6 .byte 102,15,114,230,16 // psrad $0x10,%xmm6 .byte 102,15,223,230 // pandn %xmm6,%xmm4 .byte 102,15,107,200 // packssdw %xmm0,%xmm1 .byte 102,15,107,224 // packssdw %xmm0,%xmm4 .byte 102,15,97,204 // punpcklwd %xmm4,%xmm1 .byte 102,15,111,85,200 // movdqa -0x38(%ebp),%xmm2 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 102,15,111,226 // movdqa %xmm2,%xmm4 .byte 102,15,114,244,3 // pslld $0x3,%xmm4 .byte 102,15,219,101,232 // pand -0x18(%ebp),%xmm4 .byte 102,15,254,224 // paddd %xmm0,%xmm4 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,219,199 // pand %xmm7,%xmm0 .byte 102,15,111,245 // movdqa %xmm5,%xmm6 .byte 102,15,102,240 // pcmpgtd %xmm0,%xmm6 .byte 102,15,111,85,216 // movdqa -0x28(%ebp),%xmm2 .byte 102,15,254,226 // paddd %xmm2,%xmm4 .byte 102,15,114,228,16 // psrad $0x10,%xmm4 .byte 102,15,223,244 // pandn %xmm4,%xmm6 .byte 102,15,111,101,184 // movdqa -0x48(%ebp),%xmm4 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,15,114,240,3 // pslld $0x3,%xmm0 .byte 102,15,219,69,232 // pand -0x18(%ebp),%xmm0 .byte 102,15,219,220 // pand %xmm4,%xmm3 .byte 102,15,254,195 // paddd %xmm3,%xmm0 .byte 102,15,254,194 // paddd %xmm2,%xmm0 .byte 102,15,219,252 // pand %xmm4,%xmm7 .byte 102,15,102,239 // pcmpgtd %xmm7,%xmm5 .byte 102,15,114,224,16 // psrad $0x10,%xmm0 .byte 102,15,223,232 // pandn %xmm0,%xmm5 .byte 102,15,107,240 // packssdw %xmm0,%xmm6 .byte 102,15,107,232 // packssdw %xmm0,%xmm5 .byte 102,15,97,245 // punpcklwd %xmm5,%xmm6 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,17 // mov (%ecx),%edx .byte 139,56 // mov (%eax),%edi .byte 139,119,4 // mov 0x4(%edi),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 193,230,3 // shl $0x3,%esi .byte 3,55 // add (%edi),%esi .byte 139,121,8 // mov 0x8(%ecx),%edi .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,98,198 // punpckldq %xmm6,%xmm0 .byte 133,255 // test %edi,%edi .byte 117,48 // jne 577e <_sk_store_f16_sse2+0x19a> .byte 15,17,4,214 // movups %xmm0,(%esi,%edx,8) .byte 102,15,106,206 // punpckhdq %xmm6,%xmm1 .byte 243,15,127,76,214,16 // movdqu %xmm1,0x10(%esi,%edx,8) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,69,168 // movaps -0x58(%ebp),%xmm0 .byte 15,40,77,152 // movaps -0x68(%ebp),%xmm1 .byte 15,40,85,200 // movaps -0x38(%ebp),%xmm2 .byte 102,15,111,220 // movdqa %xmm4,%xmm3 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,112 // add $0x70,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret .byte 102,15,214,4,214 // movq %xmm0,(%esi,%edx,8) .byte 131,255,1 // cmp $0x1,%edi .byte 116,212 // je 575c <_sk_store_f16_sse2+0x178> .byte 102,15,23,68,214,8 // movhpd %xmm0,0x8(%esi,%edx,8) .byte 131,255,3 // cmp $0x3,%edi .byte 114,201 // jb 575c <_sk_store_f16_sse2+0x178> .byte 102,15,106,206 // punpckhdq %xmm6,%xmm1 .byte 102,15,214,76,214,16 // movq %xmm1,0x10(%esi,%edx,8) .byte 235,189 // jmp 575c <_sk_store_f16_sse2+0x178> HIDDEN _sk_load_u16_be_sse2 .globl _sk_load_u16_be_sse2 FUNCTION(_sk_load_u16_be_sse2) _sk_load_u16_be_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,44 // sub $0x2c,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,49 // mov (%ecx),%esi .byte 139,16 // mov (%eax),%edx .byte 139,122,4 // mov 0x4(%edx),%edi .byte 15,175,121,4 // imul 0x4(%ecx),%edi .byte 1,255 // add %edi,%edi .byte 3,58 // add (%edx),%edi .byte 139,89,8 // mov 0x8(%ecx),%ebx .byte 193,230,2 // shl $0x2,%esi .byte 133,219 // test %ebx,%ebx .byte 232,0,0,0,0 // call 57ca <_sk_load_u16_be_sse2+0x2b> .byte 90 // pop %edx .byte 15,133,11,1,0,0 // jne 58dc <_sk_load_u16_be_sse2+0x13d> .byte 102,15,16,4,119 // movupd (%edi,%esi,2),%xmm0 .byte 243,15,111,76,119,16 // movdqu 0x10(%edi,%esi,2),%xmm1 .byte 102,15,40,208 // movapd %xmm0,%xmm2 .byte 102,15,97,209 // punpcklwd %xmm1,%xmm2 .byte 102,15,105,193 // punpckhwd %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,15,105,208 // punpckhwd %xmm0,%xmm2 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,113,240,8 // psllw $0x8,%xmm0 .byte 102,15,112,233,78 // pshufd $0x4e,%xmm1,%xmm5 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,235,200 // por %xmm0,%xmm1 .byte 102,15,126,77,216 // movd %xmm1,-0x28(%ebp) .byte 102,15,112,193,229 // pshufd $0xe5,%xmm1,%xmm0 .byte 102,15,126,69,220 // movd %xmm0,-0x24(%ebp) .byte 243,15,126,69,216 // movq -0x28(%ebp),%xmm0 .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,97,195 // punpcklwd %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,40,162,182,118,0,0 // movaps 0x76b6(%edx),%xmm4 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,113,241,8 // psllw $0x8,%xmm1 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,15,235,233 // por %xmm1,%xmm5 .byte 102,15,126,109,208 // movd %xmm5,-0x30(%ebp) .byte 102,15,112,205,229 // pshufd $0xe5,%xmm5,%xmm1 .byte 102,15,126,77,212 // movd %xmm1,-0x2c(%ebp) .byte 243,15,126,77,208 // movq -0x30(%ebp),%xmm1 .byte 102,15,97,203 // punpcklwd %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 102,15,111,234 // movdqa %xmm2,%xmm5 .byte 102,15,113,245,8 // psllw $0x8,%xmm5 .byte 102,15,112,242,78 // pshufd $0x4e,%xmm2,%xmm6 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,235,213 // por %xmm5,%xmm2 .byte 102,15,126,85,232 // movd %xmm2,-0x18(%ebp) .byte 102,15,112,210,229 // pshufd $0xe5,%xmm2,%xmm2 .byte 102,15,126,85,236 // movd %xmm2,-0x14(%ebp) .byte 243,15,126,85,232 // movq -0x18(%ebp),%xmm2 .byte 102,15,97,211 // punpcklwd %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 102,15,111,238 // movdqa %xmm6,%xmm5 .byte 102,15,113,245,8 // psllw $0x8,%xmm5 .byte 102,15,113,214,8 // psrlw $0x8,%xmm6 .byte 102,15,235,245 // por %xmm5,%xmm6 .byte 102,15,126,117,224 // movd %xmm6,-0x20(%ebp) .byte 102,15,112,238,229 // pshufd $0xe5,%xmm6,%xmm5 .byte 102,15,126,109,228 // movd %xmm5,-0x1c(%ebp) .byte 243,15,126,109,224 // movq -0x20(%ebp),%xmm5 .byte 102,15,97,235 // punpcklwd %xmm3,%xmm5 .byte 15,91,221 // cvtdq2ps %xmm5,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,60 // add $0x3c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 242,15,16,4,119 // movsd (%edi,%esi,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 131,251,1 // cmp $0x1,%ebx .byte 15,132,238,254,255,255 // je 57dc <_sk_load_u16_be_sse2+0x3d> .byte 102,15,22,68,119,8 // movhpd 0x8(%edi,%esi,2),%xmm0 .byte 131,251,3 // cmp $0x3,%ebx .byte 15,130,223,254,255,255 // jb 57dc <_sk_load_u16_be_sse2+0x3d> .byte 243,15,126,76,119,16 // movq 0x10(%edi,%esi,2),%xmm1 .byte 233,212,254,255,255 // jmp 57dc <_sk_load_u16_be_sse2+0x3d> HIDDEN _sk_load_rgb_u16_be_sse2 .globl _sk_load_rgb_u16_be_sse2 FUNCTION(_sk_load_rgb_u16_be_sse2) _sk_load_rgb_u16_be_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,28 // sub $0x1c,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,121,8 // mov 0x8(%ecx),%edi .byte 139,16 // mov (%eax),%edx .byte 139,114,4 // mov 0x4(%edx),%esi .byte 15,175,113,4 // imul 0x4(%ecx),%esi .byte 1,246 // add %esi,%esi .byte 3,50 // add (%edx),%esi .byte 107,25,3 // imul $0x3,(%ecx),%ebx .byte 133,255 // test %edi,%edi .byte 232,0,0,0,0 // call 5931 <_sk_load_rgb_u16_be_sse2+0x29> .byte 90 // pop %edx .byte 15,133,240,0,0,0 // jne 5a28 <_sk_load_rgb_u16_be_sse2+0x120> .byte 243,15,111,20,94 // movdqu (%esi,%ebx,2),%xmm2 .byte 243,15,111,92,94,8 // movdqu 0x8(%esi,%ebx,2),%xmm3 .byte 102,15,115,219,4 // psrldq $0x4,%xmm3 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,115,216,6 // psrldq $0x6,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,115,217,6 // psrldq $0x6,%xmm1 .byte 102,15,97,193 // punpcklwd %xmm1,%xmm0 .byte 102,15,97,211 // punpcklwd %xmm3,%xmm2 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,97,200 // punpcklwd %xmm0,%xmm1 .byte 102,15,112,225,78 // pshufd $0x4e,%xmm1,%xmm4 .byte 102,15,105,208 // punpckhwd %xmm0,%xmm2 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,113,240,8 // psllw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,235,200 // por %xmm0,%xmm1 .byte 102,15,126,77,224 // movd %xmm1,-0x20(%ebp) .byte 102,15,112,193,229 // pshufd $0xe5,%xmm1,%xmm0 .byte 102,15,126,69,228 // movd %xmm0,-0x1c(%ebp) .byte 243,15,126,69,224 // movq -0x20(%ebp),%xmm0 .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,97,195 // punpcklwd %xmm3,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,40,170,79,117,0,0 // movaps 0x754f(%edx),%xmm5 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 102,15,111,204 // movdqa %xmm4,%xmm1 .byte 102,15,113,241,8 // psllw $0x8,%xmm1 .byte 102,15,113,212,8 // psrlw $0x8,%xmm4 .byte 102,15,235,225 // por %xmm1,%xmm4 .byte 102,15,126,101,216 // movd %xmm4,-0x28(%ebp) .byte 102,15,112,204,229 // pshufd $0xe5,%xmm4,%xmm1 .byte 102,15,126,77,220 // movd %xmm1,-0x24(%ebp) .byte 243,15,126,77,216 // movq -0x28(%ebp),%xmm1 .byte 102,15,97,203 // punpcklwd %xmm3,%xmm1 .byte 15,91,201 // cvtdq2ps %xmm1,%xmm1 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 102,15,111,226 // movdqa %xmm2,%xmm4 .byte 102,15,113,244,8 // psllw $0x8,%xmm4 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,235,212 // por %xmm4,%xmm2 .byte 102,15,126,85,232 // movd %xmm2,-0x18(%ebp) .byte 102,15,112,210,229 // pshufd $0xe5,%xmm2,%xmm2 .byte 102,15,126,85,236 // movd %xmm2,-0x14(%ebp) .byte 243,15,126,85,232 // movq -0x18(%ebp),%xmm2 .byte 102,15,97,211 // punpcklwd %xmm3,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 141,112,8 // lea 0x8(%eax),%esi .byte 131,236,8 // sub $0x8,%esp .byte 15,40,154,223,114,0,0 // movaps 0x72df(%edx),%xmm3 .byte 86 // push %esi .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,44 // add $0x2c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 102,15,110,20,94 // movd (%esi,%ebx,2),%xmm2 .byte 102,15,196,84,94,4,2 // pinsrw $0x2,0x4(%esi,%ebx,2),%xmm2 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 131,255,1 // cmp $0x1,%edi .byte 117,13 // jne 5a4a <_sk_load_rgb_u16_be_sse2+0x142> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 233,16,255,255,255 // jmp 595a <_sk_load_rgb_u16_be_sse2+0x52> .byte 102,15,110,68,94,6 // movd 0x6(%esi,%ebx,2),%xmm0 .byte 102,15,196,68,94,10,2 // pinsrw $0x2,0xa(%esi,%ebx,2),%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 131,255,3 // cmp $0x3,%edi .byte 114,18 // jb 5a72 <_sk_load_rgb_u16_be_sse2+0x16a> .byte 102,15,110,92,94,12 // movd 0xc(%esi,%ebx,2),%xmm3 .byte 102,15,196,92,94,16,2 // pinsrw $0x2,0x10(%esi,%ebx,2),%xmm3 .byte 233,232,254,255,255 // jmp 595a <_sk_load_rgb_u16_be_sse2+0x52> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 233,223,254,255,255 // jmp 595a <_sk_load_rgb_u16_be_sse2+0x52> HIDDEN _sk_store_u16_be_sse2 .globl _sk_store_u16_be_sse2 FUNCTION(_sk_store_u16_be_sse2) _sk_store_u16_be_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 232,0,0,0,0 // call 5a85 <_sk_store_u16_be_sse2+0xa> .byte 95 // pop %edi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,48 // mov (%eax),%esi .byte 139,86,4 // mov 0x4(%esi),%edx .byte 15,175,81,4 // imul 0x4(%ecx),%edx .byte 1,210 // add %edx,%edx .byte 3,22 // add (%esi),%edx .byte 139,49 // mov (%ecx),%esi .byte 15,40,183,171,118,0,0 // movaps 0x76ab(%edi),%xmm6 .byte 139,121,8 // mov 0x8(%ecx),%edi .byte 193,230,2 // shl $0x2,%esi .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,224 // packssdw %xmm0,%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,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,232 // packssdw %xmm0,%xmm5 .byte 102,15,111,253 // movdqa %xmm5,%xmm7 .byte 102,15,113,247,8 // psllw $0x8,%xmm7 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,15,235,239 // por %xmm7,%xmm5 .byte 102,15,97,229 // punpcklwd %xmm5,%xmm4 .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,232 // packssdw %xmm0,%xmm5 .byte 102,15,111,253 // movdqa %xmm5,%xmm7 .byte 102,15,113,247,8 // psllw $0x8,%xmm7 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,15,235,239 // por %xmm7,%xmm5 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 102,15,91,246 // cvtps2dq %xmm6,%xmm6 .byte 102,15,114,246,16 // pslld $0x10,%xmm6 .byte 102,15,114,230,16 // psrad $0x10,%xmm6 .byte 102,15,107,240 // packssdw %xmm0,%xmm6 .byte 102,15,111,254 // movdqa %xmm6,%xmm7 .byte 102,15,113,247,8 // psllw $0x8,%xmm7 .byte 102,15,113,214,8 // psrlw $0x8,%xmm6 .byte 102,15,235,247 // por %xmm7,%xmm6 .byte 102,15,97,238 // punpcklwd %xmm6,%xmm5 .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 102,15,98,245 // punpckldq %xmm5,%xmm6 .byte 133,255 // test %edi,%edi .byte 117,32 // jne 5b81 <_sk_store_u16_be_sse2+0x106> .byte 15,17,52,114 // movups %xmm6,(%edx,%esi,2) .byte 102,15,106,229 // punpckhdq %xmm5,%xmm4 .byte 243,15,127,100,114,16 // movdqu %xmm4,0x10(%edx,%esi,2) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,16 // add $0x10,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret .byte 102,15,214,52,114 // movq %xmm6,(%edx,%esi,2) .byte 131,255,1 // cmp $0x1,%edi .byte 116,228 // je 5b6f <_sk_store_u16_be_sse2+0xf4> .byte 102,15,23,116,114,8 // movhpd %xmm6,0x8(%edx,%esi,2) .byte 131,255,3 // cmp $0x3,%edi .byte 114,217 // jb 5b6f <_sk_store_u16_be_sse2+0xf4> .byte 102,15,106,229 // punpckhdq %xmm5,%xmm4 .byte 102,15,214,100,114,16 // movq %xmm4,0x10(%edx,%esi,2) .byte 235,205 // jmp 5b6f <_sk_store_u16_be_sse2+0xf4> HIDDEN _sk_load_f32_sse2 .globl _sk_load_f32_sse2 FUNCTION(_sk_load_f32_sse2) _sk_load_f32_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,57 // mov (%ecx),%edi .byte 139,48 // mov (%eax),%esi .byte 139,86,4 // mov 0x4(%esi),%edx .byte 15,175,81,4 // imul 0x4(%ecx),%edx .byte 193,226,2 // shl $0x2,%edx .byte 3,22 // add (%esi),%edx .byte 141,52,189,0,0,0,0 // lea 0x0(,%edi,4),%esi .byte 193,231,4 // shl $0x4,%edi .byte 15,16,36,23 // movups (%edi,%edx,1),%xmm4 .byte 139,121,8 // mov 0x8(%ecx),%edi .byte 133,255 // test %edi,%edi .byte 117,71 // jne 5c19 <_sk_load_f32_sse2+0x77> .byte 15,16,84,178,16 // movups 0x10(%edx,%esi,4),%xmm2 .byte 15,16,92,178,32 // movups 0x20(%edx,%esi,4),%xmm3 .byte 15,16,68,178,48 // movups 0x30(%edx,%esi,4),%xmm0 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,20,234 // unpcklps %xmm2,%xmm5 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 15,21,226 // unpckhps %xmm2,%xmm4 .byte 15,21,216 // unpckhps %xmm0,%xmm3 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 15,18,205 // movhlps %xmm5,%xmm1 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 15,18,220 // movhlps %xmm4,%xmm3 .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,16 // add $0x10,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 131,255,1 // cmp $0x1,%edi .byte 117,8 // jne 5c29 <_sk_load_f32_sse2+0x87> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 235,184 // jmp 5be1 <_sk_load_f32_sse2+0x3f> .byte 15,16,84,178,16 // movups 0x10(%edx,%esi,4),%xmm2 .byte 131,255,3 // cmp $0x3,%edi .byte 114,7 // jb 5c3a <_sk_load_f32_sse2+0x98> .byte 15,16,92,178,32 // movups 0x20(%edx,%esi,4),%xmm3 .byte 235,167 // jmp 5be1 <_sk_load_f32_sse2+0x3f> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 235,162 // jmp 5be1 <_sk_load_f32_sse2+0x3f> HIDDEN _sk_load_f32_dst_sse2 .globl _sk_load_f32_dst_sse2 FUNCTION(_sk_load_f32_dst_sse2) _sk_load_f32_dst_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,32 // sub $0x20,%esp .byte 15,41,93,216 // movaps %xmm3,-0x28(%ebp) .byte 15,41,85,232 // movaps %xmm2,-0x18(%ebp) .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,57 // mov (%ecx),%edi .byte 139,48 // mov (%eax),%esi .byte 139,86,4 // mov 0x4(%esi),%edx .byte 15,175,81,4 // imul 0x4(%ecx),%edx .byte 193,226,2 // shl $0x2,%edx .byte 3,22 // add (%esi),%edx .byte 141,52,189,0,0,0,0 // lea 0x0(,%edi,4),%esi .byte 193,231,4 // shl $0x4,%edi .byte 15,16,52,23 // movups (%edi,%edx,1),%xmm6 .byte 139,121,8 // mov 0x8(%ecx),%edi .byte 133,255 // test %edi,%edi .byte 117,97 // jne 5cdb <_sk_load_f32_dst_sse2+0x9c> .byte 15,16,124,178,16 // movups 0x10(%edx,%esi,4),%xmm7 .byte 15,16,92,178,32 // movups 0x20(%edx,%esi,4),%xmm3 .byte 15,16,84,178,48 // movups 0x30(%edx,%esi,4),%xmm2 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 15,20,231 // unpcklps %xmm7,%xmm4 .byte 15,40,235 // movaps %xmm3,%xmm5 .byte 15,20,234 // unpcklps %xmm2,%xmm5 .byte 15,21,247 // unpckhps %xmm7,%xmm6 .byte 15,21,218 // unpckhps %xmm2,%xmm3 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 102,15,20,213 // unpcklpd %xmm5,%xmm2 .byte 15,18,236 // movhlps %xmm4,%xmm5 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 102,15,20,227 // unpcklpd %xmm3,%xmm4 .byte 15,18,222 // movhlps %xmm6,%xmm3 .byte 102,15,41,81,16 // movapd %xmm2,0x10(%ecx) .byte 15,41,105,32 // movaps %xmm5,0x20(%ecx) .byte 102,15,41,97,48 // movapd %xmm4,0x30(%ecx) .byte 15,41,89,64 // movaps %xmm3,0x40(%ecx) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,85,232 // movaps -0x18(%ebp),%xmm2 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,48 // add $0x30,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 131,255,1 // cmp $0x1,%edi .byte 117,8 // jne 5ceb <_sk_load_f32_dst_sse2+0xac> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 235,158 // jmp 5c89 <_sk_load_f32_dst_sse2+0x4a> .byte 15,16,124,178,16 // movups 0x10(%edx,%esi,4),%xmm7 .byte 131,255,3 // cmp $0x3,%edi .byte 114,7 // jb 5cfc <_sk_load_f32_dst_sse2+0xbd> .byte 15,16,92,178,32 // movups 0x20(%edx,%esi,4),%xmm3 .byte 235,141 // jmp 5c89 <_sk_load_f32_dst_sse2+0x4a> .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 235,136 // jmp 5c89 <_sk_load_f32_dst_sse2+0x4a> HIDDEN _sk_store_f32_sse2 .globl _sk_store_f32_sse2 FUNCTION(_sk_store_f32_sse2) _sk_store_f32_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,25 // mov (%ecx),%ebx .byte 139,48 // mov (%eax),%esi .byte 139,86,4 // mov 0x4(%esi),%edx .byte 15,175,81,4 // imul 0x4(%ecx),%edx .byte 193,226,2 // shl $0x2,%edx .byte 3,22 // add (%esi),%edx .byte 141,52,157,0,0,0,0 // lea 0x0(,%ebx,4),%esi .byte 193,227,4 // shl $0x4,%ebx .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,20,233 // unpcklps %xmm1,%xmm5 .byte 15,40,226 // movaps %xmm2,%xmm4 .byte 15,20,227 // unpcklps %xmm3,%xmm4 .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 102,15,20,244 // unpcklpd %xmm4,%xmm6 .byte 139,121,8 // mov 0x8(%ecx),%edi .byte 102,15,17,52,19 // movupd %xmm6,(%ebx,%edx,1) .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 15,21,241 // unpckhps %xmm1,%xmm6 .byte 15,40,250 // movaps %xmm2,%xmm7 .byte 15,21,251 // unpckhps %xmm3,%xmm7 .byte 15,18,229 // movhlps %xmm5,%xmm4 .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 102,15,20,239 // unpcklpd %xmm7,%xmm5 .byte 133,255 // test %edi,%edi .byte 117,40 // jne 5d87 <_sk_store_f32_sse2+0x86> .byte 102,15,21,247 // unpckhpd %xmm7,%xmm6 .byte 15,17,100,178,16 // movups %xmm4,0x10(%edx,%esi,4) .byte 102,15,17,108,178,32 // movupd %xmm5,0x20(%edx,%esi,4) .byte 102,15,17,116,178,48 // movupd %xmm6,0x30(%edx,%esi,4) .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 131,255,1 // cmp $0x1,%edi .byte 116,232 // je 5d74 <_sk_store_f32_sse2+0x73> .byte 15,17,100,178,16 // movups %xmm4,0x10(%edx,%esi,4) .byte 131,255,3 // cmp $0x3,%edi .byte 114,222 // jb 5d74 <_sk_store_f32_sse2+0x73> .byte 102,15,17,108,178,32 // movupd %xmm5,0x20(%edx,%esi,4) .byte 235,214 // jmp 5d74 <_sk_store_f32_sse2+0x73> 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 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,95,224 // maxps %xmm0,%xmm4 .byte 243,15,16,1 // movss (%ecx),%xmm0 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 102,15,118,237 // pcmpeqd %xmm5,%xmm5 .byte 102,15,254,232 // paddd %xmm0,%xmm5 .byte 15,93,229 // minps %xmm5,%xmm4 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_clamp_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 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,95,225 // maxps %xmm1,%xmm4 .byte 243,15,16,9 // movss (%ecx),%xmm1 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 102,15,118,237 // pcmpeqd %xmm5,%xmm5 .byte 102,15,254,233 // paddd %xmm1,%xmm5 .byte 15,93,229 // minps %xmm5,%xmm4 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_repeat_x_sse2 .globl _sk_repeat_x_sse2 FUNCTION(_sk_repeat_x_sse2) _sk_repeat_x_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 5e1b <_sk_repeat_x_sse2+0xb> .byte 89 // pop %ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,16 // mov (%eax),%edx .byte 243,15,16,42 // movss (%edx),%xmm5 .byte 243,15,16,114,4 // movss 0x4(%edx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 243,15,91,230 // cvttps2dq %xmm6,%xmm4 .byte 15,91,252 // cvtdq2ps %xmm4,%xmm7 .byte 15,194,247,1 // cmpltps %xmm7,%xmm6 .byte 15,84,177,245,109,0,0 // andps 0x6df5(%ecx),%xmm6 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,92,199 // subps %xmm7,%xmm0 .byte 15,95,224 // maxps %xmm0,%xmm4 .byte 102,15,118,192 // pcmpeqd %xmm0,%xmm0 .byte 102,15,254,197 // paddd %xmm5,%xmm0 .byte 15,93,224 // minps %xmm0,%xmm4 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_repeat_y_sse2 .globl _sk_repeat_y_sse2 FUNCTION(_sk_repeat_y_sse2) _sk_repeat_y_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 5e81 <_sk_repeat_y_sse2+0xb> .byte 89 // pop %ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,16 // mov (%eax),%edx .byte 243,15,16,42 // movss (%edx),%xmm5 .byte 243,15,16,114,4 // movss 0x4(%edx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 243,15,91,230 // cvttps2dq %xmm6,%xmm4 .byte 15,91,252 // cvtdq2ps %xmm4,%xmm7 .byte 15,194,247,1 // cmpltps %xmm7,%xmm6 .byte 15,84,177,143,109,0,0 // andps 0x6d8f(%ecx),%xmm6 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,253 // mulps %xmm5,%xmm7 .byte 15,92,207 // subps %xmm7,%xmm1 .byte 15,95,225 // maxps %xmm1,%xmm4 .byte 102,15,118,201 // pcmpeqd %xmm1,%xmm1 .byte 102,15,254,205 // paddd %xmm5,%xmm1 .byte 15,93,225 // minps %xmm1,%xmm4 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_mirror_x_sse2 .globl _sk_mirror_x_sse2 FUNCTION(_sk_mirror_x_sse2) _sk_mirror_x_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 5ee7 <_sk_mirror_x_sse2+0xb> .byte 89 // pop %ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,16 // mov (%eax),%edx .byte 243,15,16,42 // movss (%edx),%xmm5 .byte 243,15,16,114,4 // movss 0x4(%edx),%xmm6 .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,177,185,116,0,0 // mulss 0x74b9(%ecx),%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,177,41,109,0,0 // andps 0x6d29(%ecx),%xmm6 .byte 15,92,254 // subps %xmm6,%xmm7 .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,92,199 // subps %xmm7,%xmm0 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,92,232 // subps %xmm0,%xmm5 .byte 15,84,232 // andps %xmm0,%xmm5 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,95,197 // maxps %xmm5,%xmm0 .byte 102,15,118,237 // pcmpeqd %xmm5,%xmm5 .byte 102,15,254,236 // paddd %xmm4,%xmm5 .byte 15,93,197 // minps %xmm5,%xmm0 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_mirror_y_sse2 .globl _sk_mirror_y_sse2 FUNCTION(_sk_mirror_y_sse2) _sk_mirror_y_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 5f6c <_sk_mirror_y_sse2+0xb> .byte 89 // pop %ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,16 // mov (%eax),%edx .byte 243,15,16,42 // movss (%edx),%xmm5 .byte 243,15,16,114,4 // movss 0x4(%edx),%xmm6 .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,177,52,116,0,0 // mulss 0x7434(%ecx),%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,177,164,108,0,0 // andps 0x6ca4(%ecx),%xmm6 .byte 15,92,254 // subps %xmm6,%xmm7 .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,92,207 // subps %xmm7,%xmm1 .byte 15,92,204 // subps %xmm4,%xmm1 .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 15,84,233 // andps %xmm1,%xmm5 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,95,205 // maxps %xmm5,%xmm1 .byte 102,15,118,237 // pcmpeqd %xmm5,%xmm5 .byte 102,15,254,236 // paddd %xmm4,%xmm5 .byte 15,93,205 // minps %xmm5,%xmm1 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_clamp_x_1_sse2 .globl _sk_clamp_x_1_sse2 FUNCTION(_sk_clamp_x_1_sse2) _sk_clamp_x_1_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 5ff1 <_sk_clamp_x_1_sse2+0xb> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,95,224 // maxps %xmm0,%xmm4 .byte 15,93,160,31,108,0,0 // minps 0x6c1f(%eax),%xmm4 .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 80 // push %eax .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_repeat_x_1_sse2 .globl _sk_repeat_x_1_sse2 FUNCTION(_sk_repeat_x_1_sse2) _sk_repeat_x_1_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 6021 <_sk_repeat_x_1_sse2+0xb> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 243,15,91,224 // cvttps2dq %xmm0,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,40,232 // movaps %xmm0,%xmm5 .byte 15,194,236,1 // cmpltps %xmm4,%xmm5 .byte 15,84,168,239,107,0,0 // andps 0x6bef(%eax),%xmm5 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_mirror_x_1_sse2 .globl _sk_mirror_x_1_sse2 FUNCTION(_sk_mirror_x_1_sse2) _sk_mirror_x_1_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 605c <_sk_mirror_x_1_sse2+0xb> .byte 89 // pop %ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 15,40,161,36,108,0,0 // movaps 0x6c24(%ecx),%xmm4 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,40,169,164,107,0,0 // movaps 0x6ba4(%ecx),%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,169,180,107,0,0 // andps 0x6bb4(%ecx),%xmm5 .byte 15,87,255 // xorps %xmm7,%xmm7 .byte 15,92,245 // subps %xmm5,%xmm6 .byte 15,88,246 // addps %xmm6,%xmm6 .byte 15,92,198 // subps %xmm6,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,92,248 // subps %xmm0,%xmm7 .byte 15,84,199 // andps %xmm7,%xmm0 .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_luminance_to_alpha_sse2 .globl _sk_luminance_to_alpha_sse2 FUNCTION(_sk_luminance_to_alpha_sse2) _sk_luminance_to_alpha_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 232,0,0,0,0 // call 60ba <_sk_luminance_to_alpha_sse2+0xe> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 15,89,128,134,112,0,0 // mulps 0x7086(%eax),%xmm0 .byte 15,89,136,150,112,0,0 // mulps 0x7096(%eax),%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,89,152,166,112,0,0 // mulps 0x70a6(%eax),%xmm3 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 80 // push %eax .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_matrix_translate_sse2 .globl _sk_matrix_translate_sse2 FUNCTION(_sk_matrix_translate_sse2) _sk_matrix_translate_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,33 // movss (%ecx),%xmm4 .byte 243,15,16,105,4 // movss 0x4(%ecx),%xmm5 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_matrix_scale_translate_sse2 .globl _sk_matrix_scale_translate_sse2 FUNCTION(_sk_matrix_scale_translate_sse2) _sk_matrix_scale_translate_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,97,8 // movss 0x8(%ecx),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 243,15,16,41 // movss (%ecx),%xmm5 .byte 243,15,16,113,4 // movss 0x4(%ecx),%xmm6 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 243,15,16,97,12 // movss 0xc(%ecx),%xmm4 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_matrix_2x3_sse2 .globl _sk_matrix_2x3_sse2 FUNCTION(_sk_matrix_2x3_sse2) _sk_matrix_2x3_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,1 // movss (%ecx),%xmm0 .byte 243,15,16,73,4 // movss 0x4(%ecx),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,15,16,113,8 // movss 0x8(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,121,16 // movss 0x10(%ecx),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,113,12 // movss 0xc(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,121,20 // movss 0x14(%ecx),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_matrix_3x4_sse2 .globl _sk_matrix_3x4_sse2 FUNCTION(_sk_matrix_3x4_sse2) _sk_matrix_3x4_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,1 // movss (%ecx),%xmm0 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,15,16,105,24 // movss 0x18(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 243,15,16,113,36 // movss 0x24(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,234 // mulps %xmm2,%xmm5 .byte 15,88,238 // addps %xmm6,%xmm5 .byte 243,15,16,113,12 // movss 0xc(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,88,245 // addps %xmm5,%xmm6 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 243,15,16,105,28 // movss 0x1c(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 243,15,16,113,40 // movss 0x28(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,234 // mulps %xmm2,%xmm5 .byte 15,88,238 // addps %xmm6,%xmm5 .byte 243,15,16,113,16 // movss 0x10(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,88,245 // addps %xmm5,%xmm6 .byte 243,15,16,105,4 // movss 0x4(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,88,238 // addps %xmm6,%xmm5 .byte 243,15,16,113,32 // movss 0x20(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,242 // mulps %xmm2,%xmm6 .byte 243,15,16,81,44 // movss 0x2c(%ecx),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 15,88,242 // addps %xmm2,%xmm6 .byte 243,15,16,121,20 // movss 0x14(%ecx),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,249 // mulps %xmm1,%xmm7 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 243,15,16,81,8 // movss 0x8(%ecx),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_matrix_4x5_sse2 .globl _sk_matrix_4x5_sse2 FUNCTION(_sk_matrix_4x5_sse2) _sk_matrix_4x5_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 137,77,252 // mov %ecx,-0x4(%ebp) .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,33 // movss (%ecx),%xmm4 .byte 243,15,16,73,4 // movss 0x4(%ecx),%xmm1 .byte 15,198,228,0 // shufps $0x0,%xmm4,%xmm4 .byte 243,15,16,113,48 // movss 0x30(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,121,64 // movss 0x40(%ecx),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 243,15,16,121,32 // movss 0x20(%ecx),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,250 // mulps %xmm2,%xmm7 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 243,15,16,113,16 // movss 0x10(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,88,230 // addps %xmm6,%xmm4 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,113,52 // movss 0x34(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,121,68 // movss 0x44(%ecx),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 243,15,16,121,36 // movss 0x24(%ecx),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,250 // mulps %xmm2,%xmm7 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 243,15,16,113,20 // movss 0x14(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 243,15,16,113,56 // movss 0x38(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,121,72 // movss 0x48(%ecx),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 243,15,16,121,40 // movss 0x28(%ecx),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,250 // mulps %xmm2,%xmm7 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 243,15,16,113,24 // movss 0x18(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 243,15,16,121,8 // movss 0x8(%ecx),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 243,15,16,113,60 // movss 0x3c(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,243 // mulps %xmm3,%xmm6 .byte 243,15,16,89,76 // movss 0x4c(%ecx),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,88,243 // addps %xmm3,%xmm6 .byte 243,15,16,89,44 // movss 0x2c(%ecx),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,89,218 // mulps %xmm2,%xmm3 .byte 15,88,222 // addps %xmm6,%xmm3 .byte 243,15,16,81,28 // movss 0x1c(%ecx),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 243,15,16,89,12 // movss 0xc(%ecx),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,88,218 // addps %xmm2,%xmm3 .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,215 // movaps %xmm7,%xmm2 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_matrix_4x3_sse2 .globl _sk_matrix_4x3_sse2 FUNCTION(_sk_matrix_4x3_sse2) _sk_matrix_4x3_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 15,40,233 // movaps %xmm1,%xmm5 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,1 // movss (%ecx),%xmm0 .byte 243,15,16,73,4 // movss 0x4(%ecx),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,15,16,81,16 // movss 0x10(%ecx),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,89,32 // movss 0x20(%ecx),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,81,20 // movss 0x14(%ecx),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,89,36 // movss 0x24(%ecx),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 243,15,16,81,8 // movss 0x8(%ecx),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,89,24 // movss 0x18(%ecx),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 243,15,16,113,40 // movss 0x28(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,221 // mulps %xmm5,%xmm3 .byte 15,88,222 // addps %xmm6,%xmm3 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 243,15,16,89,12 // movss 0xc(%ecx),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 243,15,16,113,28 // movss 0x1c(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,121,44 // movss 0x2c(%ecx),%xmm7 .byte 15,198,255,0 // shufps $0x0,%xmm7,%xmm7 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,88,222 // addps %xmm6,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_matrix_perspective_sse2 .globl _sk_matrix_perspective_sse2 FUNCTION(_sk_matrix_perspective_sse2) _sk_matrix_perspective_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,1 // movss (%ecx),%xmm0 .byte 243,15,16,105,4 // movss 0x4(%ecx),%xmm5 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 243,15,16,113,8 // movss 0x8(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 15,88,238 // addps %xmm6,%xmm5 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 243,15,16,113,16 // movss 0x10(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 243,15,16,105,20 // movss 0x14(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,88,245 // addps %xmm5,%xmm6 .byte 243,15,16,105,12 // movss 0xc(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,88,238 // addps %xmm6,%xmm5 .byte 243,15,16,113,28 // movss 0x1c(%ecx),%xmm6 .byte 15,198,246,0 // shufps $0x0,%xmm6,%xmm6 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 243,15,16,73,32 // movss 0x20(%ecx),%xmm1 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,88,241 // addps %xmm1,%xmm6 .byte 243,15,16,73,24 // movss 0x18(%ecx),%xmm1 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,83,201 // rcpps %xmm1,%xmm1 .byte 15,89,193 // mulps %xmm1,%xmm0 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,205 // movaps %xmm5,%xmm1 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_evenly_spaced_gradient_sse2 .globl _sk_evenly_spaced_gradient_sse2 FUNCTION(_sk_evenly_spaced_gradient_sse2) _sk_evenly_spaced_gradient_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,60 // sub $0x3c,%esp .byte 15,41,69,184 // movaps %xmm0,-0x48(%ebp) .byte 232,0,0,0,0 // call 6557 <_sk_evenly_spaced_gradient_sse2+0x12> .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,25,108,0,0 // movdqa 0x6c19(%edx),%xmm2 .byte 102,15,219,209 // pand %xmm1,%xmm2 .byte 102,15,235,146,217,105,0,0 // por 0x69d9(%edx),%xmm2 .byte 102,15,114,209,16 // psrld $0x10,%xmm1 .byte 102,15,235,138,41,108,0,0 // por 0x6c29(%edx),%xmm1 .byte 15,88,138,57,108,0,0 // addps 0x6c39(%edx),%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 243,15,91,201 // cvttps2dq %xmm1,%xmm1 .byte 102,15,112,209,229 // pshufd $0xe5,%xmm1,%xmm2 .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,15,126,218 // movd %xmm3,%edx .byte 102,15,112,217,231 // pshufd $0xe7,%xmm1,%xmm3 .byte 102,15,126,223 // movd %xmm3,%edi .byte 243,15,16,28,184 // movss (%eax,%edi,4),%xmm3 .byte 243,15,16,52,144 // movss (%eax,%edx,4),%xmm6 .byte 102,15,126,206 // movd %xmm1,%esi .byte 243,15,16,36,176 // movss (%eax,%esi,4),%xmm4 .byte 102,15,126,211 // movd %xmm2,%ebx .byte 243,15,16,12,152 // movss (%eax,%ebx,4),%xmm1 .byte 15,20,243 // unpcklps %xmm3,%xmm6 .byte 139,65,20 // mov 0x14(%ecx),%eax .byte 243,15,16,20,184 // movss (%eax,%edi,4),%xmm2 .byte 243,15,16,28,144 // movss (%eax,%edx,4),%xmm3 .byte 243,15,16,4,176 // movss (%eax,%esi,4),%xmm0 .byte 243,15,16,60,152 // movss (%eax,%ebx,4),%xmm7 .byte 15,20,225 // unpcklps %xmm1,%xmm4 .byte 102,15,20,230 // unpcklpd %xmm6,%xmm4 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 15,20,199 // unpcklps %xmm7,%xmm0 .byte 139,65,8 // mov 0x8(%ecx),%eax .byte 243,15,16,20,184 // movss (%eax,%edi,4),%xmm2 .byte 243,15,16,52,144 // movss (%eax,%edx,4),%xmm6 .byte 243,15,16,12,176 // movss (%eax,%esi,4),%xmm1 .byte 243,15,16,60,152 // movss (%eax,%ebx,4),%xmm7 .byte 102,15,20,195 // unpcklpd %xmm3,%xmm0 .byte 102,15,41,69,200 // movapd %xmm0,-0x38(%ebp) .byte 15,20,242 // unpcklps %xmm2,%xmm6 .byte 15,20,207 // unpcklps %xmm7,%xmm1 .byte 102,15,20,206 // unpcklpd %xmm6,%xmm1 .byte 139,65,24 // mov 0x18(%ecx),%eax .byte 243,15,16,20,184 // movss (%eax,%edi,4),%xmm2 .byte 243,15,16,28,144 // movss (%eax,%edx,4),%xmm3 .byte 243,15,16,4,176 // movss (%eax,%esi,4),%xmm0 .byte 243,15,16,60,152 // movss (%eax,%ebx,4),%xmm7 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 15,20,199 // unpcklps %xmm7,%xmm0 .byte 102,15,20,195 // unpcklpd %xmm3,%xmm0 .byte 102,15,41,69,216 // movapd %xmm0,-0x28(%ebp) .byte 139,65,12 // mov 0xc(%ecx),%eax .byte 243,15,16,20,184 // movss (%eax,%edi,4),%xmm2 .byte 243,15,16,28,144 // movss (%eax,%edx,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 243,15,16,20,176 // movss (%eax,%esi,4),%xmm2 .byte 243,15,16,60,152 // movss (%eax,%ebx,4),%xmm7 .byte 15,20,215 // unpcklps %xmm7,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 139,65,28 // mov 0x1c(%ecx),%eax .byte 243,15,16,60,184 // movss (%eax,%edi,4),%xmm7 .byte 243,15,16,28,144 // movss (%eax,%edx,4),%xmm3 .byte 15,20,223 // unpcklps %xmm7,%xmm3 .byte 243,15,16,60,176 // movss (%eax,%esi,4),%xmm7 .byte 243,15,16,44,152 // movss (%eax,%ebx,4),%xmm5 .byte 15,20,253 // unpcklps %xmm5,%xmm7 .byte 102,15,20,251 // unpcklpd %xmm3,%xmm7 .byte 139,65,16 // mov 0x10(%ecx),%eax .byte 243,15,16,28,184 // movss (%eax,%edi,4),%xmm3 .byte 243,15,16,44,144 // movss (%eax,%edx,4),%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 243,15,16,28,176 // movss (%eax,%esi,4),%xmm3 .byte 243,15,16,4,152 // movss (%eax,%ebx,4),%xmm0 .byte 15,20,216 // unpcklps %xmm0,%xmm3 .byte 102,15,20,221 // unpcklpd %xmm5,%xmm3 .byte 139,65,32 // mov 0x20(%ecx),%eax .byte 243,15,16,4,184 // movss (%eax,%edi,4),%xmm0 .byte 243,15,16,44,144 // movss (%eax,%edx,4),%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 243,15,16,4,176 // movss (%eax,%esi,4),%xmm0 .byte 243,15,16,52,152 // movss (%eax,%ebx,4),%xmm6 .byte 15,20,198 // unpcklps %xmm6,%xmm0 .byte 102,15,20,197 // unpcklpd %xmm5,%xmm0 .byte 15,40,109,184 // movaps -0x48(%ebp),%xmm5 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,101,200 // addps -0x38(%ebp),%xmm4 .byte 15,89,205 // mulps %xmm5,%xmm1 .byte 15,88,77,216 // addps -0x28(%ebp),%xmm1 .byte 15,89,213 // mulps %xmm5,%xmm2 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,89,221 // mulps %xmm5,%xmm3 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 141,74,8 // lea 0x8(%edx),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 81 // push %ecx .byte 80 // push %eax .byte 255,82,4 // call *0x4(%edx) .byte 131,196,76 // add $0x4c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_gauss_a_to_rgba_sse2 .globl _sk_gauss_a_to_rgba_sse2 FUNCTION(_sk_gauss_a_to_rgba_sse2) _sk_gauss_a_to_rgba_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 6717 <_sk_gauss_a_to_rgba_sse2+0xb> .byte 88 // pop %eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 15,40,128,137,106,0,0 // movaps 0x6a89(%eax),%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,128,153,106,0,0 // addps 0x6a99(%eax),%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,128,169,106,0,0 // addps 0x6aa9(%eax),%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,128,185,106,0,0 // addps 0x6ab9(%eax),%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,128,201,106,0,0 // addps 0x6ac9(%eax),%xmm0 .byte 141,65,4 // lea 0x4(%ecx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 80 // push %eax .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,17 // call *(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_gradient_sse2 .globl _sk_gradient_sse2 FUNCTION(_sk_gradient_sse2) _sk_gradient_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,60 // sub $0x3c,%esp .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 141,81,4 // lea 0x4(%ecx),%edx .byte 137,85,240 // mov %edx,-0x10(%ebp) .byte 139,9 // mov (%ecx),%ecx .byte 139,17 // mov (%ecx),%edx .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 131,250,2 // cmp $0x2,%edx .byte 114,33 // jb 67a4 <_sk_gradient_sse2+0x40> .byte 139,113,36 // mov 0x24(%ecx),%esi .byte 74 // dec %edx .byte 131,198,4 // add $0x4,%esi .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 243,15,16,22 // movss (%esi),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 15,194,208,2 // cmpleps %xmm0,%xmm2 .byte 102,15,250,202 // psubd %xmm2,%xmm1 .byte 131,198,4 // add $0x4,%esi .byte 74 // dec %edx .byte 117,234 // jne 678e <_sk_gradient_sse2+0x2a> .byte 102,15,126,202 // movd %xmm1,%edx .byte 102,15,112,209,229 // pshufd $0xe5,%xmm1,%xmm2 .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,112,201,231 // pshufd $0xe7,%xmm1,%xmm1 .byte 102,15,126,207 // movd %xmm1,%edi .byte 139,65,4 // mov 0x4(%ecx),%eax .byte 243,15,16,12,184 // movss (%eax,%edi,4),%xmm1 .byte 243,15,16,28,176 // movss (%eax,%esi,4),%xmm3 .byte 243,15,16,36,144 // movss (%eax,%edx,4),%xmm4 .byte 102,15,126,211 // movd %xmm2,%ebx .byte 243,15,16,20,152 // movss (%eax,%ebx,4),%xmm2 .byte 15,20,217 // unpcklps %xmm1,%xmm3 .byte 139,65,20 // mov 0x14(%ecx),%eax .byte 243,15,16,12,184 // movss (%eax,%edi,4),%xmm1 .byte 243,15,16,52,176 // movss (%eax,%esi,4),%xmm6 .byte 243,15,16,44,144 // movss (%eax,%edx,4),%xmm5 .byte 243,15,16,60,152 // movss (%eax,%ebx,4),%xmm7 .byte 15,20,226 // unpcklps %xmm2,%xmm4 .byte 102,15,20,227 // unpcklpd %xmm3,%xmm4 .byte 102,15,41,101,184 // movapd %xmm4,-0x48(%ebp) .byte 15,20,241 // unpcklps %xmm1,%xmm6 .byte 15,20,239 // unpcklps %xmm7,%xmm5 .byte 139,65,8 // mov 0x8(%ecx),%eax .byte 243,15,16,20,184 // movss (%eax,%edi,4),%xmm2 .byte 243,15,16,28,176 // movss (%eax,%esi,4),%xmm3 .byte 243,15,16,12,144 // movss (%eax,%edx,4),%xmm1 .byte 243,15,16,60,152 // movss (%eax,%ebx,4),%xmm7 .byte 102,15,20,238 // unpcklpd %xmm6,%xmm5 .byte 102,15,41,109,200 // movapd %xmm5,-0x38(%ebp) .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 15,20,207 // unpcklps %xmm7,%xmm1 .byte 102,15,20,203 // unpcklpd %xmm3,%xmm1 .byte 139,65,24 // mov 0x18(%ecx),%eax .byte 243,15,16,20,184 // movss (%eax,%edi,4),%xmm2 .byte 243,15,16,28,176 // movss (%eax,%esi,4),%xmm3 .byte 243,15,16,36,144 // movss (%eax,%edx,4),%xmm4 .byte 243,15,16,60,152 // movss (%eax,%ebx,4),%xmm7 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 15,20,231 // unpcklps %xmm7,%xmm4 .byte 102,15,20,227 // unpcklpd %xmm3,%xmm4 .byte 102,15,41,101,216 // movapd %xmm4,-0x28(%ebp) .byte 139,65,12 // mov 0xc(%ecx),%eax .byte 243,15,16,20,184 // movss (%eax,%edi,4),%xmm2 .byte 243,15,16,28,176 // movss (%eax,%esi,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 243,15,16,20,144 // movss (%eax,%edx,4),%xmm2 .byte 243,15,16,60,152 // movss (%eax,%ebx,4),%xmm7 .byte 15,20,215 // unpcklps %xmm7,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 139,65,28 // mov 0x1c(%ecx),%eax .byte 243,15,16,60,184 // movss (%eax,%edi,4),%xmm7 .byte 243,15,16,28,176 // movss (%eax,%esi,4),%xmm3 .byte 15,20,223 // unpcklps %xmm7,%xmm3 .byte 243,15,16,60,144 // movss (%eax,%edx,4),%xmm7 .byte 243,15,16,44,152 // movss (%eax,%ebx,4),%xmm5 .byte 15,20,253 // unpcklps %xmm5,%xmm7 .byte 102,15,20,251 // unpcklpd %xmm3,%xmm7 .byte 139,65,16 // mov 0x10(%ecx),%eax .byte 243,15,16,28,184 // movss (%eax,%edi,4),%xmm3 .byte 243,15,16,44,176 // movss (%eax,%esi,4),%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 243,15,16,28,144 // movss (%eax,%edx,4),%xmm3 .byte 243,15,16,52,152 // movss (%eax,%ebx,4),%xmm6 .byte 15,20,222 // unpcklps %xmm6,%xmm3 .byte 102,15,20,221 // unpcklpd %xmm5,%xmm3 .byte 139,65,32 // mov 0x20(%ecx),%eax .byte 243,15,16,44,184 // movss (%eax,%edi,4),%xmm5 .byte 243,15,16,52,176 // movss (%eax,%esi,4),%xmm6 .byte 15,20,245 // unpcklps %xmm5,%xmm6 .byte 243,15,16,44,144 // movss (%eax,%edx,4),%xmm5 .byte 243,15,16,36,152 // movss (%eax,%ebx,4),%xmm4 .byte 15,20,236 // unpcklps %xmm4,%xmm5 .byte 102,15,20,238 // unpcklpd %xmm6,%xmm5 .byte 15,40,101,184 // movaps -0x48(%ebp),%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,88,101,200 // addps -0x38(%ebp),%xmm4 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,77,216 // addps -0x28(%ebp),%xmm1 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 139,69,240 // mov -0x10(%ebp),%eax .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,16 // call *(%eax) .byte 131,196,76 // add $0x4c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_evenly_spaced_2_stop_gradient_sse2 .globl _sk_evenly_spaced_2_stop_gradient_sse2 FUNCTION(_sk_evenly_spaced_2_stop_gradient_sse2) _sk_evenly_spaced_2_stop_gradient_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,1 // movss (%ecx),%xmm0 .byte 243,15,16,73,4 // movss 0x4(%ecx),%xmm1 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 243,15,16,81,16 // movss 0x10(%ecx),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,194 // addps %xmm2,%xmm0 .byte 15,198,201,0 // shufps $0x0,%xmm1,%xmm1 .byte 243,15,16,81,20 // movss 0x14(%ecx),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,202 // addps %xmm2,%xmm1 .byte 243,15,16,81,8 // movss 0x8(%ecx),%xmm2 .byte 15,198,210,0 // shufps $0x0,%xmm2,%xmm2 .byte 243,15,16,89,24 // movss 0x18(%ecx),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 243,15,16,89,12 // movss 0xc(%ecx),%xmm3 .byte 15,198,219,0 // shufps $0x0,%xmm3,%xmm3 .byte 243,15,16,105,28 // movss 0x1c(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_xy_to_unit_angle_sse2 .globl _sk_xy_to_unit_angle_sse2 FUNCTION(_sk_xy_to_unit_angle_sse2) _sk_xy_to_unit_angle_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,24 // sub $0x18,%esp .byte 15,41,93,232 // movaps %xmm3,-0x18(%ebp) .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 15,40,209 // movaps %xmm1,%xmm2 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 232,0,0,0,0 // call 69a9 <_sk_xy_to_unit_angle_sse2+0x18> .byte 88 // pop %eax .byte 15,87,237 // xorps %xmm5,%xmm5 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 15,84,233 // andps %xmm1,%xmm5 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,92,226 // subps %xmm2,%xmm4 .byte 15,84,226 // andps %xmm2,%xmm4 .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 15,93,244 // minps %xmm4,%xmm6 .byte 15,40,253 // movaps %xmm5,%xmm7 .byte 15,95,252 // maxps %xmm4,%xmm7 .byte 15,94,247 // divps %xmm7,%xmm6 .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,89,255 // mulps %xmm7,%xmm7 .byte 15,40,128,71,104,0,0 // movaps 0x6847(%eax),%xmm0 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,88,128,87,104,0,0 // addps 0x6857(%eax),%xmm0 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,88,128,103,104,0,0 // addps 0x6867(%eax),%xmm0 .byte 15,89,199 // mulps %xmm7,%xmm0 .byte 15,88,128,119,104,0,0 // addps 0x6877(%eax),%xmm0 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,194,236,1 // cmpltps %xmm4,%xmm5 .byte 15,40,176,135,104,0,0 // movaps 0x6887(%eax),%xmm6 .byte 15,92,240 // subps %xmm0,%xmm6 .byte 15,84,245 // andps %xmm5,%xmm6 .byte 15,85,232 // andnps %xmm0,%xmm5 .byte 15,87,228 // xorps %xmm4,%xmm4 .byte 15,86,238 // orps %xmm6,%xmm5 .byte 15,194,204,1 // cmpltps %xmm4,%xmm1 .byte 15,40,128,87,98,0,0 // movaps 0x6257(%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,103,98,0,0 // movaps 0x6267(%eax),%xmm5 .byte 15,92,233 // subps %xmm1,%xmm5 .byte 15,84,232 // andps %xmm0,%xmm5 .byte 15,85,193 // andnps %xmm1,%xmm0 .byte 15,86,197 // orps %xmm5,%xmm0 .byte 15,194,224,7 // cmpordps %xmm0,%xmm4 .byte 15,84,224 // andps %xmm0,%xmm4 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,196 // movaps %xmm4,%xmm0 .byte 15,40,202 // movaps %xmm2,%xmm1 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,40,93,232 // movaps -0x18(%ebp),%xmm3 .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,16 // call *(%eax) .byte 131,196,40 // add $0x28,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_xy_to_radius_sse2 .globl _sk_xy_to_radius_sse2 FUNCTION(_sk_xy_to_radius_sse2) _sk_xy_to_radius_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 15,89,192 // mulps %xmm0,%xmm0 .byte 15,40,225 // movaps %xmm1,%xmm4 .byte 15,89,228 // mulps %xmm4,%xmm4 .byte 15,88,224 // addps %xmm0,%xmm4 .byte 15,81,196 // sqrtps %xmm4,%xmm0 .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,16 // call *(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_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 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,105,40 // movss 0x28(%ecx),%xmm5 .byte 243,15,16,97,44 // movss 0x2c(%ecx),%xmm4 .byte 243,15,89,229 // mulss %xmm5,%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,241 // movaps %xmm1,%xmm6 .byte 15,89,246 // mulps %xmm6,%xmm6 .byte 15,88,240 // addps %xmm0,%xmm6 .byte 232,0,0,0,0 // call 6ac6 <_sk_xy_to_2pt_conical_quadratic_max_sse2+0x31> .byte 90 // pop %edx .byte 243,15,89,237 // mulss %xmm5,%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,92,245 // subps %xmm5,%xmm6 .byte 243,15,16,65,32 // movss 0x20(%ecx),%xmm0 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 15,89,162,122,103,0,0 // mulps 0x677a(%edx),%xmm4 .byte 15,89,130,138,103,0,0 // mulps 0x678a(%edx),%xmm0 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,89,237 // mulps %xmm5,%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,81,237 // sqrtps %xmm5,%xmm5 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,87,162,42,102,0,0 // xorps 0x662a(%edx),%xmm4 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 243,15,16,105,36 // movss 0x24(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,170,58,97,0,0 // mulps 0x613a(%edx),%xmm5 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,95,196 // maxps %xmm4,%xmm0 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_xy_to_2pt_conical_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 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 243,15,16,105,40 // movss 0x28(%ecx),%xmm5 .byte 243,15,16,97,44 // movss 0x2c(%ecx),%xmm4 .byte 243,15,89,229 // mulss %xmm5,%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,241 // movaps %xmm1,%xmm6 .byte 15,89,246 // mulps %xmm6,%xmm6 .byte 15,88,240 // addps %xmm0,%xmm6 .byte 232,0,0,0,0 // call 6b64 <_sk_xy_to_2pt_conical_quadratic_min_sse2+0x31> .byte 90 // pop %edx .byte 243,15,89,237 // mulss %xmm5,%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,92,245 // subps %xmm5,%xmm6 .byte 243,15,16,65,32 // movss 0x20(%ecx),%xmm0 .byte 15,198,192,0 // shufps $0x0,%xmm0,%xmm0 .byte 15,89,162,220,102,0,0 // mulps 0x66dc(%edx),%xmm4 .byte 15,89,130,236,102,0,0 // mulps 0x66ec(%edx),%xmm0 .byte 15,89,198 // mulps %xmm6,%xmm0 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,89,237 // mulps %xmm5,%xmm5 .byte 15,88,232 // addps %xmm0,%xmm5 .byte 15,81,237 // sqrtps %xmm5,%xmm5 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,87,162,140,101,0,0 // xorps 0x658c(%edx),%xmm4 .byte 15,92,229 // subps %xmm5,%xmm4 .byte 243,15,16,105,36 // movss 0x24(%ecx),%xmm5 .byte 15,198,237,0 // shufps $0x0,%xmm5,%xmm5 .byte 15,89,170,156,96,0,0 // mulps 0x609c(%edx),%xmm5 .byte 15,89,197 // mulps %xmm5,%xmm0 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,93,196 // minps %xmm4,%xmm0 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_xy_to_2pt_conical_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 131,236,8 // sub $0x8,%esp .byte 232,0,0,0,0 // call 6bdc <_sk_xy_to_2pt_conical_linear_sse2+0xb> .byte 89 // pop %ecx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,16 // mov (%eax),%edx .byte 243,15,16,98,40 // movss 0x28(%edx),%xmm4 .byte 243,15,16,106,44 // movss 0x2c(%edx),%xmm5 .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,169,100,102,0,0 // mulps 0x6664(%ecx),%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,129,20,101,0,0 // xorps 0x6514(%ecx),%xmm0 .byte 15,94,197 // divps %xmm5,%xmm0 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_mask_2pt_conical_degenerates_sse2 .globl _sk_mask_2pt_conical_degenerates_sse2 FUNCTION(_sk_mask_2pt_conical_degenerates_sse2) _sk_mask_2pt_conical_degenerates_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,17 // mov (%ecx),%edx .byte 243,15,16,98,40 // movss 0x28(%edx),%xmm4 .byte 243,15,16,106,44 // movss 0x2c(%edx),%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,34 // movups %xmm4,(%edx) .byte 141,81,8 // lea 0x8(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 80 // push %eax .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_apply_vector_mask_sse2 .globl _sk_apply_vector_mask_sse2 FUNCTION(_sk_apply_vector_mask_sse2) _sk_apply_vector_mask_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 15,16,33 // movups (%ecx),%xmm4 .byte 15,84,196 // andps %xmm4,%xmm0 .byte 15,84,204 // andps %xmm4,%xmm1 .byte 15,84,212 // andps %xmm4,%xmm2 .byte 15,84,220 // andps %xmm4,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 255,117,8 // pushl 0x8(%ebp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_save_xy_sse2 .globl _sk_save_xy_sse2 FUNCTION(_sk_save_xy_sse2) _sk_save_xy_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,24 // sub $0x18,%esp .byte 15,41,93,232 // movaps %xmm3,-0x18(%ebp) .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 232,0,0,0,0 // call 6cb9 <_sk_save_xy_sse2+0x12> .byte 88 // pop %eax .byte 15,40,160,71,95,0,0 // movaps 0x5f47(%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,87,95,0,0 // movaps 0x5f57(%eax),%xmm2 .byte 15,84,250 // andps %xmm2,%xmm7 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,92,238 // subps %xmm6,%xmm5 .byte 15,88,225 // addps %xmm1,%xmm4 .byte 243,15,91,244 // cvttps2dq %xmm4,%xmm6 .byte 15,91,246 // cvtdq2ps %xmm6,%xmm6 .byte 15,40,252 // movaps %xmm4,%xmm7 .byte 15,194,254,1 // cmpltps %xmm6,%xmm7 .byte 15,84,250 // andps %xmm2,%xmm7 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,92,230 // subps %xmm6,%xmm4 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 15,17,1 // movups %xmm0,(%ecx) .byte 15,17,73,32 // movups %xmm1,0x20(%ecx) .byte 15,17,105,64 // movups %xmm5,0x40(%ecx) .byte 15,17,97,96 // movups %xmm4,0x60(%ecx) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 141,80,8 // lea 0x8(%eax),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 15,40,93,232 // movaps -0x18(%ebp),%xmm3 .byte 82 // push %edx .byte 81 // push %ecx .byte 255,80,4 // call *0x4(%eax) .byte 131,196,40 // add $0x28,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_accumulate_sse2 .globl _sk_accumulate_sse2 FUNCTION(_sk_accumulate_sse2) _sk_accumulate_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 131,236,8 // sub $0x8,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,17 // mov (%ecx),%edx .byte 15,16,162,128,0,0,0 // movups 0x80(%edx),%xmm4 .byte 15,16,170,160,0,0,0 // movups 0xa0(%edx),%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,88,96,16 // addps 0x10(%eax),%xmm4 .byte 15,41,96,16 // movaps %xmm4,0x10(%eax) .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,89,225 // mulps %xmm1,%xmm4 .byte 15,88,96,32 // addps 0x20(%eax),%xmm4 .byte 15,41,96,32 // movaps %xmm4,0x20(%eax) .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,89,226 // mulps %xmm2,%xmm4 .byte 15,88,96,48 // addps 0x30(%eax),%xmm4 .byte 15,41,96,48 // movaps %xmm4,0x30(%eax) .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,88,104,64 // addps 0x40(%eax),%xmm5 .byte 15,41,104,64 // movaps %xmm5,0x40(%eax) .byte 141,81,8 // lea 0x8(%ecx),%edx .byte 131,236,8 // sub $0x8,%esp .byte 82 // push %edx .byte 80 // push %eax .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,24 // add $0x18,%esp .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bilinear_nx_sse2 .globl _sk_bilinear_nx_sse2 FUNCTION(_sk_bilinear_nx_sse2) _sk_bilinear_nx_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 86 // push %esi .byte 80 // push %eax .byte 232,0,0,0,0 // call 6d9b <_sk_bilinear_nx_sse2+0xa> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 15,16,6 // movups (%esi),%xmm0 .byte 15,16,102,64 // movups 0x40(%esi),%xmm4 .byte 15,88,128,197,100,0,0 // addps 0x64c5(%eax),%xmm0 .byte 15,40,168,117,94,0,0 // movaps 0x5e75(%eax),%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,17,174,128,0,0,0 // movups %xmm5,0x80(%esi) .byte 141,66,8 // lea 0x8(%edx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 81 // push %ecx .byte 255,82,4 // call *0x4(%edx) .byte 131,196,20 // add $0x14,%esp .byte 94 // pop %esi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bilinear_px_sse2 .globl _sk_bilinear_px_sse2 FUNCTION(_sk_bilinear_px_sse2) _sk_bilinear_px_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 86 // push %esi .byte 80 // push %eax .byte 232,0,0,0,0 // call 6dde <_sk_bilinear_px_sse2+0xa> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 15,16,6 // movups (%esi),%xmm0 .byte 15,16,102,64 // movups 0x40(%esi),%xmm4 .byte 15,88,128,34,94,0,0 // addps 0x5e22(%eax),%xmm0 .byte 15,17,166,128,0,0,0 // movups %xmm4,0x80(%esi) .byte 141,66,8 // lea 0x8(%edx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 81 // push %ecx .byte 255,82,4 // call *0x4(%edx) .byte 131,196,20 // add $0x14,%esp .byte 94 // pop %esi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bilinear_ny_sse2 .globl _sk_bilinear_ny_sse2 FUNCTION(_sk_bilinear_ny_sse2) _sk_bilinear_ny_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 86 // push %esi .byte 80 // push %eax .byte 232,0,0,0,0 // call 6e17 <_sk_bilinear_ny_sse2+0xa> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 15,16,78,32 // movups 0x20(%esi),%xmm1 .byte 15,16,102,96 // movups 0x60(%esi),%xmm4 .byte 15,88,136,73,100,0,0 // addps 0x6449(%eax),%xmm1 .byte 15,40,168,249,93,0,0 // movaps 0x5df9(%eax),%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,17,174,160,0,0,0 // movups %xmm5,0xa0(%esi) .byte 141,66,8 // lea 0x8(%edx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 81 // push %ecx .byte 255,82,4 // call *0x4(%edx) .byte 131,196,20 // add $0x14,%esp .byte 94 // pop %esi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bilinear_py_sse2 .globl _sk_bilinear_py_sse2 FUNCTION(_sk_bilinear_py_sse2) _sk_bilinear_py_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 86 // push %esi .byte 80 // push %eax .byte 232,0,0,0,0 // call 6e5b <_sk_bilinear_py_sse2+0xa> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 15,16,78,32 // movups 0x20(%esi),%xmm1 .byte 15,16,102,96 // movups 0x60(%esi),%xmm4 .byte 15,88,136,165,93,0,0 // addps 0x5da5(%eax),%xmm1 .byte 15,17,166,160,0,0,0 // movups %xmm4,0xa0(%esi) .byte 141,66,8 // lea 0x8(%edx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 81 // push %ecx .byte 255,82,4 // call *0x4(%edx) .byte 131,196,20 // add $0x14,%esp .byte 94 // pop %esi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_n3x_sse2 .globl _sk_bicubic_n3x_sse2 FUNCTION(_sk_bicubic_n3x_sse2) _sk_bicubic_n3x_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 86 // push %esi .byte 80 // push %eax .byte 232,0,0,0,0 // call 6e95 <_sk_bicubic_n3x_sse2+0xa> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 15,16,6 // movups (%esi),%xmm0 .byte 15,16,102,64 // movups 0x40(%esi),%xmm4 .byte 15,88,128,219,99,0,0 // addps 0x63db(%eax),%xmm0 .byte 15,40,168,123,93,0,0 // movaps 0x5d7b(%eax),%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,89,228 // mulps %xmm4,%xmm4 .byte 15,89,168,235,99,0,0 // mulps 0x63eb(%eax),%xmm5 .byte 15,88,168,91,95,0,0 // addps 0x5f5b(%eax),%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,17,174,128,0,0,0 // movups %xmm5,0x80(%esi) .byte 141,66,8 // lea 0x8(%edx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 81 // push %ecx .byte 255,82,4 // call *0x4(%edx) .byte 131,196,20 // add $0x14,%esp .byte 94 // pop %esi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_n1x_sse2 .globl _sk_bicubic_n1x_sse2 FUNCTION(_sk_bicubic_n1x_sse2) _sk_bicubic_n1x_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 86 // push %esi .byte 80 // push %eax .byte 232,0,0,0,0 // call 6eef <_sk_bicubic_n1x_sse2+0xa> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 15,16,6 // movups (%esi),%xmm0 .byte 15,16,102,64 // movups 0x40(%esi),%xmm4 .byte 15,88,128,113,99,0,0 // addps 0x6371(%eax),%xmm0 .byte 15,40,168,33,93,0,0 // movaps 0x5d21(%eax),%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,40,160,161,99,0,0 // movaps 0x63a1(%eax),%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,160,177,99,0,0 // addps 0x63b1(%eax),%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,160,17,93,0,0 // addps 0x5d11(%eax),%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,160,193,99,0,0 // addps 0x63c1(%eax),%xmm4 .byte 15,17,166,128,0,0,0 // movups %xmm4,0x80(%esi) .byte 141,66,8 // lea 0x8(%edx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 81 // push %ecx .byte 255,82,4 // call *0x4(%edx) .byte 131,196,20 // add $0x14,%esp .byte 94 // pop %esi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_p1x_sse2 .globl _sk_bicubic_p1x_sse2 FUNCTION(_sk_bicubic_p1x_sse2) _sk_bicubic_p1x_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 86 // push %esi .byte 80 // push %eax .byte 232,0,0,0,0 // call 6f57 <_sk_bicubic_p1x_sse2+0xa> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 15,40,160,169,92,0,0 // movaps 0x5ca9(%eax),%xmm4 .byte 15,16,6 // movups (%esi),%xmm0 .byte 15,16,110,64 // movups 0x40(%esi),%xmm5 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,40,176,57,99,0,0 // movaps 0x6339(%eax),%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,176,73,99,0,0 // addps 0x6349(%eax),%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,176,89,99,0,0 // addps 0x6359(%eax),%xmm6 .byte 15,17,182,128,0,0,0 // movups %xmm6,0x80(%esi) .byte 141,66,8 // lea 0x8(%edx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 81 // push %ecx .byte 255,82,4 // call *0x4(%edx) .byte 131,196,20 // add $0x14,%esp .byte 94 // pop %esi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_p3x_sse2 .globl _sk_bicubic_p3x_sse2 FUNCTION(_sk_bicubic_p3x_sse2) _sk_bicubic_p3x_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 86 // push %esi .byte 80 // push %eax .byte 232,0,0,0,0 // call 6fb4 <_sk_bicubic_p3x_sse2+0xa> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 15,16,6 // movups (%esi),%xmm0 .byte 15,16,102,64 // movups 0x40(%esi),%xmm4 .byte 15,88,128,236,98,0,0 // addps 0x62ec(%eax),%xmm0 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,89,237 // mulps %xmm5,%xmm5 .byte 15,89,160,204,98,0,0 // mulps 0x62cc(%eax),%xmm4 .byte 15,88,160,60,94,0,0 // addps 0x5e3c(%eax),%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,17,166,128,0,0,0 // movups %xmm4,0x80(%esi) .byte 141,66,8 // lea 0x8(%edx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 81 // push %ecx .byte 255,82,4 // call *0x4(%edx) .byte 131,196,20 // add $0x14,%esp .byte 94 // pop %esi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_n3y_sse2 .globl _sk_bicubic_n3y_sse2 FUNCTION(_sk_bicubic_n3y_sse2) _sk_bicubic_n3y_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 86 // push %esi .byte 80 // push %eax .byte 232,0,0,0,0 // call 7004 <_sk_bicubic_n3y_sse2+0xa> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 15,16,78,32 // movups 0x20(%esi),%xmm1 .byte 15,16,102,96 // movups 0x60(%esi),%xmm4 .byte 15,88,136,108,98,0,0 // addps 0x626c(%eax),%xmm1 .byte 15,40,168,12,92,0,0 // movaps 0x5c0c(%eax),%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,89,228 // mulps %xmm4,%xmm4 .byte 15,89,168,124,98,0,0 // mulps 0x627c(%eax),%xmm5 .byte 15,88,168,236,93,0,0 // addps 0x5dec(%eax),%xmm5 .byte 15,89,236 // mulps %xmm4,%xmm5 .byte 15,17,174,160,0,0,0 // movups %xmm5,0xa0(%esi) .byte 141,66,8 // lea 0x8(%edx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 81 // push %ecx .byte 255,82,4 // call *0x4(%edx) .byte 131,196,20 // add $0x14,%esp .byte 94 // pop %esi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_n1y_sse2 .globl _sk_bicubic_n1y_sse2 FUNCTION(_sk_bicubic_n1y_sse2) _sk_bicubic_n1y_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 86 // push %esi .byte 80 // push %eax .byte 232,0,0,0,0 // call 705f <_sk_bicubic_n1y_sse2+0xa> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 15,16,78,32 // movups 0x20(%esi),%xmm1 .byte 15,16,102,96 // movups 0x60(%esi),%xmm4 .byte 15,88,136,1,98,0,0 // addps 0x6201(%eax),%xmm1 .byte 15,40,168,177,91,0,0 // movaps 0x5bb1(%eax),%xmm5 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,40,160,49,98,0,0 // movaps 0x6231(%eax),%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,160,65,98,0,0 // addps 0x6241(%eax),%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,160,161,91,0,0 // addps 0x5ba1(%eax),%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,88,160,81,98,0,0 // addps 0x6251(%eax),%xmm4 .byte 15,17,166,160,0,0,0 // movups %xmm4,0xa0(%esi) .byte 141,66,8 // lea 0x8(%edx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 81 // push %ecx .byte 255,82,4 // call *0x4(%edx) .byte 131,196,20 // add $0x14,%esp .byte 94 // pop %esi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_p1y_sse2 .globl _sk_bicubic_p1y_sse2 FUNCTION(_sk_bicubic_p1y_sse2) _sk_bicubic_p1y_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 86 // push %esi .byte 80 // push %eax .byte 232,0,0,0,0 // call 70c8 <_sk_bicubic_p1y_sse2+0xa> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 15,40,160,56,91,0,0 // movaps 0x5b38(%eax),%xmm4 .byte 15,16,78,32 // movups 0x20(%esi),%xmm1 .byte 15,16,110,96 // movups 0x60(%esi),%xmm5 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 15,40,176,200,97,0,0 // movaps 0x61c8(%eax),%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,176,216,97,0,0 // addps 0x61d8(%eax),%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,244 // addps %xmm4,%xmm6 .byte 15,89,245 // mulps %xmm5,%xmm6 .byte 15,88,176,232,97,0,0 // addps 0x61e8(%eax),%xmm6 .byte 15,17,182,160,0,0,0 // movups %xmm6,0xa0(%esi) .byte 141,66,8 // lea 0x8(%edx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 81 // push %ecx .byte 255,82,4 // call *0x4(%edx) .byte 131,196,20 // add $0x14,%esp .byte 94 // pop %esi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_bicubic_p3y_sse2 .globl _sk_bicubic_p3y_sse2 FUNCTION(_sk_bicubic_p3y_sse2) _sk_bicubic_p3y_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 86 // push %esi .byte 80 // push %eax .byte 232,0,0,0,0 // call 7126 <_sk_bicubic_p3y_sse2+0xa> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 139,50 // mov (%edx),%esi .byte 15,16,78,32 // movups 0x20(%esi),%xmm1 .byte 15,16,102,96 // movups 0x60(%esi),%xmm4 .byte 15,88,136,122,97,0,0 // addps 0x617a(%eax),%xmm1 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,89,237 // mulps %xmm5,%xmm5 .byte 15,89,160,90,97,0,0 // mulps 0x615a(%eax),%xmm4 .byte 15,88,160,202,92,0,0 // addps 0x5cca(%eax),%xmm4 .byte 15,89,229 // mulps %xmm5,%xmm4 .byte 15,17,166,160,0,0,0 // movups %xmm4,0xa0(%esi) .byte 141,66,8 // lea 0x8(%edx),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 81 // push %ecx .byte 255,82,4 // call *0x4(%edx) .byte 131,196,20 // add $0x14,%esp .byte 94 // pop %esi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_callback_sse2 .globl _sk_callback_sse2 FUNCTION(_sk_callback_sse2) _sk_callback_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,12 // sub $0xc,%esp .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 139,125,8 // mov 0x8(%ebp),%edi .byte 139,71,8 // mov 0x8(%edi),%eax .byte 139,30 // mov (%esi),%ebx .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,20,225 // unpcklps %xmm1,%xmm4 .byte 15,40,234 // movaps %xmm2,%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 15,21,193 // unpckhps %xmm1,%xmm0 .byte 15,21,211 // unpckhps %xmm3,%xmm2 .byte 15,40,204 // movaps %xmm4,%xmm1 .byte 102,15,20,205 // unpcklpd %xmm5,%xmm1 .byte 15,18,236 // movhlps %xmm4,%xmm5 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 102,15,20,218 // unpcklpd %xmm2,%xmm3 .byte 102,15,17,75,4 // movupd %xmm1,0x4(%ebx) .byte 15,18,208 // movhlps %xmm0,%xmm2 .byte 15,17,107,20 // movups %xmm5,0x14(%ebx) .byte 102,15,17,91,36 // movupd %xmm3,0x24(%ebx) .byte 15,17,83,52 // movups %xmm2,0x34(%ebx) .byte 133,192 // test %eax,%eax .byte 185,4,0,0,0 // mov $0x4,%ecx .byte 15,69,200 // cmovne %eax,%ecx .byte 131,236,8 // sub $0x8,%esp .byte 81 // push %ecx .byte 83 // push %ebx .byte 255,19 // call *(%ebx) .byte 131,196,16 // add $0x10,%esp .byte 139,131,132,0,0,0 // mov 0x84(%ebx),%eax .byte 15,16,32 // movups (%eax),%xmm4 .byte 15,16,64,16 // movups 0x10(%eax),%xmm0 .byte 15,16,88,32 // movups 0x20(%eax),%xmm3 .byte 15,16,80,48 // movups 0x30(%eax),%xmm2 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 15,40,203 // movaps %xmm3,%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 15,21,224 // unpckhps %xmm0,%xmm4 .byte 15,21,218 // unpckhps %xmm2,%xmm3 .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 15,18,205 // movhlps %xmm5,%xmm1 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 15,18,220 // movhlps %xmm4,%xmm3 .byte 141,70,8 // lea 0x8(%esi),%eax .byte 131,236,8 // sub $0x8,%esp .byte 80 // push %eax .byte 87 // push %edi .byte 255,86,4 // call *0x4(%esi) .byte 131,196,28 // add $0x1c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_clut_3D_sse2 .globl _sk_clut_3D_sse2 FUNCTION(_sk_clut_3D_sse2) _sk_clut_3D_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,44,1,0,0 // sub $0x12c,%esp .byte 15,41,157,200,254,255,255 // movaps %xmm3,-0x138(%ebp) .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 137,141,20,255,255,255 // mov %ecx,-0xec(%ebp) .byte 139,8 // mov (%eax),%ecx .byte 139,81,12 // mov 0xc(%ecx),%edx .byte 141,114,255 // lea -0x1(%edx),%esi .byte 102,15,110,198 // movd %esi,%xmm0 .byte 102,15,112,192,0 // pshufd $0x0,%xmm0,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,194 // mulps %xmm2,%xmm0 .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 15,41,165,232,254,255,255 // movaps %xmm4,-0x118(%ebp) .byte 102,15,110,194 // movd %edx,%xmm0 .byte 102,15,112,240,0 // pshufd $0x0,%xmm0,%xmm6 .byte 102,15,127,117,152 // movdqa %xmm6,-0x68(%ebp) .byte 139,81,8 // mov 0x8(%ecx),%edx .byte 141,114,255 // lea -0x1(%edx),%esi .byte 102,15,110,214 // movd %esi,%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 15,41,149,88,255,255,255 // movaps %xmm2,-0xa8(%ebp) .byte 243,15,91,234 // cvttps2dq %xmm2,%xmm5 .byte 102,15,127,173,40,255,255,255 // movdqa %xmm5,-0xd8(%ebp) .byte 102,15,112,205,245 // pshufd $0xf5,%xmm5,%xmm1 .byte 102,15,244,206 // pmuludq %xmm6,%xmm1 .byte 102,15,111,214 // movdqa %xmm6,%xmm2 .byte 102,15,244,213 // pmuludq %xmm5,%xmm2 .byte 102,15,112,210,232 // pshufd $0xe8,%xmm2,%xmm2 .byte 102,15,112,201,232 // pshufd $0xe8,%xmm1,%xmm1 .byte 102,15,98,209 // punpckldq %xmm1,%xmm2 .byte 102,15,111,234 // movdqa %xmm2,%xmm5 .byte 102,15,127,109,168 // movdqa %xmm5,-0x58(%ebp) .byte 102,15,110,202 // movd %edx,%xmm1 .byte 102,15,244,200 // pmuludq %xmm0,%xmm1 .byte 139,81,4 // mov 0x4(%ecx),%edx .byte 74 // dec %edx .byte 102,15,110,194 // movd %edx,%xmm0 .byte 102,15,112,192,0 // pshufd $0x0,%xmm0,%xmm0 .byte 15,91,192 // cvtdq2ps %xmm0,%xmm0 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,41,69,216 // movaps %xmm0,-0x28(%ebp) .byte 102,15,112,209,0 // pshufd $0x0,%xmm1,%xmm2 .byte 243,15,91,216 // cvttps2dq %xmm0,%xmm3 .byte 102,15,127,93,184 // movdqa %xmm3,-0x48(%ebp) .byte 102,15,112,195,245 // pshufd $0xf5,%xmm3,%xmm0 .byte 102,15,244,194 // pmuludq %xmm2,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,244,203 // pmuludq %xmm3,%xmm1 .byte 102,15,112,201,232 // pshufd $0xe8,%xmm1,%xmm1 .byte 102,15,112,192,232 // pshufd $0xe8,%xmm0,%xmm0 .byte 102,15,98,200 // punpckldq %xmm0,%xmm1 .byte 102,15,127,77,136 // movdqa %xmm1,-0x78(%ebp) .byte 232,0,0,0,0 // call 7312 <_sk_clut_3D_sse2+0xf7> .byte 90 // pop %edx .byte 243,15,91,196 // cvttps2dq %xmm4,%xmm0 .byte 102,15,127,133,248,254,255,255 // movdqa %xmm0,-0x108(%ebp) .byte 102,15,111,221 // movdqa %xmm5,%xmm3 .byte 102,15,254,216 // paddd %xmm0,%xmm3 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,254,195 // paddd %xmm3,%xmm0 .byte 102,15,111,162,190,95,0,0 // movdqa 0x5fbe(%edx),%xmm4 .byte 102,15,127,165,120,255,255,255 // movdqa %xmm4,-0x88(%ebp) .byte 102,15,112,200,245 // pshufd $0xf5,%xmm0,%xmm1 .byte 102,15,244,196 // pmuludq %xmm4,%xmm0 .byte 102,15,244,204 // pmuludq %xmm4,%xmm1 .byte 102,15,112,225,232 // pshufd $0xe8,%xmm1,%xmm4 .byte 102,15,112,200,232 // pshufd $0xe8,%xmm0,%xmm1 .byte 102,15,98,204 // punpckldq %xmm4,%xmm1 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,193,229 // pshufd $0xe5,%xmm1,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,193,78 // pshufd $0x4e,%xmm1,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 102,15,112,193,231 // pshufd $0xe7,%xmm1,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 139,9 // mov (%ecx),%ecx .byte 243,15,16,4,129 // movss (%ecx,%eax,4),%xmm0 .byte 243,15,16,36,153 // movss (%ecx,%ebx,4),%xmm4 .byte 15,20,224 // unpcklps %xmm0,%xmm4 .byte 243,15,16,4,185 // movss (%ecx,%edi,4),%xmm0 .byte 243,15,16,44,177 // movss (%ecx,%esi,4),%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 102,15,20,236 // unpcklpd %xmm4,%xmm5 .byte 102,15,118,228 // pcmpeqd %xmm4,%xmm4 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,250,196 // psubd %xmm4,%xmm0 .byte 102,15,112,224,229 // pshufd $0xe5,%xmm0,%xmm4 .byte 102,15,126,224 // movd %xmm4,%eax .byte 102,15,112,224,78 // pshufd $0x4e,%xmm0,%xmm4 .byte 102,15,126,230 // movd %xmm4,%esi .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,153 // movss (%ecx,%ebx,4),%xmm0 .byte 243,15,16,36,177 // movss (%ecx,%esi,4),%xmm4 .byte 15,20,224 // unpcklps %xmm0,%xmm4 .byte 243,15,16,60,185 // movss (%ecx,%edi,4),%xmm7 .byte 243,15,16,4,129 // movss (%ecx,%eax,4),%xmm0 .byte 15,20,248 // unpcklps %xmm0,%xmm7 .byte 102,15,20,252 // unpcklpd %xmm4,%xmm7 .byte 102,15,111,130,62,89,0,0 // movdqa 0x593e(%edx),%xmm0 .byte 102,15,127,133,104,255,255,255 // movdqa %xmm0,-0x98(%ebp) .byte 102,15,254,200 // paddd %xmm0,%xmm1 .byte 102,15,112,193,229 // pshufd $0xe5,%xmm1,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,193,78 // pshufd $0x4e,%xmm1,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,126,207 // movd %xmm1,%edi .byte 102,15,112,193,231 // pshufd $0xe7,%xmm1,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,153 // movss (%ecx,%ebx,4),%xmm0 .byte 243,15,16,12,177 // movss (%ecx,%esi,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 243,15,16,52,185 // movss (%ecx,%edi,4),%xmm6 .byte 243,15,16,4,129 // movss (%ecx,%eax,4),%xmm0 .byte 15,20,240 // unpcklps %xmm0,%xmm6 .byte 102,15,20,241 // unpcklpd %xmm1,%xmm6 .byte 15,40,130,174,95,0,0 // movaps 0x5fae(%edx),%xmm0 .byte 15,40,141,232,254,255,255 // movaps -0x118(%ebp),%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,41,77,200 // movaps %xmm1,-0x38(%ebp) .byte 15,40,141,88,255,255,255 // movaps -0xa8(%ebp),%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,41,141,72,255,255,255 // movaps %xmm1,-0xb8(%ebp) .byte 15,88,69,216 // addps -0x28(%ebp),%xmm0 .byte 243,15,91,192 // cvttps2dq %xmm0,%xmm0 .byte 102,15,112,200,245 // pshufd $0xf5,%xmm0,%xmm1 .byte 102,15,244,202 // pmuludq %xmm2,%xmm1 .byte 102,15,244,208 // pmuludq %xmm0,%xmm2 .byte 102,15,112,210,232 // pshufd $0xe8,%xmm2,%xmm2 .byte 102,15,112,193,232 // pshufd $0xe8,%xmm1,%xmm0 .byte 102,15,98,208 // punpckldq %xmm0,%xmm2 .byte 102,15,127,149,24,255,255,255 // movdqa %xmm2,-0xe8(%ebp) .byte 102,15,254,218 // paddd %xmm2,%xmm3 .byte 102,15,112,195,245 // pshufd $0xf5,%xmm3,%xmm0 .byte 102,15,111,141,120,255,255,255 // movdqa -0x88(%ebp),%xmm1 .byte 102,15,244,217 // pmuludq %xmm1,%xmm3 .byte 102,15,244,193 // pmuludq %xmm1,%xmm0 .byte 102,15,112,200,232 // pshufd $0xe8,%xmm0,%xmm1 .byte 102,15,112,195,232 // pshufd $0xe8,%xmm3,%xmm0 .byte 102,15,98,193 // punpckldq %xmm1,%xmm0 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,126,202 // movd %xmm1,%edx .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,112,200,231 // pshufd $0xe7,%xmm0,%xmm1 .byte 102,15,126,207 // movd %xmm1,%edi .byte 243,15,16,12,185 // movss (%ecx,%edi,4),%xmm1 .byte 243,15,16,20,177 // movss (%ecx,%esi,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,15,16,12,145 // movss (%ecx,%edx,4),%xmm1 .byte 243,15,16,28,129 // movss (%ecx,%eax,4),%xmm3 .byte 15,20,217 // unpcklps %xmm1,%xmm3 .byte 102,15,20,218 // unpcklpd %xmm2,%xmm3 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,118,210 // pcmpeqd %xmm2,%xmm2 .byte 102,15,250,202 // psubd %xmm2,%xmm1 .byte 102,15,112,209,229 // pshufd $0xe5,%xmm1,%xmm2 .byte 102,15,126,208 // movd %xmm2,%eax .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,15,126,210 // movd %xmm2,%edx .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,112,201,231 // pshufd $0xe7,%xmm1,%xmm1 .byte 102,15,126,207 // movd %xmm1,%edi .byte 243,15,16,20,185 // movss (%ecx,%edi,4),%xmm2 .byte 243,15,16,12,145 // movss (%ecx,%edx,4),%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 243,15,16,20,177 // movss (%ecx,%esi,4),%xmm2 .byte 243,15,16,36,129 // movss (%ecx,%eax,4),%xmm4 .byte 15,20,212 // unpcklps %xmm4,%xmm2 .byte 102,15,20,209 // unpcklpd %xmm1,%xmm2 .byte 102,15,254,133,104,255,255,255 // paddd -0x98(%ebp),%xmm0 .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,126,200 // movd %xmm1,%eax .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,15,126,202 // movd %xmm1,%edx .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 243,15,16,4,185 // movss (%ecx,%edi,4),%xmm0 .byte 243,15,16,36,145 // movss (%ecx,%edx,4),%xmm4 .byte 15,20,224 // unpcklps %xmm0,%xmm4 .byte 243,15,16,12,177 // movss (%ecx,%esi,4),%xmm1 .byte 243,15,16,4,129 // movss (%ecx,%eax,4),%xmm0 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 102,15,20,204 // unpcklpd %xmm4,%xmm1 .byte 15,91,69,184 // cvtdq2ps -0x48(%ebp),%xmm0 .byte 15,40,101,216 // movaps -0x28(%ebp),%xmm4 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 15,41,101,216 // movaps %xmm4,-0x28(%ebp) .byte 15,92,221 // subps %xmm5,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 15,41,93,184 // movaps %xmm3,-0x48(%ebp) .byte 15,92,215 // subps %xmm7,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,215 // addps %xmm7,%xmm2 .byte 15,41,149,56,255,255,255 // movaps %xmm2,-0xc8(%ebp) .byte 15,92,206 // subps %xmm6,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,41,141,216,254,255,255 // movaps %xmm1,-0x128(%ebp) .byte 243,15,91,133,72,255,255,255 // cvttps2dq -0xb8(%ebp),%xmm0 .byte 102,15,112,224,245 // pshufd $0xf5,%xmm0,%xmm4 .byte 102,15,111,77,152 // movdqa -0x68(%ebp),%xmm1 .byte 102,15,244,225 // pmuludq %xmm1,%xmm4 .byte 102,15,111,233 // movdqa %xmm1,%xmm5 .byte 102,15,244,232 // pmuludq %xmm0,%xmm5 .byte 102,15,112,253,232 // pshufd $0xe8,%xmm5,%xmm7 .byte 102,15,112,196,232 // pshufd $0xe8,%xmm4,%xmm0 .byte 102,15,98,248 // punpckldq %xmm0,%xmm7 .byte 102,15,127,125,152 // movdqa %xmm7,-0x68(%ebp) .byte 102,15,254,189,248,254,255,255 // paddd -0x108(%ebp),%xmm7 .byte 102,15,111,199 // movdqa %xmm7,%xmm0 .byte 102,15,254,69,136 // paddd -0x78(%ebp),%xmm0 .byte 102,15,112,224,245 // pshufd $0xf5,%xmm0,%xmm4 .byte 102,15,111,141,120,255,255,255 // movdqa -0x88(%ebp),%xmm1 .byte 102,15,244,193 // pmuludq %xmm1,%xmm0 .byte 102,15,244,225 // pmuludq %xmm1,%xmm4 .byte 102,15,112,228,232 // pshufd $0xe8,%xmm4,%xmm4 .byte 102,15,112,232,232 // pshufd $0xe8,%xmm0,%xmm5 .byte 102,15,98,236 // punpckldq %xmm4,%xmm5 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,197,229 // pshufd $0xe5,%xmm5,%xmm0 .byte 102,15,126,194 // movd %xmm0,%edx .byte 102,15,112,197,78 // pshufd $0x4e,%xmm5,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,197,231 // pshufd $0xe7,%xmm5,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 243,15,16,4,185 // movss (%ecx,%edi,4),%xmm0 .byte 243,15,16,36,177 // movss (%ecx,%esi,4),%xmm4 .byte 15,20,224 // unpcklps %xmm0,%xmm4 .byte 243,15,16,4,145 // movss (%ecx,%edx,4),%xmm0 .byte 243,15,16,20,129 // movss (%ecx,%eax,4),%xmm2 .byte 15,20,208 // unpcklps %xmm0,%xmm2 .byte 102,15,20,212 // unpcklpd %xmm4,%xmm2 .byte 102,15,41,149,72,255,255,255 // movapd %xmm2,-0xb8(%ebp) .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,118,219 // pcmpeqd %xmm3,%xmm3 .byte 102,15,250,195 // psubd %xmm3,%xmm0 .byte 102,15,118,210 // pcmpeqd %xmm2,%xmm2 .byte 102,15,112,224,229 // pshufd $0xe5,%xmm0,%xmm4 .byte 102,15,126,224 // movd %xmm4,%eax .byte 102,15,112,224,78 // pshufd $0x4e,%xmm0,%xmm4 .byte 102,15,126,226 // movd %xmm4,%edx .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 243,15,16,36,185 // movss (%ecx,%edi,4),%xmm4 .byte 243,15,16,4,145 // movss (%ecx,%edx,4),%xmm0 .byte 15,20,196 // unpcklps %xmm4,%xmm0 .byte 243,15,16,36,177 // movss (%ecx,%esi,4),%xmm4 .byte 243,15,16,52,129 // movss (%ecx,%eax,4),%xmm6 .byte 15,20,230 // unpcklps %xmm6,%xmm4 .byte 102,15,20,224 // unpcklpd %xmm0,%xmm4 .byte 102,15,111,157,104,255,255,255 // movdqa -0x98(%ebp),%xmm3 .byte 102,15,254,235 // paddd %xmm3,%xmm5 .byte 102,15,112,197,229 // pshufd $0xe5,%xmm5,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,197,78 // pshufd $0x4e,%xmm5,%xmm0 .byte 102,15,126,194 // movd %xmm0,%edx .byte 102,15,126,238 // movd %xmm5,%esi .byte 102,15,112,197,231 // pshufd $0xe7,%xmm5,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 243,15,16,4,185 // movss (%ecx,%edi,4),%xmm0 .byte 243,15,16,52,145 // movss (%ecx,%edx,4),%xmm6 .byte 15,20,240 // unpcklps %xmm0,%xmm6 .byte 243,15,16,44,177 // movss (%ecx,%esi,4),%xmm5 .byte 243,15,16,4,129 // movss (%ecx,%eax,4),%xmm0 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 102,15,20,238 // unpcklpd %xmm6,%xmm5 .byte 102,15,254,189,24,255,255,255 // paddd -0xe8(%ebp),%xmm7 .byte 102,15,112,199,245 // pshufd $0xf5,%xmm7,%xmm0 .byte 102,15,244,249 // pmuludq %xmm1,%xmm7 .byte 102,15,244,193 // pmuludq %xmm1,%xmm0 .byte 102,15,112,240,232 // pshufd $0xe8,%xmm0,%xmm6 .byte 102,15,112,199,232 // pshufd $0xe8,%xmm7,%xmm0 .byte 102,15,98,198 // punpckldq %xmm6,%xmm0 .byte 102,15,126,248 // movd %xmm7,%eax .byte 102,15,112,240,229 // pshufd $0xe5,%xmm0,%xmm6 .byte 102,15,126,242 // movd %xmm6,%edx .byte 102,15,112,240,78 // pshufd $0x4e,%xmm0,%xmm6 .byte 102,15,126,246 // movd %xmm6,%esi .byte 102,15,112,240,231 // pshufd $0xe7,%xmm0,%xmm6 .byte 102,15,126,247 // movd %xmm6,%edi .byte 243,15,16,52,185 // movss (%ecx,%edi,4),%xmm6 .byte 243,15,16,60,177 // movss (%ecx,%esi,4),%xmm7 .byte 15,20,254 // unpcklps %xmm6,%xmm7 .byte 243,15,16,52,145 // movss (%ecx,%edx,4),%xmm6 .byte 243,15,16,12,129 // movss (%ecx,%eax,4),%xmm1 .byte 15,20,206 // unpcklps %xmm6,%xmm1 .byte 102,15,20,207 // unpcklpd %xmm7,%xmm1 .byte 102,15,111,240 // movdqa %xmm0,%xmm6 .byte 102,15,250,242 // psubd %xmm2,%xmm6 .byte 102,15,112,254,229 // pshufd $0xe5,%xmm6,%xmm7 .byte 102,15,126,248 // movd %xmm7,%eax .byte 102,15,112,254,78 // pshufd $0x4e,%xmm6,%xmm7 .byte 102,15,126,250 // movd %xmm7,%edx .byte 102,15,126,246 // movd %xmm6,%esi .byte 102,15,112,246,231 // pshufd $0xe7,%xmm6,%xmm6 .byte 102,15,126,247 // movd %xmm6,%edi .byte 243,15,16,52,185 // movss (%ecx,%edi,4),%xmm6 .byte 243,15,16,60,145 // movss (%ecx,%edx,4),%xmm7 .byte 15,20,254 // unpcklps %xmm6,%xmm7 .byte 243,15,16,20,177 // movss (%ecx,%esi,4),%xmm2 .byte 243,15,16,52,129 // movss (%ecx,%eax,4),%xmm6 .byte 15,20,214 // unpcklps %xmm6,%xmm2 .byte 102,15,20,215 // unpcklpd %xmm7,%xmm2 .byte 102,15,111,251 // movdqa %xmm3,%xmm7 .byte 102,15,254,199 // paddd %xmm7,%xmm0 .byte 102,15,112,240,229 // pshufd $0xe5,%xmm0,%xmm6 .byte 102,15,126,240 // movd %xmm6,%eax .byte 102,15,112,240,78 // pshufd $0x4e,%xmm0,%xmm6 .byte 102,15,126,242 // movd %xmm6,%edx .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 243,15,16,4,185 // movss (%ecx,%edi,4),%xmm0 .byte 243,15,16,52,145 // movss (%ecx,%edx,4),%xmm6 .byte 15,20,240 // unpcklps %xmm0,%xmm6 .byte 243,15,16,28,177 // movss (%ecx,%esi,4),%xmm3 .byte 243,15,16,4,129 // movss (%ecx,%eax,4),%xmm0 .byte 15,20,216 // unpcklps %xmm0,%xmm3 .byte 102,15,20,222 // unpcklpd %xmm6,%xmm3 .byte 15,40,181,72,255,255,255 // movaps -0xb8(%ebp),%xmm6 .byte 15,92,206 // subps %xmm6,%xmm1 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,92,212 // subps %xmm4,%xmm2 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,88,212 // addps %xmm4,%xmm2 .byte 15,92,221 // subps %xmm5,%xmm3 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 15,91,133,40,255,255,255 // cvtdq2ps -0xd8(%ebp),%xmm0 .byte 15,40,165,88,255,255,255 // movaps -0xa8(%ebp),%xmm4 .byte 15,92,224 // subps %xmm0,%xmm4 .byte 15,41,165,88,255,255,255 // movaps %xmm4,-0xa8(%ebp) .byte 15,40,69,184 // movaps -0x48(%ebp),%xmm0 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,200 // addps %xmm0,%xmm1 .byte 15,41,77,184 // movaps %xmm1,-0x48(%ebp) .byte 15,40,133,56,255,255,255 // movaps -0xc8(%ebp),%xmm0 .byte 15,92,208 // subps %xmm0,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 15,41,149,56,255,255,255 // movaps %xmm2,-0xc8(%ebp) .byte 15,40,133,216,254,255,255 // movaps -0x128(%ebp),%xmm0 .byte 15,92,216 // subps %xmm0,%xmm3 .byte 15,89,220 // mulps %xmm4,%xmm3 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 15,41,157,40,255,255,255 // movaps %xmm3,-0xd8(%ebp) .byte 243,15,91,77,200 // cvttps2dq -0x38(%ebp),%xmm1 .byte 102,15,127,77,200 // movdqa %xmm1,-0x38(%ebp) .byte 102,15,111,69,168 // movdqa -0x58(%ebp),%xmm0 .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,15,111,77,136 // movdqa -0x78(%ebp),%xmm1 .byte 102,15,254,200 // paddd %xmm0,%xmm1 .byte 102,15,111,240 // movdqa %xmm0,%xmm6 .byte 102,15,112,209,245 // pshufd $0xf5,%xmm1,%xmm2 .byte 102,15,111,133,120,255,255,255 // movdqa -0x88(%ebp),%xmm0 .byte 102,15,244,200 // pmuludq %xmm0,%xmm1 .byte 102,15,244,208 // pmuludq %xmm0,%xmm2 .byte 102,15,112,210,232 // pshufd $0xe8,%xmm2,%xmm2 .byte 102,15,112,217,232 // pshufd $0xe8,%xmm1,%xmm3 .byte 102,15,98,218 // punpckldq %xmm2,%xmm3 .byte 102,15,126,200 // movd %xmm1,%eax .byte 102,15,112,203,229 // pshufd $0xe5,%xmm3,%xmm1 .byte 102,15,126,202 // movd %xmm1,%edx .byte 102,15,112,203,78 // pshufd $0x4e,%xmm3,%xmm1 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,112,203,231 // pshufd $0xe7,%xmm3,%xmm1 .byte 102,15,126,207 // movd %xmm1,%edi .byte 243,15,16,12,185 // movss (%ecx,%edi,4),%xmm1 .byte 243,15,16,20,177 // movss (%ecx,%esi,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,15,16,36,145 // movss (%ecx,%edx,4),%xmm4 .byte 243,15,16,4,129 // movss (%ecx,%eax,4),%xmm0 .byte 15,20,196 // unpcklps %xmm4,%xmm0 .byte 102,15,20,194 // unpcklpd %xmm2,%xmm0 .byte 102,15,41,69,168 // movapd %xmm0,-0x58(%ebp) .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,118,192 // pcmpeqd %xmm0,%xmm0 .byte 102,15,250,208 // psubd %xmm0,%xmm2 .byte 102,15,112,226,229 // pshufd $0xe5,%xmm2,%xmm4 .byte 102,15,126,224 // movd %xmm4,%eax .byte 102,15,112,226,78 // pshufd $0x4e,%xmm2,%xmm4 .byte 102,15,126,226 // movd %xmm4,%edx .byte 102,15,126,214 // movd %xmm2,%esi .byte 102,15,112,210,231 // pshufd $0xe7,%xmm2,%xmm2 .byte 102,15,126,215 // movd %xmm2,%edi .byte 243,15,16,20,185 // movss (%ecx,%edi,4),%xmm2 .byte 243,15,16,36,145 // movss (%ecx,%edx,4),%xmm4 .byte 15,20,226 // unpcklps %xmm2,%xmm4 .byte 243,15,16,20,177 // movss (%ecx,%esi,4),%xmm2 .byte 243,15,16,44,129 // movss (%ecx,%eax,4),%xmm5 .byte 15,20,213 // unpcklps %xmm5,%xmm2 .byte 102,15,20,212 // unpcklpd %xmm4,%xmm2 .byte 102,15,254,223 // paddd %xmm7,%xmm3 .byte 102,15,112,227,229 // pshufd $0xe5,%xmm3,%xmm4 .byte 102,15,126,224 // movd %xmm4,%eax .byte 102,15,112,227,78 // pshufd $0x4e,%xmm3,%xmm4 .byte 102,15,126,226 // movd %xmm4,%edx .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,112,219,231 // pshufd $0xe7,%xmm3,%xmm3 .byte 102,15,126,223 // movd %xmm3,%edi .byte 243,15,16,28,185 // movss (%ecx,%edi,4),%xmm3 .byte 243,15,16,36,145 // movss (%ecx,%edx,4),%xmm4 .byte 15,20,227 // unpcklps %xmm3,%xmm4 .byte 243,15,16,44,177 // movss (%ecx,%esi,4),%xmm5 .byte 243,15,16,28,129 // movss (%ecx,%eax,4),%xmm3 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 102,15,20,236 // unpcklpd %xmm4,%xmm5 .byte 102,15,111,230 // movdqa %xmm6,%xmm4 .byte 102,15,254,165,24,255,255,255 // paddd -0xe8(%ebp),%xmm4 .byte 102,15,112,220,245 // pshufd $0xf5,%xmm4,%xmm3 .byte 102,15,111,141,120,255,255,255 // movdqa -0x88(%ebp),%xmm1 .byte 102,15,244,225 // pmuludq %xmm1,%xmm4 .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 102,15,244,217 // pmuludq %xmm1,%xmm3 .byte 102,15,112,227,232 // pshufd $0xe8,%xmm3,%xmm4 .byte 102,15,112,222,232 // pshufd $0xe8,%xmm6,%xmm3 .byte 102,15,98,220 // punpckldq %xmm4,%xmm3 .byte 102,15,126,240 // movd %xmm6,%eax .byte 102,15,112,227,229 // pshufd $0xe5,%xmm3,%xmm4 .byte 102,15,126,226 // movd %xmm4,%edx .byte 102,15,112,227,78 // pshufd $0x4e,%xmm3,%xmm4 .byte 102,15,126,230 // movd %xmm4,%esi .byte 102,15,112,227,231 // pshufd $0xe7,%xmm3,%xmm4 .byte 102,15,126,231 // movd %xmm4,%edi .byte 243,15,16,36,185 // movss (%ecx,%edi,4),%xmm4 .byte 243,15,16,52,177 // movss (%ecx,%esi,4),%xmm6 .byte 15,20,244 // unpcklps %xmm4,%xmm6 .byte 243,15,16,36,145 // movss (%ecx,%edx,4),%xmm4 .byte 243,15,16,12,129 // movss (%ecx,%eax,4),%xmm1 .byte 15,20,204 // unpcklps %xmm4,%xmm1 .byte 102,15,20,206 // unpcklpd %xmm6,%xmm1 .byte 102,15,111,227 // movdqa %xmm3,%xmm4 .byte 102,15,250,224 // psubd %xmm0,%xmm4 .byte 102,15,112,244,229 // pshufd $0xe5,%xmm4,%xmm6 .byte 102,15,126,240 // movd %xmm6,%eax .byte 102,15,112,244,78 // pshufd $0x4e,%xmm4,%xmm6 .byte 102,15,126,242 // movd %xmm6,%edx .byte 102,15,126,230 // movd %xmm4,%esi .byte 102,15,112,228,231 // pshufd $0xe7,%xmm4,%xmm4 .byte 102,15,126,231 // movd %xmm4,%edi .byte 243,15,16,36,185 // movss (%ecx,%edi,4),%xmm4 .byte 243,15,16,4,145 // movss (%ecx,%edx,4),%xmm0 .byte 15,20,196 // unpcklps %xmm4,%xmm0 .byte 243,15,16,60,177 // movss (%ecx,%esi,4),%xmm7 .byte 243,15,16,36,129 // movss (%ecx,%eax,4),%xmm4 .byte 15,20,252 // unpcklps %xmm4,%xmm7 .byte 102,15,20,248 // unpcklpd %xmm0,%xmm7 .byte 102,15,111,165,104,255,255,255 // movdqa -0x98(%ebp),%xmm4 .byte 102,15,254,220 // paddd %xmm4,%xmm3 .byte 102,15,112,195,229 // pshufd $0xe5,%xmm3,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,195,78 // pshufd $0x4e,%xmm3,%xmm0 .byte 102,15,126,194 // movd %xmm0,%edx .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,112,195,231 // pshufd $0xe7,%xmm3,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 243,15,16,4,185 // movss (%ecx,%edi,4),%xmm0 .byte 243,15,16,28,145 // movss (%ecx,%edx,4),%xmm3 .byte 15,20,216 // unpcklps %xmm0,%xmm3 .byte 243,15,16,52,177 // movss (%ecx,%esi,4),%xmm6 .byte 243,15,16,4,129 // movss (%ecx,%eax,4),%xmm0 .byte 15,20,240 // unpcklps %xmm0,%xmm6 .byte 102,15,20,243 // unpcklpd %xmm3,%xmm6 .byte 15,40,93,168 // movaps -0x58(%ebp),%xmm3 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 15,41,77,168 // movaps %xmm1,-0x58(%ebp) .byte 15,92,250 // subps %xmm2,%xmm7 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,88,250 // addps %xmm2,%xmm7 .byte 15,92,245 // subps %xmm5,%xmm6 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,88,245 // addps %xmm5,%xmm6 .byte 102,15,111,69,152 // movdqa -0x68(%ebp),%xmm0 .byte 102,15,254,69,200 // paddd -0x38(%ebp),%xmm0 .byte 102,15,127,69,152 // movdqa %xmm0,-0x68(%ebp) .byte 102,15,111,85,136 // movdqa -0x78(%ebp),%xmm2 .byte 102,15,254,208 // paddd %xmm0,%xmm2 .byte 102,15,112,194,245 // pshufd $0xf5,%xmm2,%xmm0 .byte 102,15,111,157,120,255,255,255 // movdqa -0x88(%ebp),%xmm3 .byte 102,15,244,211 // pmuludq %xmm3,%xmm2 .byte 102,15,244,195 // pmuludq %xmm3,%xmm0 .byte 102,15,112,200,232 // pshufd $0xe8,%xmm0,%xmm1 .byte 102,15,112,194,232 // pshufd $0xe8,%xmm2,%xmm0 .byte 102,15,98,193 // punpckldq %xmm1,%xmm0 .byte 102,15,126,208 // movd %xmm2,%eax .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,126,202 // movd %xmm1,%edx .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,112,200,231 // pshufd $0xe7,%xmm0,%xmm1 .byte 102,15,126,207 // movd %xmm1,%edi .byte 243,15,16,12,185 // movss (%ecx,%edi,4),%xmm1 .byte 243,15,16,20,177 // movss (%ecx,%esi,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,15,16,12,145 // movss (%ecx,%edx,4),%xmm1 .byte 243,15,16,44,129 // movss (%ecx,%eax,4),%xmm5 .byte 15,20,233 // unpcklps %xmm1,%xmm5 .byte 102,15,20,234 // unpcklpd %xmm2,%xmm5 .byte 102,15,41,109,136 // movapd %xmm5,-0x78(%ebp) .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,118,210 // pcmpeqd %xmm2,%xmm2 .byte 102,15,250,202 // psubd %xmm2,%xmm1 .byte 102,15,112,209,229 // pshufd $0xe5,%xmm1,%xmm2 .byte 102,15,126,208 // movd %xmm2,%eax .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,15,126,210 // movd %xmm2,%edx .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,112,201,231 // pshufd $0xe7,%xmm1,%xmm1 .byte 102,15,126,207 // movd %xmm1,%edi .byte 243,15,16,12,185 // movss (%ecx,%edi,4),%xmm1 .byte 243,15,16,20,145 // movss (%ecx,%edx,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,15,16,44,177 // movss (%ecx,%esi,4),%xmm5 .byte 243,15,16,12,129 // movss (%ecx,%eax,4),%xmm1 .byte 15,20,233 // unpcklps %xmm1,%xmm5 .byte 102,15,20,234 // unpcklpd %xmm2,%xmm5 .byte 102,15,41,109,200 // movapd %xmm5,-0x38(%ebp) .byte 102,15,254,196 // paddd %xmm4,%xmm0 .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,126,200 // movd %xmm1,%eax .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,15,126,202 // movd %xmm1,%edx .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 243,15,16,4,185 // movss (%ecx,%edi,4),%xmm0 .byte 243,15,16,12,145 // movss (%ecx,%edx,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 243,15,16,36,177 // movss (%ecx,%esi,4),%xmm4 .byte 243,15,16,4,129 // movss (%ecx,%eax,4),%xmm0 .byte 15,20,224 // unpcklps %xmm0,%xmm4 .byte 102,15,20,225 // unpcklpd %xmm1,%xmm4 .byte 102,15,111,77,152 // movdqa -0x68(%ebp),%xmm1 .byte 102,15,254,141,24,255,255,255 // paddd -0xe8(%ebp),%xmm1 .byte 102,15,112,193,245 // pshufd $0xf5,%xmm1,%xmm0 .byte 102,15,244,203 // pmuludq %xmm3,%xmm1 .byte 102,15,244,195 // pmuludq %xmm3,%xmm0 .byte 102,15,112,192,232 // pshufd $0xe8,%xmm0,%xmm0 .byte 102,15,112,209,232 // pshufd $0xe8,%xmm1,%xmm2 .byte 102,15,98,208 // punpckldq %xmm0,%xmm2 .byte 102,15,126,200 // movd %xmm1,%eax .byte 102,15,112,194,229 // pshufd $0xe5,%xmm2,%xmm0 .byte 102,15,126,194 // movd %xmm0,%edx .byte 102,15,112,194,78 // pshufd $0x4e,%xmm2,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,194,231 // pshufd $0xe7,%xmm2,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 243,15,16,4,185 // movss (%ecx,%edi,4),%xmm0 .byte 243,15,16,12,177 // movss (%ecx,%esi,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 243,15,16,28,145 // movss (%ecx,%edx,4),%xmm3 .byte 243,15,16,4,129 // movss (%ecx,%eax,4),%xmm0 .byte 15,20,195 // unpcklps %xmm3,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,118,219 // pcmpeqd %xmm3,%xmm3 .byte 102,15,250,203 // psubd %xmm3,%xmm1 .byte 102,15,112,217,229 // pshufd $0xe5,%xmm1,%xmm3 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,15,126,218 // movd %xmm3,%edx .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,112,201,231 // pshufd $0xe7,%xmm1,%xmm1 .byte 102,15,126,207 // movd %xmm1,%edi .byte 243,15,16,12,185 // movss (%ecx,%edi,4),%xmm1 .byte 243,15,16,28,145 // movss (%ecx,%edx,4),%xmm3 .byte 15,20,217 // unpcklps %xmm1,%xmm3 .byte 243,15,16,12,177 // movss (%ecx,%esi,4),%xmm1 .byte 243,15,16,44,129 // movss (%ecx,%eax,4),%xmm5 .byte 15,20,205 // unpcklps %xmm5,%xmm1 .byte 102,15,20,203 // unpcklpd %xmm3,%xmm1 .byte 102,15,254,149,104,255,255,255 // paddd -0x98(%ebp),%xmm2 .byte 102,15,112,218,229 // pshufd $0xe5,%xmm2,%xmm3 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,15,126,218 // movd %xmm3,%edx .byte 102,15,126,214 // movd %xmm2,%esi .byte 102,15,112,210,231 // pshufd $0xe7,%xmm2,%xmm2 .byte 102,15,126,215 // movd %xmm2,%edi .byte 243,15,16,20,185 // movss (%ecx,%edi,4),%xmm2 .byte 243,15,16,28,145 // movss (%ecx,%edx,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 243,15,16,20,177 // movss (%ecx,%esi,4),%xmm2 .byte 243,15,16,44,129 // movss (%ecx,%eax,4),%xmm5 .byte 15,20,213 // unpcklps %xmm5,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 15,40,109,136 // movaps -0x78(%ebp),%xmm5 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,197 // addps %xmm5,%xmm0 .byte 15,40,109,200 // movaps -0x38(%ebp),%xmm5 .byte 15,92,205 // subps %xmm5,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,92,212 // subps %xmm4,%xmm2 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,88,212 // addps %xmm4,%xmm2 .byte 15,40,101,168 // movaps -0x58(%ebp),%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,40,157,88,255,255,255 // movaps -0xa8(%ebp),%xmm3 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,92,207 // subps %xmm7,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,92,214 // subps %xmm6,%xmm2 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,88,214 // addps %xmm6,%xmm2 .byte 15,91,157,248,254,255,255 // cvtdq2ps -0x108(%ebp),%xmm3 .byte 15,40,165,232,254,255,255 // movaps -0x118(%ebp),%xmm4 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,40,93,184 // movaps -0x48(%ebp),%xmm3 .byte 15,92,195 // subps %xmm3,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 15,40,157,56,255,255,255 // movaps -0xc8(%ebp),%xmm3 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 15,40,157,40,255,255,255 // movaps -0xd8(%ebp),%xmm3 .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 141,74,8 // lea 0x8(%edx),%ecx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,157,200,254,255,255 // movaps -0x138(%ebp),%xmm3 .byte 81 // push %ecx .byte 80 // push %eax .byte 255,82,4 // call *0x4(%edx) .byte 129,196,60,1,0,0 // add $0x13c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_clut_4D_sse2 .globl _sk_clut_4D_sse2 FUNCTION(_sk_clut_4D_sse2) _sk_clut_4D_sse2: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,92,1,0,0 // sub $0x15c,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,72,4 // lea 0x4(%eax),%ecx .byte 137,141,212,254,255,255 // mov %ecx,-0x12c(%ebp) .byte 139,16 // mov (%eax),%edx .byte 139,74,16 // mov 0x10(%edx),%ecx .byte 141,113,255 // lea -0x1(%ecx),%esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 102,15,112,228,0 // pshufd $0x0,%xmm4,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,227 // mulps %xmm3,%xmm4 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 102,15,110,217 // movd %ecx,%xmm3 .byte 102,15,112,251,0 // pshufd $0x0,%xmm3,%xmm7 .byte 102,15,127,189,24,255,255,255 // movdqa %xmm7,-0xe8(%ebp) .byte 139,74,12 // mov 0xc(%edx),%ecx .byte 141,113,255 // lea -0x1(%ecx),%esi .byte 102,15,110,230 // movd %esi,%xmm4 .byte 102,15,112,228,0 // pshufd $0x0,%xmm4,%xmm4 .byte 15,91,228 // cvtdq2ps %xmm4,%xmm4 .byte 15,89,226 // mulps %xmm2,%xmm4 .byte 15,41,165,248,254,255,255 // movaps %xmm4,-0x108(%ebp) .byte 243,15,91,244 // cvttps2dq %xmm4,%xmm6 .byte 102,15,127,181,216,254,255,255 // movdqa %xmm6,-0x128(%ebp) .byte 102,15,112,214,245 // pshufd $0xf5,%xmm6,%xmm2 .byte 102,15,244,215 // pmuludq %xmm7,%xmm2 .byte 102,15,111,231 // movdqa %xmm7,%xmm4 .byte 102,15,244,230 // pmuludq %xmm6,%xmm4 .byte 102,15,112,228,232 // pshufd $0xe8,%xmm4,%xmm4 .byte 102,15,112,210,232 // pshufd $0xe8,%xmm2,%xmm2 .byte 102,15,98,226 // punpckldq %xmm2,%xmm4 .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 102,15,127,181,8,255,255,255 // movdqa %xmm6,-0xf8(%ebp) .byte 102,15,110,209 // movd %ecx,%xmm2 .byte 102,15,244,211 // pmuludq %xmm3,%xmm2 .byte 102,15,112,210,232 // pshufd $0xe8,%xmm2,%xmm2 .byte 102,15,244,216 // pmuludq %xmm0,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,98,211 // punpckldq %xmm3,%xmm2 .byte 139,74,8 // mov 0x8(%edx),%ecx .byte 141,113,255 // lea -0x1(%ecx),%esi .byte 102,15,110,222 // movd %esi,%xmm3 .byte 102,15,112,219,0 // pshufd $0x0,%xmm3,%xmm3 .byte 15,91,219 // cvtdq2ps %xmm3,%xmm3 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,41,157,56,255,255,255 // movaps %xmm3,-0xc8(%ebp) .byte 102,15,112,250,0 // pshufd $0x0,%xmm2,%xmm7 .byte 102,15,127,189,88,255,255,255 // movdqa %xmm7,-0xa8(%ebp) .byte 243,15,91,227 // cvttps2dq %xmm3,%xmm4 .byte 102,15,127,165,40,255,255,255 // movdqa %xmm4,-0xd8(%ebp) .byte 102,15,112,204,245 // pshufd $0xf5,%xmm4,%xmm1 .byte 102,15,244,207 // pmuludq %xmm7,%xmm1 .byte 102,15,111,223 // movdqa %xmm7,%xmm3 .byte 102,15,244,220 // pmuludq %xmm4,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,112,201,232 // pshufd $0xe8,%xmm1,%xmm1 .byte 102,15,98,217 // punpckldq %xmm1,%xmm3 .byte 102,15,111,227 // movdqa %xmm3,%xmm4 .byte 102,15,127,165,72,255,255,255 // movdqa %xmm4,-0xb8(%ebp) .byte 102,15,110,201 // movd %ecx,%xmm1 .byte 102,15,244,202 // pmuludq %xmm2,%xmm1 .byte 139,74,4 // mov 0x4(%edx),%ecx .byte 73 // dec %ecx .byte 102,15,110,209 // movd %ecx,%xmm2 .byte 102,15,112,210,0 // pshufd $0x0,%xmm2,%xmm2 .byte 15,91,210 // cvtdq2ps %xmm2,%xmm2 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,41,85,216 // movaps %xmm2,-0x28(%ebp) .byte 102,15,112,217,0 // pshufd $0x0,%xmm1,%xmm3 .byte 102,15,127,93,168 // movdqa %xmm3,-0x58(%ebp) .byte 243,15,91,194 // cvttps2dq %xmm2,%xmm0 .byte 102,15,127,133,104,255,255,255 // movdqa %xmm0,-0x98(%ebp) .byte 102,15,112,200,245 // pshufd $0xf5,%xmm0,%xmm1 .byte 102,15,244,203 // pmuludq %xmm3,%xmm1 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,244,208 // pmuludq %xmm0,%xmm2 .byte 102,15,112,218,232 // pshufd $0xe8,%xmm2,%xmm3 .byte 102,15,112,201,232 // pshufd $0xe8,%xmm1,%xmm1 .byte 102,15,98,217 // punpckldq %xmm1,%xmm3 .byte 102,15,127,93,152 // movdqa %xmm3,-0x68(%ebp) .byte 232,0,0,0,0 // call 7ea8 <_sk_clut_4D_sse2+0x16e> .byte 89 // pop %ecx .byte 15,40,197 // movaps %xmm5,%xmm0 .byte 15,41,133,152,254,255,255 // movaps %xmm0,-0x168(%ebp) .byte 243,15,91,200 // cvttps2dq %xmm0,%xmm1 .byte 102,15,127,141,184,254,255,255 // movdqa %xmm1,-0x148(%ebp) .byte 102,15,254,241 // paddd %xmm1,%xmm6 .byte 102,15,127,117,200 // movdqa %xmm6,-0x38(%ebp) .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 102,15,254,214 // paddd %xmm6,%xmm2 .byte 102,15,254,218 // paddd %xmm2,%xmm3 .byte 102,15,111,161,40,84,0,0 // movdqa 0x5428(%ecx),%xmm4 .byte 102,15,112,203,245 // pshufd $0xf5,%xmm3,%xmm1 .byte 102,15,244,220 // pmuludq %xmm4,%xmm3 .byte 102,15,244,204 // pmuludq %xmm4,%xmm1 .byte 102,15,112,233,232 // pshufd $0xe8,%xmm1,%xmm5 .byte 102,15,112,203,232 // pshufd $0xe8,%xmm3,%xmm1 .byte 102,15,98,205 // punpckldq %xmm5,%xmm1 .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,112,217,229 // pshufd $0xe5,%xmm1,%xmm3 .byte 102,15,126,223 // movd %xmm3,%edi .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,15,126,219 // movd %xmm3,%ebx .byte 102,15,112,217,231 // pshufd $0xe7,%xmm1,%xmm3 .byte 102,15,126,216 // movd %xmm3,%eax .byte 139,18 // mov (%edx),%edx .byte 243,15,16,28,130 // movss (%edx,%eax,4),%xmm3 .byte 243,15,16,52,154 // movss (%edx,%ebx,4),%xmm6 .byte 15,20,243 // unpcklps %xmm3,%xmm6 .byte 243,15,16,28,186 // movss (%edx,%edi,4),%xmm3 .byte 243,15,16,36,178 // movss (%edx,%esi,4),%xmm4 .byte 15,20,227 // unpcklps %xmm3,%xmm4 .byte 102,15,20,230 // unpcklpd %xmm6,%xmm4 .byte 102,15,41,101,184 // movapd %xmm4,-0x48(%ebp) .byte 102,15,118,228 // pcmpeqd %xmm4,%xmm4 .byte 102,15,111,217 // movdqa %xmm1,%xmm3 .byte 102,15,250,220 // psubd %xmm4,%xmm3 .byte 102,15,118,237 // pcmpeqd %xmm5,%xmm5 .byte 102,15,112,243,229 // pshufd $0xe5,%xmm3,%xmm6 .byte 102,15,126,240 // movd %xmm6,%eax .byte 102,15,112,243,78 // pshufd $0x4e,%xmm3,%xmm6 .byte 102,15,126,246 // movd %xmm6,%esi .byte 102,15,126,223 // movd %xmm3,%edi .byte 102,15,112,219,231 // pshufd $0xe7,%xmm3,%xmm3 .byte 102,15,126,219 // movd %xmm3,%ebx .byte 243,15,16,28,154 // movss (%edx,%ebx,4),%xmm3 .byte 243,15,16,52,178 // movss (%edx,%esi,4),%xmm6 .byte 15,20,243 // unpcklps %xmm3,%xmm6 .byte 243,15,16,28,186 // movss (%edx,%edi,4),%xmm3 .byte 243,15,16,60,130 // movss (%edx,%eax,4),%xmm7 .byte 15,20,223 // unpcklps %xmm7,%xmm3 .byte 102,15,20,222 // unpcklpd %xmm6,%xmm3 .byte 102,15,41,157,232,254,255,255 // movapd %xmm3,-0x118(%ebp) .byte 102,15,254,137,168,77,0,0 // paddd 0x4da8(%ecx),%xmm1 .byte 102,15,112,241,229 // pshufd $0xe5,%xmm1,%xmm6 .byte 102,15,126,240 // movd %xmm6,%eax .byte 102,15,112,241,78 // pshufd $0x4e,%xmm1,%xmm6 .byte 102,15,126,246 // movd %xmm6,%esi .byte 102,15,126,207 // movd %xmm1,%edi .byte 102,15,112,201,231 // pshufd $0xe7,%xmm1,%xmm1 .byte 102,15,126,203 // movd %xmm1,%ebx .byte 243,15,16,12,154 // movss (%edx,%ebx,4),%xmm1 .byte 243,15,16,52,178 // movss (%edx,%esi,4),%xmm6 .byte 15,20,241 // unpcklps %xmm1,%xmm6 .byte 243,15,16,28,186 // movss (%edx,%edi,4),%xmm3 .byte 243,15,16,60,130 // movss (%edx,%eax,4),%xmm7 .byte 15,20,223 // unpcklps %xmm7,%xmm3 .byte 102,15,20,222 // unpcklpd %xmm6,%xmm3 .byte 15,40,185,24,84,0,0 // movaps 0x5418(%ecx),%xmm7 .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,41,133,120,255,255,255 // movaps %xmm0,-0x88(%ebp) .byte 15,40,133,248,254,255,255 // movaps -0x108(%ebp),%xmm0 .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,41,69,136 // movaps %xmm0,-0x78(%ebp) .byte 15,40,133,56,255,255,255 // movaps -0xc8(%ebp),%xmm0 .byte 15,88,199 // addps %xmm7,%xmm0 .byte 15,41,133,168,254,255,255 // movaps %xmm0,-0x158(%ebp) .byte 15,88,125,216 // addps -0x28(%ebp),%xmm7 .byte 243,15,91,255 // cvttps2dq %xmm7,%xmm7 .byte 102,15,112,199,245 // pshufd $0xf5,%xmm7,%xmm0 .byte 102,15,111,117,168 // movdqa -0x58(%ebp),%xmm6 .byte 102,15,244,198 // pmuludq %xmm6,%xmm0 .byte 102,15,244,247 // pmuludq %xmm7,%xmm6 .byte 102,15,112,230,232 // pshufd $0xe8,%xmm6,%xmm4 .byte 102,15,112,192,232 // pshufd $0xe8,%xmm0,%xmm0 .byte 102,15,98,224 // punpckldq %xmm0,%xmm4 .byte 102,15,127,101,168 // movdqa %xmm4,-0x58(%ebp) .byte 102,15,254,212 // paddd %xmm4,%xmm2 .byte 102,15,112,194,245 // pshufd $0xf5,%xmm2,%xmm0 .byte 102,15,111,161,40,84,0,0 // movdqa 0x5428(%ecx),%xmm4 .byte 102,15,244,212 // pmuludq %xmm4,%xmm2 .byte 102,15,244,196 // pmuludq %xmm4,%xmm0 .byte 102,15,112,240,232 // pshufd $0xe8,%xmm0,%xmm6 .byte 102,15,112,194,232 // pshufd $0xe8,%xmm2,%xmm0 .byte 102,15,98,198 // punpckldq %xmm6,%xmm0 .byte 102,15,126,208 // movd %xmm2,%eax .byte 102,15,112,208,229 // pshufd $0xe5,%xmm0,%xmm2 .byte 102,15,126,214 // movd %xmm2,%esi .byte 102,15,112,208,78 // pshufd $0x4e,%xmm0,%xmm2 .byte 102,15,126,215 // movd %xmm2,%edi .byte 102,15,112,208,231 // pshufd $0xe7,%xmm0,%xmm2 .byte 102,15,126,211 // movd %xmm2,%ebx .byte 243,15,16,20,154 // movss (%edx,%ebx,4),%xmm2 .byte 243,15,16,52,186 // movss (%edx,%edi,4),%xmm6 .byte 15,20,242 // unpcklps %xmm2,%xmm6 .byte 243,15,16,20,178 // movss (%edx,%esi,4),%xmm2 .byte 243,15,16,12,130 // movss (%edx,%eax,4),%xmm1 .byte 15,20,202 // unpcklps %xmm2,%xmm1 .byte 102,15,20,206 // unpcklpd %xmm6,%xmm1 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,15,250,213 // psubd %xmm5,%xmm2 .byte 102,15,112,242,229 // pshufd $0xe5,%xmm2,%xmm6 .byte 102,15,126,240 // movd %xmm6,%eax .byte 102,15,112,242,78 // pshufd $0x4e,%xmm2,%xmm6 .byte 102,15,126,246 // movd %xmm6,%esi .byte 102,15,126,215 // movd %xmm2,%edi .byte 102,15,112,210,231 // pshufd $0xe7,%xmm2,%xmm2 .byte 102,15,126,211 // movd %xmm2,%ebx .byte 243,15,16,20,154 // movss (%edx,%ebx,4),%xmm2 .byte 243,15,16,52,178 // movss (%edx,%esi,4),%xmm6 .byte 15,20,242 // unpcklps %xmm2,%xmm6 .byte 243,15,16,20,186 // movss (%edx,%edi,4),%xmm2 .byte 243,15,16,44,130 // movss (%edx,%eax,4),%xmm5 .byte 15,20,213 // unpcklps %xmm5,%xmm2 .byte 102,15,20,214 // unpcklpd %xmm6,%xmm2 .byte 102,15,254,129,168,77,0,0 // paddd 0x4da8(%ecx),%xmm0 .byte 102,15,112,232,229 // pshufd $0xe5,%xmm0,%xmm5 .byte 102,15,126,232 // movd %xmm5,%eax .byte 102,15,112,232,78 // pshufd $0x4e,%xmm0,%xmm5 .byte 102,15,126,238 // movd %xmm5,%esi .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,44,178 // movss (%edx,%esi,4),%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 243,15,16,60,186 // movss (%edx,%edi,4),%xmm7 .byte 243,15,16,52,130 // movss (%edx,%eax,4),%xmm6 .byte 15,20,254 // unpcklps %xmm6,%xmm7 .byte 102,15,20,253 // unpcklpd %xmm5,%xmm7 .byte 15,91,173,104,255,255,255 // cvtdq2ps -0x98(%ebp),%xmm5 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,92,197 // subps %xmm5,%xmm0 .byte 15,41,69,216 // movaps %xmm0,-0x28(%ebp) .byte 15,40,109,184 // movaps -0x48(%ebp),%xmm5 .byte 15,92,205 // subps %xmm5,%xmm1 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,205 // addps %xmm5,%xmm1 .byte 15,41,141,104,255,255,255 // movaps %xmm1,-0x98(%ebp) .byte 15,40,141,232,254,255,255 // movaps -0x118(%ebp),%xmm1 .byte 15,92,209 // subps %xmm1,%xmm2 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,88,209 // addps %xmm1,%xmm2 .byte 15,41,85,184 // movaps %xmm2,-0x48(%ebp) .byte 15,92,251 // subps %xmm3,%xmm7 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,88,251 // addps %xmm3,%xmm7 .byte 243,15,91,141,168,254,255,255 // cvttps2dq -0x158(%ebp),%xmm1 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,111,133,88,255,255,255 // movdqa -0xa8(%ebp),%xmm0 .byte 102,15,244,216 // pmuludq %xmm0,%xmm3 .byte 102,15,111,232 // movdqa %xmm0,%xmm5 .byte 102,15,244,233 // pmuludq %xmm1,%xmm5 .byte 102,15,112,197,232 // pshufd $0xe8,%xmm5,%xmm0 .byte 102,15,112,203,232 // pshufd $0xe8,%xmm3,%xmm1 .byte 102,15,98,193 // punpckldq %xmm1,%xmm0 .byte 102,15,127,133,88,255,255,255 // movdqa %xmm0,-0xa8(%ebp) .byte 102,15,111,85,200 // movdqa -0x38(%ebp),%xmm2 .byte 102,15,254,208 // paddd %xmm0,%xmm2 .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,15,254,93,152 // paddd -0x68(%ebp),%xmm3 .byte 102,15,112,203,245 // pshufd $0xf5,%xmm3,%xmm1 .byte 102,15,244,220 // pmuludq %xmm4,%xmm3 .byte 102,15,244,204 // pmuludq %xmm4,%xmm1 .byte 102,15,112,233,232 // pshufd $0xe8,%xmm1,%xmm5 .byte 102,15,112,203,232 // pshufd $0xe8,%xmm3,%xmm1 .byte 102,15,98,205 // punpckldq %xmm5,%xmm1 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,217,229 // pshufd $0xe5,%xmm1,%xmm3 .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,15,126,223 // movd %xmm3,%edi .byte 102,15,112,217,231 // pshufd $0xe7,%xmm1,%xmm3 .byte 102,15,126,219 // movd %xmm3,%ebx .byte 243,15,16,28,154 // movss (%edx,%ebx,4),%xmm3 .byte 243,15,16,44,186 // movss (%edx,%edi,4),%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 243,15,16,52,178 // movss (%edx,%esi,4),%xmm6 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,198 // unpcklps %xmm6,%xmm0 .byte 102,15,20,197 // unpcklpd %xmm5,%xmm0 .byte 102,15,41,69,200 // movapd %xmm0,-0x38(%ebp) .byte 102,15,111,233 // movdqa %xmm1,%xmm5 .byte 102,15,118,219 // pcmpeqd %xmm3,%xmm3 .byte 102,15,250,235 // psubd %xmm3,%xmm5 .byte 102,15,112,245,229 // pshufd $0xe5,%xmm5,%xmm6 .byte 102,15,126,240 // movd %xmm6,%eax .byte 102,15,112,245,78 // pshufd $0x4e,%xmm5,%xmm6 .byte 102,15,126,246 // movd %xmm6,%esi .byte 102,15,126,239 // movd %xmm5,%edi .byte 102,15,112,237,231 // pshufd $0xe7,%xmm5,%xmm5 .byte 102,15,126,235 // movd %xmm5,%ebx .byte 243,15,16,44,154 // movss (%edx,%ebx,4),%xmm5 .byte 243,15,16,4,178 // movss (%edx,%esi,4),%xmm0 .byte 15,20,197 // unpcklps %xmm5,%xmm0 .byte 243,15,16,52,186 // movss (%edx,%edi,4),%xmm6 .byte 243,15,16,44,130 // movss (%edx,%eax,4),%xmm5 .byte 15,20,245 // unpcklps %xmm5,%xmm6 .byte 102,15,20,240 // unpcklpd %xmm0,%xmm6 .byte 102,15,254,137,168,77,0,0 // paddd 0x4da8(%ecx),%xmm1 .byte 102,15,112,193,229 // pshufd $0xe5,%xmm1,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,193,78 // pshufd $0x4e,%xmm1,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,126,207 // movd %xmm1,%edi .byte 102,15,112,193,231 // pshufd $0xe7,%xmm1,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,44,178 // movss (%edx,%esi,4),%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 243,15,16,36,186 // movss (%edx,%edi,4),%xmm4 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,224 // unpcklps %xmm0,%xmm4 .byte 102,15,20,229 // unpcklpd %xmm5,%xmm4 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,254,77,168 // paddd -0x58(%ebp),%xmm1 .byte 102,15,112,193,245 // pshufd $0xf5,%xmm1,%xmm0 .byte 102,15,111,145,40,84,0,0 // movdqa 0x5428(%ecx),%xmm2 .byte 102,15,244,202 // pmuludq %xmm2,%xmm1 .byte 102,15,244,194 // pmuludq %xmm2,%xmm0 .byte 102,15,112,192,232 // pshufd $0xe8,%xmm0,%xmm0 .byte 102,15,112,233,232 // pshufd $0xe8,%xmm1,%xmm5 .byte 102,15,98,232 // punpckldq %xmm0,%xmm5 .byte 102,15,126,200 // movd %xmm1,%eax .byte 102,15,112,197,229 // pshufd $0xe5,%xmm5,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,197,78 // pshufd $0x4e,%xmm5,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,197,231 // pshufd $0xe7,%xmm5,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,12,154 // movss (%edx,%ebx,4),%xmm1 .byte 243,15,16,4,186 // movss (%edx,%edi,4),%xmm0 .byte 15,20,193 // unpcklps %xmm1,%xmm0 .byte 243,15,16,12,178 // movss (%edx,%esi,4),%xmm1 .byte 243,15,16,20,130 // movss (%edx,%eax,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 102,15,20,208 // unpcklpd %xmm0,%xmm2 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,250,195 // psubd %xmm3,%xmm0 .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,126,200 // movd %xmm1,%eax .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,12,178 // movss (%edx,%esi,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 243,15,16,28,186 // movss (%edx,%edi,4),%xmm3 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,216 // unpcklps %xmm0,%xmm3 .byte 102,15,20,217 // unpcklpd %xmm1,%xmm3 .byte 102,15,254,169,168,77,0,0 // paddd 0x4da8(%ecx),%xmm5 .byte 102,15,112,197,229 // pshufd $0xe5,%xmm5,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,197,78 // pshufd $0x4e,%xmm5,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,126,239 // movd %xmm5,%edi .byte 102,15,112,197,231 // pshufd $0xe7,%xmm5,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,12,178 // movss (%edx,%esi,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 243,15,16,44,186 // movss (%edx,%edi,4),%xmm5 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 102,15,20,233 // unpcklpd %xmm1,%xmm5 .byte 15,40,77,200 // movaps -0x38(%ebp),%xmm1 .byte 15,92,209 // subps %xmm1,%xmm2 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,88,209 // addps %xmm1,%xmm2 .byte 15,92,222 // subps %xmm6,%xmm3 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,88,222 // addps %xmm6,%xmm3 .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,89,232 // mulps %xmm0,%xmm5 .byte 15,88,236 // addps %xmm4,%xmm5 .byte 15,91,133,40,255,255,255 // cvtdq2ps -0xd8(%ebp),%xmm0 .byte 15,40,141,56,255,255,255 // movaps -0xc8(%ebp),%xmm1 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,41,141,56,255,255,255 // movaps %xmm1,-0xc8(%ebp) .byte 15,40,133,104,255,255,255 // movaps -0x98(%ebp),%xmm0 .byte 15,92,208 // subps %xmm0,%xmm2 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 15,41,149,40,255,255,255 // movaps %xmm2,-0xd8(%ebp) .byte 15,40,69,184 // movaps -0x48(%ebp),%xmm0 .byte 15,92,216 // subps %xmm0,%xmm3 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 15,41,157,104,255,255,255 // movaps %xmm3,-0x98(%ebp) .byte 15,92,239 // subps %xmm7,%xmm5 .byte 15,89,233 // mulps %xmm1,%xmm5 .byte 15,88,239 // addps %xmm7,%xmm5 .byte 15,41,109,184 // movaps %xmm5,-0x48(%ebp) .byte 243,15,91,69,136 // cvttps2dq -0x78(%ebp),%xmm0 .byte 102,15,112,200,245 // pshufd $0xf5,%xmm0,%xmm1 .byte 102,15,111,149,24,255,255,255 // movdqa -0xe8(%ebp),%xmm2 .byte 102,15,244,202 // pmuludq %xmm2,%xmm1 .byte 102,15,244,208 // pmuludq %xmm0,%xmm2 .byte 102,15,112,226,232 // pshufd $0xe8,%xmm2,%xmm4 .byte 102,15,112,193,232 // pshufd $0xe8,%xmm1,%xmm0 .byte 102,15,98,224 // punpckldq %xmm0,%xmm4 .byte 102,15,127,165,24,255,255,255 // movdqa %xmm4,-0xe8(%ebp) .byte 102,15,254,165,184,254,255,255 // paddd -0x148(%ebp),%xmm4 .byte 102,15,127,101,200 // movdqa %xmm4,-0x38(%ebp) .byte 102,15,111,204 // movdqa %xmm4,%xmm1 .byte 102,15,254,141,72,255,255,255 // paddd -0xb8(%ebp),%xmm1 .byte 102,15,111,209 // movdqa %xmm1,%xmm2 .byte 102,15,254,85,152 // paddd -0x68(%ebp),%xmm2 .byte 102,15,112,194,245 // pshufd $0xf5,%xmm2,%xmm0 .byte 102,15,111,153,40,84,0,0 // movdqa 0x5428(%ecx),%xmm3 .byte 102,15,244,211 // pmuludq %xmm3,%xmm2 .byte 102,15,244,195 // pmuludq %xmm3,%xmm0 .byte 102,15,111,251 // movdqa %xmm3,%xmm7 .byte 102,15,112,216,232 // pshufd $0xe8,%xmm0,%xmm3 .byte 102,15,112,194,232 // pshufd $0xe8,%xmm2,%xmm0 .byte 102,15,98,195 // punpckldq %xmm3,%xmm0 .byte 102,15,126,208 // movd %xmm2,%eax .byte 102,15,112,208,229 // pshufd $0xe5,%xmm0,%xmm2 .byte 102,15,126,214 // movd %xmm2,%esi .byte 102,15,112,208,78 // pshufd $0x4e,%xmm0,%xmm2 .byte 102,15,126,215 // movd %xmm2,%edi .byte 102,15,112,208,231 // pshufd $0xe7,%xmm0,%xmm2 .byte 102,15,126,211 // movd %xmm2,%ebx .byte 243,15,16,20,154 // movss (%edx,%ebx,4),%xmm2 .byte 243,15,16,28,186 // movss (%edx,%edi,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 243,15,16,20,178 // movss (%edx,%esi,4),%xmm2 .byte 243,15,16,36,130 // movss (%edx,%eax,4),%xmm4 .byte 15,20,226 // unpcklps %xmm2,%xmm4 .byte 102,15,20,227 // unpcklpd %xmm3,%xmm4 .byte 102,15,41,101,136 // movapd %xmm4,-0x78(%ebp) .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,15,118,246 // pcmpeqd %xmm6,%xmm6 .byte 102,15,250,214 // psubd %xmm6,%xmm2 .byte 102,15,112,218,229 // pshufd $0xe5,%xmm2,%xmm3 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,126,215 // movd %xmm2,%edi .byte 102,15,112,210,231 // pshufd $0xe7,%xmm2,%xmm2 .byte 102,15,126,211 // movd %xmm2,%ebx .byte 243,15,16,20,154 // movss (%edx,%ebx,4),%xmm2 .byte 243,15,16,28,178 // movss (%edx,%esi,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 243,15,16,36,186 // movss (%edx,%edi,4),%xmm4 .byte 243,15,16,44,130 // movss (%edx,%eax,4),%xmm5 .byte 15,20,229 // unpcklps %xmm5,%xmm4 .byte 102,15,20,227 // unpcklpd %xmm3,%xmm4 .byte 102,15,254,129,168,77,0,0 // paddd 0x4da8(%ecx),%xmm0 .byte 102,15,112,216,229 // pshufd $0xe5,%xmm0,%xmm3 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,216,78 // pshufd $0x4e,%xmm0,%xmm3 .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,28,178 // movss (%edx,%esi,4),%xmm3 .byte 15,20,216 // unpcklps %xmm0,%xmm3 .byte 243,15,16,20,186 // movss (%edx,%edi,4),%xmm2 .byte 243,15,16,44,130 // movss (%edx,%eax,4),%xmm5 .byte 15,20,213 // unpcklps %xmm5,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 102,15,254,77,168 // paddd -0x58(%ebp),%xmm1 .byte 102,15,112,217,245 // pshufd $0xf5,%xmm1,%xmm3 .byte 102,15,244,207 // pmuludq %xmm7,%xmm1 .byte 102,15,244,223 // pmuludq %xmm7,%xmm3 .byte 102,15,112,219,232 // pshufd $0xe8,%xmm3,%xmm3 .byte 102,15,112,249,232 // pshufd $0xe8,%xmm1,%xmm7 .byte 102,15,98,251 // punpckldq %xmm3,%xmm7 .byte 102,15,126,200 // movd %xmm1,%eax .byte 102,15,112,207,229 // pshufd $0xe5,%xmm7,%xmm1 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,112,207,78 // pshufd $0x4e,%xmm7,%xmm1 .byte 102,15,126,207 // movd %xmm1,%edi .byte 102,15,112,207,231 // pshufd $0xe7,%xmm7,%xmm1 .byte 102,15,126,203 // movd %xmm1,%ebx .byte 243,15,16,12,154 // movss (%edx,%ebx,4),%xmm1 .byte 243,15,16,28,186 // movss (%edx,%edi,4),%xmm3 .byte 15,20,217 // unpcklps %xmm1,%xmm3 .byte 243,15,16,12,178 // movss (%edx,%esi,4),%xmm1 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,193 // unpcklps %xmm1,%xmm0 .byte 102,15,20,195 // unpcklpd %xmm3,%xmm0 .byte 102,15,111,207 // movdqa %xmm7,%xmm1 .byte 102,15,250,206 // psubd %xmm6,%xmm1 .byte 102,15,112,217,229 // pshufd $0xe5,%xmm1,%xmm3 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,126,207 // movd %xmm1,%edi .byte 102,15,112,201,231 // pshufd $0xe7,%xmm1,%xmm1 .byte 102,15,126,203 // movd %xmm1,%ebx .byte 243,15,16,12,154 // movss (%edx,%ebx,4),%xmm1 .byte 243,15,16,28,178 // movss (%edx,%esi,4),%xmm3 .byte 15,20,217 // unpcklps %xmm1,%xmm3 .byte 243,15,16,44,186 // movss (%edx,%edi,4),%xmm5 .byte 243,15,16,52,130 // movss (%edx,%eax,4),%xmm6 .byte 15,20,238 // unpcklps %xmm6,%xmm5 .byte 102,15,20,235 // unpcklpd %xmm3,%xmm5 .byte 102,15,111,137,168,77,0,0 // movdqa 0x4da8(%ecx),%xmm1 .byte 102,15,254,249 // paddd %xmm1,%xmm7 .byte 102,15,112,223,229 // pshufd $0xe5,%xmm7,%xmm3 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,223,78 // pshufd $0x4e,%xmm7,%xmm3 .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,126,255 // movd %xmm7,%edi .byte 102,15,112,223,231 // pshufd $0xe7,%xmm7,%xmm3 .byte 102,15,126,219 // movd %xmm3,%ebx .byte 243,15,16,28,154 // movss (%edx,%ebx,4),%xmm3 .byte 243,15,16,52,178 // movss (%edx,%esi,4),%xmm6 .byte 15,20,243 // unpcklps %xmm3,%xmm6 .byte 243,15,16,60,186 // movss (%edx,%edi,4),%xmm7 .byte 243,15,16,28,130 // movss (%edx,%eax,4),%xmm3 .byte 15,20,251 // unpcklps %xmm3,%xmm7 .byte 102,15,20,254 // unpcklpd %xmm6,%xmm7 .byte 15,40,117,136 // movaps -0x78(%ebp),%xmm6 .byte 15,92,198 // subps %xmm6,%xmm0 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,41,69,136 // movaps %xmm0,-0x78(%ebp) .byte 15,92,236 // subps %xmm4,%xmm5 .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,88,236 // addps %xmm4,%xmm5 .byte 15,92,250 // subps %xmm2,%xmm7 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,88,250 // addps %xmm2,%xmm7 .byte 102,15,111,85,200 // movdqa -0x38(%ebp),%xmm2 .byte 102,15,254,149,88,255,255,255 // paddd -0xa8(%ebp),%xmm2 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,111,226 // movdqa %xmm2,%xmm4 .byte 102,15,254,69,152 // paddd -0x68(%ebp),%xmm0 .byte 102,15,112,208,245 // pshufd $0xf5,%xmm0,%xmm2 .byte 102,15,111,153,40,84,0,0 // movdqa 0x5428(%ecx),%xmm3 .byte 102,15,244,195 // pmuludq %xmm3,%xmm0 .byte 102,15,244,211 // pmuludq %xmm3,%xmm2 .byte 102,15,112,218,232 // pshufd $0xe8,%xmm2,%xmm3 .byte 102,15,112,208,232 // pshufd $0xe8,%xmm0,%xmm2 .byte 102,15,98,211 // punpckldq %xmm3,%xmm2 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,194,229 // pshufd $0xe5,%xmm2,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,194,78 // pshufd $0x4e,%xmm2,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,194,231 // pshufd $0xe7,%xmm2,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,28,186 // movss (%edx,%edi,4),%xmm3 .byte 15,20,216 // unpcklps %xmm0,%xmm3 .byte 243,15,16,4,178 // movss (%edx,%esi,4),%xmm0 .byte 243,15,16,52,130 // movss (%edx,%eax,4),%xmm6 .byte 15,20,240 // unpcklps %xmm0,%xmm6 .byte 102,15,20,243 // unpcklpd %xmm3,%xmm6 .byte 102,15,41,117,200 // movapd %xmm6,-0x38(%ebp) .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,118,219 // pcmpeqd %xmm3,%xmm3 .byte 102,15,250,195 // psubd %xmm3,%xmm0 .byte 102,15,112,216,229 // pshufd $0xe5,%xmm0,%xmm3 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,216,78 // pshufd $0x4e,%xmm0,%xmm3 .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,28,154 // movss (%edx,%ebx,4),%xmm3 .byte 243,15,16,4,178 // movss (%edx,%esi,4),%xmm0 .byte 15,20,195 // unpcklps %xmm3,%xmm0 .byte 243,15,16,28,186 // movss (%edx,%edi,4),%xmm3 .byte 243,15,16,52,130 // movss (%edx,%eax,4),%xmm6 .byte 15,20,222 // unpcklps %xmm6,%xmm3 .byte 102,15,20,216 // unpcklpd %xmm0,%xmm3 .byte 102,15,41,157,232,254,255,255 // movapd %xmm3,-0x118(%ebp) .byte 102,15,254,209 // paddd %xmm1,%xmm2 .byte 102,15,112,194,229 // pshufd $0xe5,%xmm2,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,194,78 // pshufd $0x4e,%xmm2,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,126,215 // movd %xmm2,%edi .byte 102,15,112,194,231 // pshufd $0xe7,%xmm2,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,52,178 // movss (%edx,%esi,4),%xmm6 .byte 15,20,240 // unpcklps %xmm0,%xmm6 .byte 243,15,16,28,186 // movss (%edx,%edi,4),%xmm3 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,216 // unpcklps %xmm0,%xmm3 .byte 102,15,20,222 // unpcklpd %xmm6,%xmm3 .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 102,15,254,85,168 // paddd -0x58(%ebp),%xmm2 .byte 102,15,112,194,245 // pshufd $0xf5,%xmm2,%xmm0 .byte 102,15,111,137,40,84,0,0 // movdqa 0x5428(%ecx),%xmm1 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,244,193 // pmuludq %xmm1,%xmm0 .byte 102,15,112,240,232 // pshufd $0xe8,%xmm0,%xmm6 .byte 102,15,112,194,232 // pshufd $0xe8,%xmm2,%xmm0 .byte 102,15,98,198 // punpckldq %xmm6,%xmm0 .byte 102,15,126,208 // movd %xmm2,%eax .byte 102,15,112,224,229 // pshufd $0xe5,%xmm0,%xmm4 .byte 102,15,126,230 // movd %xmm4,%esi .byte 102,15,112,224,78 // pshufd $0x4e,%xmm0,%xmm4 .byte 102,15,126,231 // movd %xmm4,%edi .byte 102,15,112,224,231 // pshufd $0xe7,%xmm0,%xmm4 .byte 102,15,126,227 // movd %xmm4,%ebx .byte 243,15,16,36,154 // movss (%edx,%ebx,4),%xmm4 .byte 243,15,16,52,186 // movss (%edx,%edi,4),%xmm6 .byte 15,20,244 // unpcklps %xmm4,%xmm6 .byte 243,15,16,36,178 // movss (%edx,%esi,4),%xmm4 .byte 243,15,16,12,130 // movss (%edx,%eax,4),%xmm1 .byte 15,20,204 // unpcklps %xmm4,%xmm1 .byte 102,15,20,206 // unpcklpd %xmm6,%xmm1 .byte 102,15,111,224 // movdqa %xmm0,%xmm4 .byte 102,15,118,210 // pcmpeqd %xmm2,%xmm2 .byte 102,15,250,226 // psubd %xmm2,%xmm4 .byte 102,15,112,244,229 // pshufd $0xe5,%xmm4,%xmm6 .byte 102,15,126,240 // movd %xmm6,%eax .byte 102,15,112,244,78 // pshufd $0x4e,%xmm4,%xmm6 .byte 102,15,126,246 // movd %xmm6,%esi .byte 102,15,126,231 // movd %xmm4,%edi .byte 102,15,112,228,231 // pshufd $0xe7,%xmm4,%xmm4 .byte 102,15,126,227 // movd %xmm4,%ebx .byte 243,15,16,36,154 // movss (%edx,%ebx,4),%xmm4 .byte 243,15,16,52,178 // movss (%edx,%esi,4),%xmm6 .byte 15,20,244 // unpcklps %xmm4,%xmm6 .byte 243,15,16,20,186 // movss (%edx,%edi,4),%xmm2 .byte 243,15,16,36,130 // movss (%edx,%eax,4),%xmm4 .byte 15,20,212 // unpcklps %xmm4,%xmm2 .byte 102,15,20,214 // unpcklpd %xmm6,%xmm2 .byte 102,15,254,129,168,77,0,0 // paddd 0x4da8(%ecx),%xmm0 .byte 102,15,112,224,229 // pshufd $0xe5,%xmm0,%xmm4 .byte 102,15,126,224 // movd %xmm4,%eax .byte 102,15,112,224,78 // pshufd $0x4e,%xmm0,%xmm4 .byte 102,15,126,230 // movd %xmm4,%esi .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,36,178 // movss (%edx,%esi,4),%xmm4 .byte 15,20,224 // unpcklps %xmm0,%xmm4 .byte 243,15,16,52,186 // movss (%edx,%edi,4),%xmm6 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,240 // unpcklps %xmm0,%xmm6 .byte 102,15,20,244 // unpcklpd %xmm4,%xmm6 .byte 15,40,101,200 // movaps -0x38(%ebp),%xmm4 .byte 15,92,204 // subps %xmm4,%xmm1 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 15,40,165,232,254,255,255 // movaps -0x118(%ebp),%xmm4 .byte 15,92,212 // subps %xmm4,%xmm2 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,88,212 // addps %xmm4,%xmm2 .byte 15,92,243 // subps %xmm3,%xmm6 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,88,243 // addps %xmm3,%xmm6 .byte 15,40,93,136 // movaps -0x78(%ebp),%xmm3 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,40,133,56,255,255,255 // movaps -0xc8(%ebp),%xmm0 .byte 15,89,200 // mulps %xmm0,%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 15,40,217 // movaps %xmm1,%xmm3 .byte 15,92,213 // subps %xmm5,%xmm2 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 15,92,247 // subps %xmm7,%xmm6 .byte 15,89,240 // mulps %xmm0,%xmm6 .byte 15,88,247 // addps %xmm7,%xmm6 .byte 15,91,133,216,254,255,255 // cvtdq2ps -0x128(%ebp),%xmm0 .byte 15,40,141,248,254,255,255 // movaps -0x108(%ebp),%xmm1 .byte 15,92,200 // subps %xmm0,%xmm1 .byte 15,41,141,248,254,255,255 // movaps %xmm1,-0x108(%ebp) .byte 15,40,133,40,255,255,255 // movaps -0xd8(%ebp),%xmm0 .byte 15,92,216 // subps %xmm0,%xmm3 .byte 15,89,217 // mulps %xmm1,%xmm3 .byte 15,88,216 // addps %xmm0,%xmm3 .byte 15,41,157,40,255,255,255 // movaps %xmm3,-0xd8(%ebp) .byte 15,40,133,104,255,255,255 // movaps -0x98(%ebp),%xmm0 .byte 15,92,208 // subps %xmm0,%xmm2 .byte 15,89,209 // mulps %xmm1,%xmm2 .byte 15,88,208 // addps %xmm0,%xmm2 .byte 15,41,149,104,255,255,255 // movaps %xmm2,-0x98(%ebp) .byte 15,40,69,184 // movaps -0x48(%ebp),%xmm0 .byte 15,92,240 // subps %xmm0,%xmm6 .byte 15,89,241 // mulps %xmm1,%xmm6 .byte 15,88,240 // addps %xmm0,%xmm6 .byte 15,41,181,216,254,255,255 // movaps %xmm6,-0x128(%ebp) .byte 243,15,91,141,120,255,255,255 // cvttps2dq -0x88(%ebp),%xmm1 .byte 102,15,127,77,136 // movdqa %xmm1,-0x78(%ebp) .byte 102,15,111,133,8,255,255,255 // movdqa -0xf8(%ebp),%xmm0 .byte 102,15,254,193 // paddd %xmm1,%xmm0 .byte 102,15,127,133,8,255,255,255 // movdqa %xmm0,-0xf8(%ebp) .byte 102,15,111,141,72,255,255,255 // movdqa -0xb8(%ebp),%xmm1 .byte 102,15,254,200 // paddd %xmm0,%xmm1 .byte 102,15,111,93,152 // movdqa -0x68(%ebp),%xmm3 .byte 102,15,254,217 // paddd %xmm1,%xmm3 .byte 102,15,112,211,245 // pshufd $0xf5,%xmm3,%xmm2 .byte 102,15,111,129,40,84,0,0 // movdqa 0x5428(%ecx),%xmm0 .byte 102,15,244,216 // pmuludq %xmm0,%xmm3 .byte 102,15,244,208 // pmuludq %xmm0,%xmm2 .byte 102,15,111,248 // movdqa %xmm0,%xmm7 .byte 102,15,112,226,232 // pshufd $0xe8,%xmm2,%xmm4 .byte 102,15,112,211,232 // pshufd $0xe8,%xmm3,%xmm2 .byte 102,15,98,212 // punpckldq %xmm4,%xmm2 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,218,229 // pshufd $0xe5,%xmm2,%xmm3 .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,15,126,223 // movd %xmm3,%edi .byte 102,15,112,218,231 // pshufd $0xe7,%xmm2,%xmm3 .byte 102,15,126,219 // movd %xmm3,%ebx .byte 243,15,16,28,154 // movss (%edx,%ebx,4),%xmm3 .byte 243,15,16,44,186 // movss (%edx,%edi,4),%xmm5 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 243,15,16,28,178 // movss (%edx,%esi,4),%xmm3 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,195 // unpcklps %xmm3,%xmm0 .byte 102,15,20,197 // unpcklpd %xmm5,%xmm0 .byte 102,15,41,133,120,255,255,255 // movapd %xmm0,-0x88(%ebp) .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,15,118,192 // pcmpeqd %xmm0,%xmm0 .byte 102,15,250,216 // psubd %xmm0,%xmm3 .byte 102,15,112,235,229 // pshufd $0xe5,%xmm3,%xmm5 .byte 102,15,126,232 // movd %xmm5,%eax .byte 102,15,112,235,78 // pshufd $0x4e,%xmm3,%xmm5 .byte 102,15,126,238 // movd %xmm5,%esi .byte 102,15,126,223 // movd %xmm3,%edi .byte 102,15,112,219,231 // pshufd $0xe7,%xmm3,%xmm3 .byte 102,15,126,219 // movd %xmm3,%ebx .byte 243,15,16,28,154 // movss (%edx,%ebx,4),%xmm3 .byte 243,15,16,52,178 // movss (%edx,%esi,4),%xmm6 .byte 15,20,243 // unpcklps %xmm3,%xmm6 .byte 243,15,16,44,186 // movss (%edx,%edi,4),%xmm5 .byte 243,15,16,28,130 // movss (%edx,%eax,4),%xmm3 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 102,15,20,238 // unpcklpd %xmm6,%xmm5 .byte 102,15,254,145,168,77,0,0 // paddd 0x4da8(%ecx),%xmm2 .byte 102,15,112,218,229 // pshufd $0xe5,%xmm2,%xmm3 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,126,215 // movd %xmm2,%edi .byte 102,15,112,210,231 // pshufd $0xe7,%xmm2,%xmm2 .byte 102,15,126,211 // movd %xmm2,%ebx .byte 243,15,16,20,154 // movss (%edx,%ebx,4),%xmm2 .byte 243,15,16,28,178 // movss (%edx,%esi,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 243,15,16,52,186 // movss (%edx,%edi,4),%xmm6 .byte 243,15,16,20,130 // movss (%edx,%eax,4),%xmm2 .byte 15,20,242 // unpcklps %xmm2,%xmm6 .byte 102,15,20,243 // unpcklpd %xmm3,%xmm6 .byte 102,15,254,77,168 // paddd -0x58(%ebp),%xmm1 .byte 102,15,112,209,245 // pshufd $0xf5,%xmm1,%xmm2 .byte 102,15,244,207 // pmuludq %xmm7,%xmm1 .byte 102,15,244,215 // pmuludq %xmm7,%xmm2 .byte 102,15,112,210,232 // pshufd $0xe8,%xmm2,%xmm2 .byte 102,15,112,217,232 // pshufd $0xe8,%xmm1,%xmm3 .byte 102,15,98,218 // punpckldq %xmm2,%xmm3 .byte 102,15,126,200 // movd %xmm1,%eax .byte 102,15,112,203,229 // pshufd $0xe5,%xmm3,%xmm1 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,112,203,78 // pshufd $0x4e,%xmm3,%xmm1 .byte 102,15,126,207 // movd %xmm1,%edi .byte 102,15,112,203,231 // pshufd $0xe7,%xmm3,%xmm1 .byte 102,15,126,203 // movd %xmm1,%ebx .byte 243,15,16,12,154 // movss (%edx,%ebx,4),%xmm1 .byte 243,15,16,20,186 // movss (%edx,%edi,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,15,16,60,178 // movss (%edx,%esi,4),%xmm7 .byte 243,15,16,36,130 // movss (%edx,%eax,4),%xmm4 .byte 15,20,231 // unpcklps %xmm7,%xmm4 .byte 102,15,20,226 // unpcklpd %xmm2,%xmm4 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,250,208 // psubd %xmm0,%xmm2 .byte 102,15,112,250,229 // pshufd $0xe5,%xmm2,%xmm7 .byte 102,15,126,248 // movd %xmm7,%eax .byte 102,15,112,250,78 // pshufd $0x4e,%xmm2,%xmm7 .byte 102,15,126,254 // movd %xmm7,%esi .byte 102,15,126,215 // movd %xmm2,%edi .byte 102,15,112,210,231 // pshufd $0xe7,%xmm2,%xmm2 .byte 102,15,126,211 // movd %xmm2,%ebx .byte 243,15,16,20,154 // movss (%edx,%ebx,4),%xmm2 .byte 243,15,16,60,178 // movss (%edx,%esi,4),%xmm7 .byte 15,20,250 // unpcklps %xmm2,%xmm7 .byte 243,15,16,20,186 // movss (%edx,%edi,4),%xmm2 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,208 // unpcklps %xmm0,%xmm2 .byte 102,15,20,215 // unpcklpd %xmm7,%xmm2 .byte 102,15,111,137,168,77,0,0 // movdqa 0x4da8(%ecx),%xmm1 .byte 102,15,254,217 // paddd %xmm1,%xmm3 .byte 102,15,112,195,229 // pshufd $0xe5,%xmm3,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,195,78 // pshufd $0x4e,%xmm3,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,126,223 // movd %xmm3,%edi .byte 102,15,112,195,231 // pshufd $0xe7,%xmm3,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,60,178 // movss (%edx,%esi,4),%xmm7 .byte 15,20,248 // unpcklps %xmm0,%xmm7 .byte 243,15,16,28,186 // movss (%edx,%edi,4),%xmm3 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,216 // unpcklps %xmm0,%xmm3 .byte 102,15,20,223 // unpcklpd %xmm7,%xmm3 .byte 15,40,189,120,255,255,255 // movaps -0x88(%ebp),%xmm7 .byte 15,92,231 // subps %xmm7,%xmm4 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,89,224 // mulps %xmm0,%xmm4 .byte 15,88,231 // addps %xmm7,%xmm4 .byte 15,41,165,120,255,255,255 // movaps %xmm4,-0x88(%ebp) .byte 15,92,213 // subps %xmm5,%xmm2 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 15,41,85,200 // movaps %xmm2,-0x38(%ebp) .byte 15,92,222 // subps %xmm6,%xmm3 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,88,222 // addps %xmm6,%xmm3 .byte 15,41,93,184 // movaps %xmm3,-0x48(%ebp) .byte 102,15,111,149,8,255,255,255 // movdqa -0xf8(%ebp),%xmm2 .byte 102,15,254,149,88,255,255,255 // paddd -0xa8(%ebp),%xmm2 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,254,69,152 // paddd -0x68(%ebp),%xmm0 .byte 102,15,112,224,245 // pshufd $0xf5,%xmm0,%xmm4 .byte 102,15,111,169,40,84,0,0 // movdqa 0x5428(%ecx),%xmm5 .byte 102,15,111,221 // movdqa %xmm5,%xmm3 .byte 102,15,244,195 // pmuludq %xmm3,%xmm0 .byte 102,15,244,227 // pmuludq %xmm3,%xmm4 .byte 102,15,112,228,232 // pshufd $0xe8,%xmm4,%xmm4 .byte 102,15,112,240,232 // pshufd $0xe8,%xmm0,%xmm6 .byte 102,15,98,244 // punpckldq %xmm4,%xmm6 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,198,229 // pshufd $0xe5,%xmm6,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,198,78 // pshufd $0x4e,%xmm6,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,198,231 // pshufd $0xe7,%xmm6,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,44,186 // movss (%edx,%edi,4),%xmm5 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 243,15,16,4,178 // movss (%edx,%esi,4),%xmm0 .byte 243,15,16,36,130 // movss (%edx,%eax,4),%xmm4 .byte 15,20,224 // unpcklps %xmm0,%xmm4 .byte 102,15,20,229 // unpcklpd %xmm5,%xmm4 .byte 102,15,111,198 // movdqa %xmm6,%xmm0 .byte 102,15,118,219 // pcmpeqd %xmm3,%xmm3 .byte 102,15,250,195 // psubd %xmm3,%xmm0 .byte 102,15,112,232,229 // pshufd $0xe5,%xmm0,%xmm5 .byte 102,15,126,232 // movd %xmm5,%eax .byte 102,15,112,232,78 // pshufd $0x4e,%xmm0,%xmm5 .byte 102,15,126,238 // movd %xmm5,%esi .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,60,178 // movss (%edx,%esi,4),%xmm7 .byte 15,20,248 // unpcklps %xmm0,%xmm7 .byte 243,15,16,44,186 // movss (%edx,%edi,4),%xmm5 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,232 // unpcklps %xmm0,%xmm5 .byte 102,15,20,239 // unpcklpd %xmm7,%xmm5 .byte 102,15,254,241 // paddd %xmm1,%xmm6 .byte 102,15,112,198,229 // pshufd $0xe5,%xmm6,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,198,78 // pshufd $0x4e,%xmm6,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,126,247 // movd %xmm6,%edi .byte 102,15,112,198,231 // pshufd $0xe7,%xmm6,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,60,178 // movss (%edx,%esi,4),%xmm7 .byte 15,20,248 // unpcklps %xmm0,%xmm7 .byte 243,15,16,52,186 // movss (%edx,%edi,4),%xmm6 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,240 // unpcklps %xmm0,%xmm6 .byte 102,15,20,247 // unpcklpd %xmm7,%xmm6 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,254,77,168 // paddd -0x58(%ebp),%xmm1 .byte 102,15,112,193,245 // pshufd $0xf5,%xmm1,%xmm0 .byte 102,15,111,145,40,84,0,0 // movdqa 0x5428(%ecx),%xmm2 .byte 102,15,244,202 // pmuludq %xmm2,%xmm1 .byte 102,15,244,194 // pmuludq %xmm2,%xmm0 .byte 102,15,112,192,232 // pshufd $0xe8,%xmm0,%xmm0 .byte 102,15,112,249,232 // pshufd $0xe8,%xmm1,%xmm7 .byte 102,15,98,248 // punpckldq %xmm0,%xmm7 .byte 102,15,126,200 // movd %xmm1,%eax .byte 102,15,112,199,229 // pshufd $0xe5,%xmm7,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,199,78 // pshufd $0x4e,%xmm7,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,199,231 // pshufd $0xe7,%xmm7,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,12,154 // movss (%edx,%ebx,4),%xmm1 .byte 243,15,16,4,186 // movss (%edx,%edi,4),%xmm0 .byte 15,20,193 // unpcklps %xmm1,%xmm0 .byte 243,15,16,12,178 // movss (%edx,%esi,4),%xmm1 .byte 243,15,16,20,130 // movss (%edx,%eax,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 102,15,20,208 // unpcklpd %xmm0,%xmm2 .byte 102,15,111,199 // movdqa %xmm7,%xmm0 .byte 102,15,250,195 // psubd %xmm3,%xmm0 .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,126,200 // movd %xmm1,%eax .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,12,178 // movss (%edx,%esi,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 243,15,16,28,186 // movss (%edx,%edi,4),%xmm3 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,216 // unpcklps %xmm0,%xmm3 .byte 102,15,20,217 // unpcklpd %xmm1,%xmm3 .byte 102,15,254,185,168,77,0,0 // paddd 0x4da8(%ecx),%xmm7 .byte 102,15,112,199,229 // pshufd $0xe5,%xmm7,%xmm0 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,199,78 // pshufd $0x4e,%xmm7,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,126,255 // movd %xmm7,%edi .byte 102,15,112,199,231 // pshufd $0xe7,%xmm7,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,12,178 // movss (%edx,%esi,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 243,15,16,60,186 // movss (%edx,%edi,4),%xmm7 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,248 // unpcklps %xmm0,%xmm7 .byte 102,15,20,249 // unpcklpd %xmm1,%xmm7 .byte 15,92,212 // subps %xmm4,%xmm2 .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,88,212 // addps %xmm4,%xmm2 .byte 15,92,221 // subps %xmm5,%xmm3 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,88,221 // addps %xmm5,%xmm3 .byte 15,92,254 // subps %xmm6,%xmm7 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,88,254 // addps %xmm6,%xmm7 .byte 15,40,141,120,255,255,255 // movaps -0x88(%ebp),%xmm1 .byte 15,92,209 // subps %xmm1,%xmm2 .byte 15,40,133,56,255,255,255 // movaps -0xc8(%ebp),%xmm0 .byte 15,89,208 // mulps %xmm0,%xmm2 .byte 15,88,209 // addps %xmm1,%xmm2 .byte 15,41,149,8,255,255,255 // movaps %xmm2,-0xf8(%ebp) .byte 15,40,77,200 // movaps -0x38(%ebp),%xmm1 .byte 15,92,217 // subps %xmm1,%xmm3 .byte 15,89,216 // mulps %xmm0,%xmm3 .byte 15,88,217 // addps %xmm1,%xmm3 .byte 15,41,157,120,255,255,255 // movaps %xmm3,-0x88(%ebp) .byte 15,40,77,184 // movaps -0x48(%ebp),%xmm1 .byte 15,92,249 // subps %xmm1,%xmm7 .byte 15,89,248 // mulps %xmm0,%xmm7 .byte 15,88,249 // addps %xmm1,%xmm7 .byte 15,41,125,184 // movaps %xmm7,-0x48(%ebp) .byte 102,15,111,133,24,255,255,255 // movdqa -0xe8(%ebp),%xmm0 .byte 102,15,254,69,136 // paddd -0x78(%ebp),%xmm0 .byte 102,15,127,133,24,255,255,255 // movdqa %xmm0,-0xe8(%ebp) .byte 102,15,111,141,72,255,255,255 // movdqa -0xb8(%ebp),%xmm1 .byte 102,15,254,200 // paddd %xmm0,%xmm1 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,111,233 // movdqa %xmm1,%xmm5 .byte 102,15,254,69,152 // paddd -0x68(%ebp),%xmm0 .byte 102,15,112,200,245 // pshufd $0xf5,%xmm0,%xmm1 .byte 102,15,111,145,40,84,0,0 // movdqa 0x5428(%ecx),%xmm2 .byte 102,15,244,194 // pmuludq %xmm2,%xmm0 .byte 102,15,244,202 // pmuludq %xmm2,%xmm1 .byte 102,15,111,250 // movdqa %xmm2,%xmm7 .byte 102,15,112,201,232 // pshufd $0xe8,%xmm1,%xmm1 .byte 102,15,112,208,232 // pshufd $0xe8,%xmm0,%xmm2 .byte 102,15,98,209 // punpckldq %xmm1,%xmm2 .byte 102,15,126,192 // movd %xmm0,%eax .byte 102,15,112,194,229 // pshufd $0xe5,%xmm2,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,194,78 // pshufd $0x4e,%xmm2,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,194,231 // pshufd $0xe7,%xmm2,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,12,186 // movss (%edx,%edi,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 243,15,16,28,178 // movss (%edx,%esi,4),%xmm3 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,195 // unpcklps %xmm3,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 102,15,41,133,72,255,255,255 // movapd %xmm0,-0xb8(%ebp) .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,118,246 // pcmpeqd %xmm6,%xmm6 .byte 102,15,250,206 // psubd %xmm6,%xmm1 .byte 102,15,112,217,229 // pshufd $0xe5,%xmm1,%xmm3 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,126,207 // movd %xmm1,%edi .byte 102,15,112,201,231 // pshufd $0xe7,%xmm1,%xmm1 .byte 102,15,126,203 // movd %xmm1,%ebx .byte 243,15,16,12,154 // movss (%edx,%ebx,4),%xmm1 .byte 243,15,16,28,178 // movss (%edx,%esi,4),%xmm3 .byte 15,20,217 // unpcklps %xmm1,%xmm3 .byte 243,15,16,12,186 // movss (%edx,%edi,4),%xmm1 .byte 243,15,16,36,130 // movss (%edx,%eax,4),%xmm4 .byte 15,20,204 // unpcklps %xmm4,%xmm1 .byte 102,15,20,203 // unpcklpd %xmm3,%xmm1 .byte 102,15,254,145,168,77,0,0 // paddd 0x4da8(%ecx),%xmm2 .byte 102,15,112,218,229 // pshufd $0xe5,%xmm2,%xmm3 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,126,215 // movd %xmm2,%edi .byte 102,15,112,210,231 // pshufd $0xe7,%xmm2,%xmm2 .byte 102,15,126,211 // movd %xmm2,%ebx .byte 243,15,16,20,154 // movss (%edx,%ebx,4),%xmm2 .byte 243,15,16,28,178 // movss (%edx,%esi,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 243,15,16,20,186 // movss (%edx,%edi,4),%xmm2 .byte 243,15,16,36,130 // movss (%edx,%eax,4),%xmm4 .byte 15,20,212 // unpcklps %xmm4,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,15,254,101,168 // paddd -0x58(%ebp),%xmm4 .byte 102,15,112,220,245 // pshufd $0xf5,%xmm4,%xmm3 .byte 102,15,244,231 // pmuludq %xmm7,%xmm4 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,244,223 // pmuludq %xmm7,%xmm3 .byte 102,15,112,227,232 // pshufd $0xe8,%xmm3,%xmm4 .byte 102,15,112,221,232 // pshufd $0xe8,%xmm5,%xmm3 .byte 102,15,98,220 // punpckldq %xmm4,%xmm3 .byte 102,15,126,232 // movd %xmm5,%eax .byte 102,15,112,227,229 // pshufd $0xe5,%xmm3,%xmm4 .byte 102,15,126,230 // movd %xmm4,%esi .byte 102,15,112,227,78 // pshufd $0x4e,%xmm3,%xmm4 .byte 102,15,126,231 // movd %xmm4,%edi .byte 102,15,112,227,231 // pshufd $0xe7,%xmm3,%xmm4 .byte 102,15,126,227 // movd %xmm4,%ebx .byte 243,15,16,36,154 // movss (%edx,%ebx,4),%xmm4 .byte 243,15,16,44,186 // movss (%edx,%edi,4),%xmm5 .byte 15,20,236 // unpcklps %xmm4,%xmm5 .byte 243,15,16,36,178 // movss (%edx,%esi,4),%xmm4 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,196 // unpcklps %xmm4,%xmm0 .byte 102,15,20,197 // unpcklpd %xmm5,%xmm0 .byte 102,15,111,227 // movdqa %xmm3,%xmm4 .byte 102,15,250,230 // psubd %xmm6,%xmm4 .byte 102,15,112,236,229 // pshufd $0xe5,%xmm4,%xmm5 .byte 102,15,126,232 // movd %xmm5,%eax .byte 102,15,112,236,78 // pshufd $0x4e,%xmm4,%xmm5 .byte 102,15,126,238 // movd %xmm5,%esi .byte 102,15,126,231 // movd %xmm4,%edi .byte 102,15,112,228,231 // pshufd $0xe7,%xmm4,%xmm4 .byte 102,15,126,227 // movd %xmm4,%ebx .byte 243,15,16,36,154 // movss (%edx,%ebx,4),%xmm4 .byte 243,15,16,52,178 // movss (%edx,%esi,4),%xmm6 .byte 15,20,244 // unpcklps %xmm4,%xmm6 .byte 243,15,16,60,186 // movss (%edx,%edi,4),%xmm7 .byte 243,15,16,36,130 // movss (%edx,%eax,4),%xmm4 .byte 15,20,252 // unpcklps %xmm4,%xmm7 .byte 102,15,20,254 // unpcklpd %xmm6,%xmm7 .byte 102,15,254,153,168,77,0,0 // paddd 0x4da8(%ecx),%xmm3 .byte 102,15,112,227,229 // pshufd $0xe5,%xmm3,%xmm4 .byte 102,15,126,224 // movd %xmm4,%eax .byte 102,15,112,227,78 // pshufd $0x4e,%xmm3,%xmm4 .byte 102,15,126,230 // movd %xmm4,%esi .byte 102,15,126,223 // movd %xmm3,%edi .byte 102,15,112,219,231 // pshufd $0xe7,%xmm3,%xmm3 .byte 102,15,126,219 // movd %xmm3,%ebx .byte 243,15,16,28,154 // movss (%edx,%ebx,4),%xmm3 .byte 243,15,16,52,178 // movss (%edx,%esi,4),%xmm6 .byte 15,20,243 // unpcklps %xmm3,%xmm6 .byte 243,15,16,44,186 // movss (%edx,%edi,4),%xmm5 .byte 243,15,16,28,130 // movss (%edx,%eax,4),%xmm3 .byte 15,20,235 // unpcklps %xmm3,%xmm5 .byte 102,15,20,238 // unpcklpd %xmm6,%xmm5 .byte 15,40,165,72,255,255,255 // movaps -0xb8(%ebp),%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,41,133,72,255,255,255 // movaps %xmm0,-0xb8(%ebp) .byte 15,92,249 // subps %xmm1,%xmm7 .byte 15,89,251 // mulps %xmm3,%xmm7 .byte 15,88,249 // addps %xmm1,%xmm7 .byte 15,92,234 // subps %xmm2,%xmm5 .byte 15,89,235 // mulps %xmm3,%xmm5 .byte 15,88,234 // addps %xmm2,%xmm5 .byte 102,15,111,133,24,255,255,255 // movdqa -0xe8(%ebp),%xmm0 .byte 102,15,254,133,88,255,255,255 // paddd -0xa8(%ebp),%xmm0 .byte 102,15,111,85,152 // movdqa -0x68(%ebp),%xmm2 .byte 102,15,254,208 // paddd %xmm0,%xmm2 .byte 102,15,111,216 // movdqa %xmm0,%xmm3 .byte 102,15,112,194,245 // pshufd $0xf5,%xmm2,%xmm0 .byte 102,15,111,137,40,84,0,0 // movdqa 0x5428(%ecx),%xmm1 .byte 102,15,244,209 // pmuludq %xmm1,%xmm2 .byte 102,15,244,193 // pmuludq %xmm1,%xmm0 .byte 102,15,111,241 // movdqa %xmm1,%xmm6 .byte 102,15,112,200,232 // pshufd $0xe8,%xmm0,%xmm1 .byte 102,15,112,194,232 // pshufd $0xe8,%xmm2,%xmm0 .byte 102,15,98,193 // punpckldq %xmm1,%xmm0 .byte 102,15,126,208 // movd %xmm2,%eax .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,15,126,207 // movd %xmm1,%edi .byte 102,15,112,200,231 // pshufd $0xe7,%xmm0,%xmm1 .byte 102,15,126,203 // movd %xmm1,%ebx .byte 243,15,16,12,154 // movss (%edx,%ebx,4),%xmm1 .byte 243,15,16,20,186 // movss (%edx,%edi,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,15,16,12,178 // movss (%edx,%esi,4),%xmm1 .byte 243,15,16,36,130 // movss (%edx,%eax,4),%xmm4 .byte 15,20,225 // unpcklps %xmm1,%xmm4 .byte 102,15,20,226 // unpcklpd %xmm2,%xmm4 .byte 102,15,41,101,152 // movapd %xmm4,-0x68(%ebp) .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,118,210 // pcmpeqd %xmm2,%xmm2 .byte 102,15,250,202 // psubd %xmm2,%xmm1 .byte 102,15,112,209,229 // pshufd $0xe5,%xmm1,%xmm2 .byte 102,15,126,208 // movd %xmm2,%eax .byte 102,15,112,209,78 // pshufd $0x4e,%xmm1,%xmm2 .byte 102,15,126,214 // movd %xmm2,%esi .byte 102,15,126,207 // movd %xmm1,%edi .byte 102,15,112,201,231 // pshufd $0xe7,%xmm1,%xmm1 .byte 102,15,126,203 // movd %xmm1,%ebx .byte 243,15,16,12,154 // movss (%edx,%ebx,4),%xmm1 .byte 243,15,16,20,178 // movss (%edx,%esi,4),%xmm2 .byte 15,20,209 // unpcklps %xmm1,%xmm2 .byte 243,15,16,36,186 // movss (%edx,%edi,4),%xmm4 .byte 243,15,16,12,130 // movss (%edx,%eax,4),%xmm1 .byte 15,20,225 // unpcklps %xmm1,%xmm4 .byte 102,15,20,226 // unpcklpd %xmm2,%xmm4 .byte 102,15,41,165,88,255,255,255 // movapd %xmm4,-0xa8(%ebp) .byte 102,15,254,129,168,77,0,0 // paddd 0x4da8(%ecx),%xmm0 .byte 102,15,112,200,229 // pshufd $0xe5,%xmm0,%xmm1 .byte 102,15,126,200 // movd %xmm1,%eax .byte 102,15,112,200,78 // pshufd $0x4e,%xmm0,%xmm1 .byte 102,15,126,206 // movd %xmm1,%esi .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,192,231 // pshufd $0xe7,%xmm0,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,12,178 // movss (%edx,%esi,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 243,15,16,36,186 // movss (%edx,%edi,4),%xmm4 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,224 // unpcklps %xmm0,%xmm4 .byte 102,15,20,225 // unpcklpd %xmm1,%xmm4 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,254,77,168 // paddd -0x58(%ebp),%xmm1 .byte 102,15,112,193,245 // pshufd $0xf5,%xmm1,%xmm0 .byte 102,15,244,206 // pmuludq %xmm6,%xmm1 .byte 102,15,244,198 // pmuludq %xmm6,%xmm0 .byte 102,15,112,192,232 // pshufd $0xe8,%xmm0,%xmm0 .byte 102,15,112,209,232 // pshufd $0xe8,%xmm1,%xmm2 .byte 102,15,98,208 // punpckldq %xmm0,%xmm2 .byte 102,15,126,200 // movd %xmm1,%eax .byte 102,15,112,194,229 // pshufd $0xe5,%xmm2,%xmm0 .byte 102,15,126,198 // movd %xmm0,%esi .byte 102,15,112,194,78 // pshufd $0x4e,%xmm2,%xmm0 .byte 102,15,126,199 // movd %xmm0,%edi .byte 102,15,112,194,231 // pshufd $0xe7,%xmm2,%xmm0 .byte 102,15,126,195 // movd %xmm0,%ebx .byte 243,15,16,4,154 // movss (%edx,%ebx,4),%xmm0 .byte 243,15,16,12,186 // movss (%edx,%edi,4),%xmm1 .byte 15,20,200 // unpcklps %xmm0,%xmm1 .byte 243,15,16,28,178 // movss (%edx,%esi,4),%xmm3 .byte 243,15,16,4,130 // movss (%edx,%eax,4),%xmm0 .byte 15,20,195 // unpcklps %xmm3,%xmm0 .byte 102,15,20,193 // unpcklpd %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,118,219 // pcmpeqd %xmm3,%xmm3 .byte 102,15,250,203 // psubd %xmm3,%xmm1 .byte 102,15,112,217,229 // pshufd $0xe5,%xmm1,%xmm3 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,217,78 // pshufd $0x4e,%xmm1,%xmm3 .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,126,207 // movd %xmm1,%edi .byte 102,15,112,201,231 // pshufd $0xe7,%xmm1,%xmm1 .byte 102,15,126,203 // movd %xmm1,%ebx .byte 243,15,16,12,154 // movss (%edx,%ebx,4),%xmm1 .byte 243,15,16,28,178 // movss (%edx,%esi,4),%xmm3 .byte 15,20,217 // unpcklps %xmm1,%xmm3 .byte 243,15,16,12,186 // movss (%edx,%edi,4),%xmm1 .byte 243,15,16,52,130 // movss (%edx,%eax,4),%xmm6 .byte 15,20,206 // unpcklps %xmm6,%xmm1 .byte 102,15,20,203 // unpcklpd %xmm3,%xmm1 .byte 102,15,254,145,168,77,0,0 // paddd 0x4da8(%ecx),%xmm2 .byte 102,15,112,218,229 // pshufd $0xe5,%xmm2,%xmm3 .byte 102,15,126,216 // movd %xmm3,%eax .byte 102,15,112,218,78 // pshufd $0x4e,%xmm2,%xmm3 .byte 102,15,126,222 // movd %xmm3,%esi .byte 102,15,126,215 // movd %xmm2,%edi .byte 102,15,112,210,231 // pshufd $0xe7,%xmm2,%xmm2 .byte 102,15,126,211 // movd %xmm2,%ebx .byte 243,15,16,20,154 // movss (%edx,%ebx,4),%xmm2 .byte 243,15,16,28,178 // movss (%edx,%esi,4),%xmm3 .byte 15,20,218 // unpcklps %xmm2,%xmm3 .byte 243,15,16,20,186 // movss (%edx,%edi,4),%xmm2 .byte 243,15,16,52,130 // movss (%edx,%eax,4),%xmm6 .byte 15,20,214 // unpcklps %xmm6,%xmm2 .byte 102,15,20,211 // unpcklpd %xmm3,%xmm2 .byte 15,40,117,152 // movaps -0x68(%ebp),%xmm6 .byte 15,92,198 // subps %xmm6,%xmm0 .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,198 // addps %xmm6,%xmm0 .byte 15,40,181,88,255,255,255 // movaps -0xa8(%ebp),%xmm6 .byte 15,92,206 // subps %xmm6,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,88,206 // addps %xmm6,%xmm1 .byte 15,92,212 // subps %xmm4,%xmm2 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,88,212 // addps %xmm4,%xmm2 .byte 15,40,165,72,255,255,255 // movaps -0xb8(%ebp),%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,40,157,56,255,255,255 // movaps -0xc8(%ebp),%xmm3 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,92,207 // subps %xmm7,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,88,207 // addps %xmm7,%xmm1 .byte 15,92,213 // subps %xmm5,%xmm2 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,88,213 // addps %xmm5,%xmm2 .byte 15,40,165,8,255,255,255 // movaps -0xf8(%ebp),%xmm4 .byte 15,92,196 // subps %xmm4,%xmm0 .byte 15,40,157,248,254,255,255 // movaps -0x108(%ebp),%xmm3 .byte 15,89,195 // mulps %xmm3,%xmm0 .byte 15,88,196 // addps %xmm4,%xmm0 .byte 15,40,165,120,255,255,255 // movaps -0x88(%ebp),%xmm4 .byte 15,92,204 // subps %xmm4,%xmm1 .byte 15,89,203 // mulps %xmm3,%xmm1 .byte 15,88,204 // addps %xmm4,%xmm1 .byte 15,40,101,184 // movaps -0x48(%ebp),%xmm4 .byte 15,92,212 // subps %xmm4,%xmm2 .byte 15,89,211 // mulps %xmm3,%xmm2 .byte 15,88,212 // addps %xmm4,%xmm2 .byte 15,91,157,184,254,255,255 // cvtdq2ps -0x148(%ebp),%xmm3 .byte 15,40,165,152,254,255,255 // movaps -0x168(%ebp),%xmm4 .byte 15,92,227 // subps %xmm3,%xmm4 .byte 15,40,157,40,255,255,255 // movaps -0xd8(%ebp),%xmm3 .byte 15,92,195 // subps %xmm3,%xmm0 .byte 15,89,196 // mulps %xmm4,%xmm0 .byte 15,88,195 // addps %xmm3,%xmm0 .byte 15,40,157,104,255,255,255 // movaps -0x98(%ebp),%xmm3 .byte 15,92,203 // subps %xmm3,%xmm1 .byte 15,89,204 // mulps %xmm4,%xmm1 .byte 15,88,203 // addps %xmm3,%xmm1 .byte 15,40,157,216,254,255,255 // movaps -0x128(%ebp),%xmm3 .byte 15,92,211 // subps %xmm3,%xmm2 .byte 15,89,212 // mulps %xmm4,%xmm2 .byte 15,88,211 // addps %xmm3,%xmm2 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 141,86,8 // lea 0x8(%esi),%edx .byte 131,236,8 // sub $0x8,%esp .byte 15,40,153,104,77,0,0 // movaps 0x4d68(%ecx),%xmm3 .byte 82 // push %edx .byte 80 // push %eax .byte 255,86,4 // call *0x4(%esi) .byte 129,196,108,1,0,0 // add $0x16c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 144 // nop HIDDEN _sk_start_pipeline_sse2_lowp .globl _sk_start_pipeline_sse2_lowp FUNCTION(_sk_start_pipeline_sse2_lowp) _sk_start_pipeline_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,92 // sub $0x5c,%esp .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 59,125,20 // cmp 0x14(%ebp),%edi .byte 15,131,193,0,0,0 // jae 93ca <_sk_start_pipeline_sse2_lowp+0xd6> .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,117,24 // mov 0x18(%ebp),%esi .byte 139,30 // mov (%esi),%ebx .byte 131,198,4 // add $0x4,%esi .byte 141,64,8 // lea 0x8(%eax),%eax .byte 137,69,236 // mov %eax,-0x14(%ebp) .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 137,125,240 // mov %edi,-0x10(%ebp) .byte 57,85,236 // cmp %edx,-0x14(%ebp) .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 137,223 // mov %ebx,%edi .byte 137,243 // mov %esi,%ebx .byte 119,77 // ja 937c <_sk_start_pipeline_sse2_lowp+0x88> .byte 139,117,8 // mov 0x8(%ebp),%esi .byte 15,41,68,36,64 // movaps %xmm0,0x40(%esp) .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 139,69,240 // mov -0x10(%ebp),%eax .byte 137,68,36,12 // mov %eax,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 199,4,36,0,0,0,0 // movl $0x0,(%esp) .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 255,215 // call *%edi .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 141,70,8 // lea 0x8(%esi),%eax .byte 131,198,16 // add $0x10,%esi .byte 57,214 // cmp %edx,%esi .byte 137,198 // mov %eax,%esi .byte 118,182 // jbe 9332 <_sk_start_pipeline_sse2_lowp+0x3e> .byte 137,209 // mov %edx,%ecx .byte 41,193 // sub %eax,%ecx .byte 137,222 // mov %ebx,%esi .byte 137,251 // mov %edi,%ebx .byte 139,125,240 // mov -0x10(%ebp),%edi .byte 116,55 // je 93c0 <_sk_start_pipeline_sse2_lowp+0xcc> .byte 15,41,68,36,64 // movaps %xmm0,0x40(%esp) .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,68,36,8 // mov %eax,0x8(%esp) .byte 137,116,36,4 // mov %esi,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 255,211 // call *%ebx .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 71 // inc %edi .byte 59,125,20 // cmp 0x14(%ebp),%edi .byte 15,133,86,255,255,255 // jne 9320 <_sk_start_pipeline_sse2_lowp+0x2c> .byte 131,196,92 // add $0x5c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_just_return_sse2_lowp .globl _sk_just_return_sse2_lowp FUNCTION(_sk_just_return_sse2_lowp) _sk_just_return_sse2_lowp: .byte 195 // ret HIDDEN _sk_uniform_color_sse2_lowp .globl _sk_uniform_color_sse2_lowp FUNCTION(_sk_uniform_color_sse2_lowp) _sk_uniform_color_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,49 // mov (%ecx),%esi .byte 15,182,126,16 // movzbl 0x10(%esi),%edi .byte 102,15,110,199 // movd %edi,%xmm0 .byte 15,182,126,17 // movzbl 0x11(%esi),%edi .byte 102,15,110,207 // movd %edi,%xmm1 .byte 15,182,126,18 // movzbl 0x12(%esi),%edi .byte 102,15,110,215 // movd %edi,%xmm2 .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 15,40,101,24 // movaps 0x18(%ebp),%xmm4 .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 242,15,112,192,0 // pshuflw $0x0,%xmm0,%xmm0 .byte 102,15,112,192,80 // pshufd $0x50,%xmm0,%xmm0 .byte 242,15,112,201,0 // pshuflw $0x0,%xmm1,%xmm1 .byte 102,15,112,201,80 // pshufd $0x50,%xmm1,%xmm1 .byte 242,15,112,210,0 // pshuflw $0x0,%xmm2,%xmm2 .byte 102,15,112,210,80 // pshufd $0x50,%xmm2,%xmm2 .byte 15,182,118,19 // movzbl 0x13(%esi),%esi .byte 102,15,110,222 // movd %esi,%xmm3 .byte 242,15,112,219,0 // pshuflw $0x0,%xmm3,%xmm3 .byte 102,15,112,219,80 // pshufd $0x50,%xmm3,%xmm3 .byte 141,113,8 // lea 0x8(%ecx),%esi .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 15,41,100,36,16 // movaps %xmm4,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,116,36,4 // mov %esi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_black_color_sse2_lowp .globl _sk_black_color_sse2_lowp FUNCTION(_sk_black_color_sse2_lowp) _sk_black_color_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,92 // sub $0x5c,%esp .byte 232,0,0,0,0 // call 947f <_sk_black_color_sse2_lowp+0xe> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 15,40,69,24 // movaps 0x18(%ebp),%xmm0 .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,40,85,56 // movaps 0x38(%ebp),%xmm2 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,41,84,36,48 // movaps %xmm2,0x30(%esp) .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 15,40,152,97,62,0,0 // movaps 0x3e61(%eax),%xmm3 .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,23 // call *(%edi) .byte 131,196,92 // add $0x5c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_white_color_sse2_lowp .globl _sk_white_color_sse2_lowp FUNCTION(_sk_white_color_sse2_lowp) _sk_white_color_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,92 // sub $0x5c,%esp .byte 232,0,0,0,0 // call 94ea <_sk_white_color_sse2_lowp+0xe> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 15,40,69,24 // movaps 0x18(%ebp),%xmm0 .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,40,85,56 // movaps 0x38(%ebp),%xmm2 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 141,95,4 // lea 0x4(%edi),%ebx .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,41,84,36,48 // movaps %xmm2,0x30(%esp) .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,92,36,4 // mov %ebx,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 15,40,128,246,61,0,0 // movaps 0x3df6(%eax),%xmm0 .byte 15,40,200 // movaps %xmm0,%xmm1 .byte 15,40,208 // movaps %xmm0,%xmm2 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 255,23 // call *(%edi) .byte 131,196,92 // add $0x5c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_set_rgb_sse2_lowp .globl _sk_set_rgb_sse2_lowp FUNCTION(_sk_set_rgb_sse2_lowp) _sk_set_rgb_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 232,0,0,0,0 // call 9554 <_sk_set_rgb_sse2_lowp+0xd> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,57 // mov (%ecx),%edi .byte 243,15,16,150,80,62,0,0 // movss 0x3e50(%esi),%xmm2 .byte 243,15,16,7 // movss (%edi),%xmm0 .byte 243,15,89,194 // mulss %xmm2,%xmm0 .byte 243,15,16,142,76,62,0,0 // movss 0x3e4c(%esi),%xmm1 .byte 243,15,88,193 // addss %xmm1,%xmm0 .byte 243,15,44,240 // cvttss2si %xmm0,%esi .byte 102,15,110,198 // movd %esi,%xmm0 .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 15,40,101,24 // movaps 0x18(%ebp),%xmm4 .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 243,15,16,127,4 // movss 0x4(%edi),%xmm7 .byte 243,15,89,250 // mulss %xmm2,%xmm7 .byte 243,15,88,249 // addss %xmm1,%xmm7 .byte 243,15,89,87,8 // mulss 0x8(%edi),%xmm2 .byte 243,15,44,255 // cvttss2si %xmm7,%edi .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 242,15,112,192,0 // pshuflw $0x0,%xmm0,%xmm0 .byte 102,15,112,192,80 // pshufd $0x50,%xmm0,%xmm0 .byte 243,15,88,209 // addss %xmm1,%xmm2 .byte 102,15,110,207 // movd %edi,%xmm1 .byte 242,15,112,201,0 // pshuflw $0x0,%xmm1,%xmm1 .byte 102,15,112,201,80 // pshufd $0x50,%xmm1,%xmm1 .byte 243,15,44,250 // cvttss2si %xmm2,%edi .byte 102,15,110,215 // movd %edi,%xmm2 .byte 242,15,112,210,0 // pshuflw $0x0,%xmm2,%xmm2 .byte 102,15,112,210,80 // pshufd $0x50,%xmm2,%xmm2 .byte 141,121,8 // lea 0x8(%ecx),%edi .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 15,41,100,36,16 // movaps %xmm4,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_premul_sse2_lowp .globl _sk_premul_sse2_lowp FUNCTION(_sk_premul_sse2_lowp) _sk_premul_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 232,0,0,0,0 // call 9618 <_sk_premul_sse2_lowp+0xd> .byte 90 // pop %edx .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 15,40,101,24 // movaps 0x18(%ebp),%xmm4 .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 102,15,213,195 // pmullw %xmm3,%xmm0 .byte 102,15,111,186,200,60,0,0 // movdqa 0x3cc8(%edx),%xmm7 .byte 102,15,253,199 // paddw %xmm7,%xmm0 .byte 102,15,213,203 // pmullw %xmm3,%xmm1 .byte 102,15,253,207 // paddw %xmm7,%xmm1 .byte 102,15,213,211 // pmullw %xmm3,%xmm2 .byte 102,15,253,215 // paddw %xmm7,%xmm2 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 139,85,12 // mov 0xc(%ebp),%edx .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 141,122,4 // lea 0x4(%edx),%edi .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 15,41,100,36,16 // movaps %xmm4,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,18 // call *(%edx) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_swap_rb_sse2_lowp .globl _sk_swap_rb_sse2_lowp FUNCTION(_sk_swap_rb_sse2_lowp) _sk_swap_rb_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 15,40,224 // movaps %xmm0,%xmm4 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 15,40,69,24 // movaps 0x18(%ebp),%xmm0 .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 141,126,4 // lea 0x4(%esi),%edi .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,194 // movaps %xmm2,%xmm0 .byte 15,40,212 // movaps %xmm4,%xmm2 .byte 255,22 // call *(%esi) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_move_src_dst_sse2_lowp .globl _sk_move_src_dst_sse2_lowp FUNCTION(_sk_move_src_dst_sse2_lowp) _sk_move_src_dst_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 141,126,4 // lea 0x4(%esi),%edi .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,41,84,36,48 // movaps %xmm2,0x30(%esp) .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,22 // call *(%esi) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_move_dst_src_sse2_lowp .globl _sk_move_dst_src_sse2_lowp FUNCTION(_sk_move_dst_src_sse2_lowp) _sk_move_dst_src_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 15,40,69,24 // movaps 0x18(%ebp),%xmm0 .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,40,85,56 // movaps 0x38(%ebp),%xmm2 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 141,126,4 // lea 0x4(%esi),%edi .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,41,84,36,48 // movaps %xmm2,0x30(%esp) .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,22 // call *(%esi) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_invert_sse2_lowp .globl _sk_invert_sse2_lowp FUNCTION(_sk_invert_sse2_lowp) _sk_invert_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 232,0,0,0,0 // call 9792 <_sk_invert_sse2_lowp+0xd> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 102,15,111,160,78,59,0,0 // movdqa 0x3b4e(%eax),%xmm4 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,249,232 // psubw %xmm0,%xmm5 .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 102,15,249,241 // psubw %xmm1,%xmm6 .byte 102,15,111,252 // movdqa %xmm4,%xmm7 .byte 102,15,249,250 // psubw %xmm2,%xmm7 .byte 15,40,69,56 // movaps 0x38(%ebp),%xmm0 .byte 102,15,249,227 // psubw %xmm3,%xmm4 .byte 15,40,77,72 // movaps 0x48(%ebp),%xmm1 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 141,120,4 // lea 0x4(%eax),%edi .byte 15,41,76,36,64 // movaps %xmm1,0x40(%esp) .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 15,40,69,24 // movaps 0x18(%ebp),%xmm0 .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,111,206 // movdqa %xmm6,%xmm1 .byte 102,15,111,215 // movdqa %xmm7,%xmm2 .byte 102,15,111,220 // movdqa %xmm4,%xmm3 .byte 255,16 // call *(%eax) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_clear_sse2_lowp .globl _sk_clear_sse2_lowp FUNCTION(_sk_clear_sse2_lowp) _sk_clear_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 15,40,69,24 // movaps 0x18(%ebp),%xmm0 .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 15,40,85,56 // movaps 0x38(%ebp),%xmm2 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 141,126,4 // lea 0x4(%esi),%edi .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,41,84,36,48 // movaps %xmm2,0x30(%esp) .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,87,192 // xorps %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 255,22 // call *(%esi) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_srcatop_sse2_lowp .globl _sk_srcatop_sse2_lowp FUNCTION(_sk_srcatop_sse2_lowp) _sk_srcatop_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 102,15,111,234 // movdqa %xmm2,%xmm5 .byte 102,15,111,209 // movdqa %xmm1,%xmm2 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 232,0,0,0,0 // call 988a <_sk_srcatop_sse2_lowp+0x19> .byte 88 // pop %eax .byte 102,15,111,117,72 // movdqa 0x48(%ebp),%xmm6 .byte 102,15,213,206 // pmullw %xmm6,%xmm1 .byte 102,15,111,128,86,58,0,0 // movdqa 0x3a56(%eax),%xmm0 .byte 102,15,253,200 // paddw %xmm0,%xmm1 .byte 102,15,213,214 // pmullw %xmm6,%xmm2 .byte 102,15,253,208 // paddw %xmm0,%xmm2 .byte 102,15,213,238 // pmullw %xmm6,%xmm5 .byte 102,15,253,232 // paddw %xmm0,%xmm5 .byte 102,15,111,230 // movdqa %xmm6,%xmm4 .byte 102,15,213,224 // pmullw %xmm0,%xmm4 .byte 102,15,253,224 // paddw %xmm0,%xmm4 .byte 102,15,249,195 // psubw %xmm3,%xmm0 .byte 102,15,111,216 // movdqa %xmm0,%xmm3 .byte 102,15,213,93,24 // pmullw 0x18(%ebp),%xmm3 .byte 102,15,253,203 // paddw %xmm3,%xmm1 .byte 102,15,111,93,40 // movdqa 0x28(%ebp),%xmm3 .byte 102,15,111,248 // movdqa %xmm0,%xmm7 .byte 102,15,213,251 // pmullw %xmm3,%xmm7 .byte 102,15,253,215 // paddw %xmm7,%xmm2 .byte 102,15,111,125,56 // movdqa 0x38(%ebp),%xmm7 .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,15,253,232 // paddw %xmm0,%xmm5 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,15,113,212,8 // psrlw $0x8,%xmm4 .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,116,36,64 // movdqa %xmm6,0x40(%esp) .byte 102,15,127,124,36,48 // movdqa %xmm7,0x30(%esp) .byte 102,15,127,92,36,32 // movdqa %xmm3,0x20(%esp) .byte 15,40,69,24 // movaps 0x18(%ebp),%xmm0 .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,111,213 // movdqa %xmm5,%xmm2 .byte 102,15,111,220 // movdqa %xmm4,%xmm3 .byte 255,22 // call *(%esi) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_dstatop_sse2_lowp .globl _sk_dstatop_sse2_lowp FUNCTION(_sk_dstatop_sse2_lowp) _sk_dstatop_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 232,0,0,0,0 // call 995e <_sk_dstatop_sse2_lowp+0xd> .byte 88 // pop %eax .byte 102,15,111,101,40 // movdqa 0x28(%ebp),%xmm4 .byte 102,15,111,117,24 // movdqa 0x18(%ebp),%xmm6 .byte 102,15,213,243 // pmullw %xmm3,%xmm6 .byte 102,15,111,184,130,57,0,0 // movdqa 0x3982(%eax),%xmm7 .byte 102,15,253,247 // paddw %xmm7,%xmm6 .byte 102,15,213,227 // pmullw %xmm3,%xmm4 .byte 102,15,253,231 // paddw %xmm7,%xmm4 .byte 102,15,111,109,56 // movdqa 0x38(%ebp),%xmm5 .byte 102,15,213,235 // pmullw %xmm3,%xmm5 .byte 102,15,253,239 // paddw %xmm7,%xmm5 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 102,15,253,223 // paddw %xmm7,%xmm3 .byte 102,15,249,125,72 // psubw 0x48(%ebp),%xmm7 .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,15,253,198 // paddw %xmm6,%xmm0 .byte 102,15,213,207 // pmullw %xmm7,%xmm1 .byte 102,15,253,204 // paddw %xmm4,%xmm1 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,15,253,213 // paddw %xmm5,%xmm2 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 141,126,4 // lea 0x4(%esi),%edi .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 15,40,101,24 // movaps 0x18(%ebp),%xmm4 .byte 15,41,100,36,16 // movaps %xmm4,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,22 // call *(%esi) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_srcin_sse2_lowp .globl _sk_srcin_sse2_lowp FUNCTION(_sk_srcin_sse2_lowp) _sk_srcin_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 232,0,0,0,0 // call 9a1f <_sk_srcin_sse2_lowp+0xd> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 15,40,101,24 // movaps 0x18(%ebp),%xmm4 .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 102,15,111,117,72 // movdqa 0x48(%ebp),%xmm6 .byte 102,15,213,198 // pmullw %xmm6,%xmm0 .byte 102,15,111,190,193,56,0,0 // movdqa 0x38c1(%esi),%xmm7 .byte 102,15,253,199 // paddw %xmm7,%xmm0 .byte 102,15,213,206 // pmullw %xmm6,%xmm1 .byte 102,15,253,207 // paddw %xmm7,%xmm1 .byte 102,15,213,214 // pmullw %xmm6,%xmm2 .byte 102,15,253,215 // paddw %xmm7,%xmm2 .byte 102,15,213,222 // pmullw %xmm6,%xmm3 .byte 102,15,253,223 // paddw %xmm7,%xmm3 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,116,36,64 // movdqa %xmm6,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 15,41,100,36,16 // movaps %xmm4,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,22 // call *(%esi) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_dstin_sse2_lowp .globl _sk_dstin_sse2_lowp FUNCTION(_sk_dstin_sse2_lowp) _sk_dstin_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 232,0,0,0,0 // call 9ab6 <_sk_dstin_sse2_lowp+0xd> .byte 88 // pop %eax .byte 102,15,111,85,56 // movdqa 0x38(%ebp),%xmm2 .byte 102,15,111,109,40 // movdqa 0x28(%ebp),%xmm5 .byte 102,15,111,117,24 // movdqa 0x18(%ebp),%xmm6 .byte 102,15,111,198 // movdqa %xmm6,%xmm0 .byte 102,15,213,195 // pmullw %xmm3,%xmm0 .byte 102,15,111,184,42,56,0,0 // movdqa 0x382a(%eax),%xmm7 .byte 102,15,253,199 // paddw %xmm7,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,213,203 // pmullw %xmm3,%xmm1 .byte 102,15,253,207 // paddw %xmm7,%xmm1 .byte 102,15,213,211 // pmullw %xmm3,%xmm2 .byte 102,15,253,215 // paddw %xmm7,%xmm2 .byte 102,15,111,101,72 // movdqa 0x48(%ebp),%xmm4 .byte 102,15,213,220 // pmullw %xmm4,%xmm3 .byte 102,15,253,223 // paddw %xmm7,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,100,36,64 // movdqa %xmm4,0x40(%esp) .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 102,15,127,108,36,32 // movdqa %xmm5,0x20(%esp) .byte 102,15,127,116,36,16 // movdqa %xmm6,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,22 // call *(%esi) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_srcout_sse2_lowp .globl _sk_srcout_sse2_lowp FUNCTION(_sk_srcout_sse2_lowp) _sk_srcout_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 232,0,0,0,0 // call 9b5e <_sk_srcout_sse2_lowp+0xd> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 15,40,101,24 // movaps 0x18(%ebp),%xmm4 .byte 102,15,111,109,72 // movdqa 0x48(%ebp),%xmm5 .byte 102,15,111,182,130,55,0,0 // movdqa 0x3782(%esi),%xmm6 .byte 102,15,111,254 // movdqa %xmm6,%xmm7 .byte 102,15,249,253 // psubw %xmm5,%xmm7 .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,15,213,207 // pmullw %xmm7,%xmm1 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 15,40,125,40 // movaps 0x28(%ebp),%xmm7 .byte 102,15,253,198 // paddw %xmm6,%xmm0 .byte 102,15,253,206 // paddw %xmm6,%xmm1 .byte 102,15,253,214 // paddw %xmm6,%xmm2 .byte 102,15,253,222 // paddw %xmm6,%xmm3 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,108,36,64 // movdqa %xmm5,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,124,36,32 // movaps %xmm7,0x20(%esp) .byte 15,41,100,36,16 // movaps %xmm4,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,22 // call *(%esi) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_dstout_sse2_lowp .globl _sk_dstout_sse2_lowp FUNCTION(_sk_dstout_sse2_lowp) _sk_dstout_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 232,0,0,0,0 // call 9c01 <_sk_dstout_sse2_lowp+0x11> .byte 88 // pop %eax .byte 102,15,111,109,56 // movdqa 0x38(%ebp),%xmm5 .byte 102,15,111,117,24 // movdqa 0x18(%ebp),%xmm6 .byte 102,15,111,184,223,54,0,0 // movdqa 0x36df(%eax),%xmm7 .byte 102,15,111,223 // movdqa %xmm7,%xmm3 .byte 102,15,249,216 // psubw %xmm0,%xmm3 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,213,198 // pmullw %xmm6,%xmm0 .byte 102,15,253,199 // paddw %xmm7,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,213,77,40 // pmullw 0x28(%ebp),%xmm1 .byte 102,15,253,207 // paddw %xmm7,%xmm1 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,213,213 // pmullw %xmm5,%xmm2 .byte 102,15,253,215 // paddw %xmm7,%xmm2 .byte 102,15,111,101,72 // movdqa 0x48(%ebp),%xmm4 .byte 102,15,213,220 // pmullw %xmm4,%xmm3 .byte 102,15,253,223 // paddw %xmm7,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,100,36,64 // movdqa %xmm4,0x40(%esp) .byte 102,15,127,108,36,48 // movdqa %xmm5,0x30(%esp) .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 102,15,127,116,36,16 // movdqa %xmm6,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,22 // call *(%esi) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_srcover_sse2_lowp .globl _sk_srcover_sse2_lowp FUNCTION(_sk_srcover_sse2_lowp) _sk_srcover_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,96 // sub $0x60,%esp .byte 15,41,85,232 // movaps %xmm2,-0x18(%ebp) .byte 102,15,111,209 // movdqa %xmm1,%xmm2 .byte 102,15,111,224 // movdqa %xmm0,%xmm4 .byte 232,0,0,0,0 // call 9cbd <_sk_srcover_sse2_lowp+0x19> .byte 88 // pop %eax .byte 102,15,111,136,35,54,0,0 // movdqa 0x3623(%eax),%xmm1 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,249,195 // psubw %xmm3,%xmm0 .byte 102,15,111,248 // movdqa %xmm0,%xmm7 .byte 102,15,213,125,24 // pmullw 0x18(%ebp),%xmm7 .byte 102,15,253,249 // paddw %xmm1,%xmm7 .byte 102,15,113,215,8 // psrlw $0x8,%xmm7 .byte 102,15,253,231 // paddw %xmm7,%xmm4 .byte 102,15,111,232 // movdqa %xmm0,%xmm5 .byte 102,15,213,109,40 // pmullw 0x28(%ebp),%xmm5 .byte 102,15,253,233 // paddw %xmm1,%xmm5 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,15,253,213 // paddw %xmm5,%xmm2 .byte 102,15,111,234 // movdqa %xmm2,%xmm5 .byte 102,15,111,125,56 // movdqa 0x38(%ebp),%xmm7 .byte 102,15,111,240 // movdqa %xmm0,%xmm6 .byte 102,15,213,247 // pmullw %xmm7,%xmm6 .byte 102,15,253,241 // paddw %xmm1,%xmm6 .byte 102,15,113,214,8 // psrlw $0x8,%xmm6 .byte 102,15,111,85,232 // movdqa -0x18(%ebp),%xmm2 .byte 102,15,253,214 // paddw %xmm6,%xmm2 .byte 102,15,111,117,72 // movdqa 0x48(%ebp),%xmm6 .byte 102,15,213,198 // pmullw %xmm6,%xmm0 .byte 102,15,253,193 // paddw %xmm1,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,253,216 // paddw %xmm0,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,116,36,64 // movdqa %xmm6,0x40(%esp) .byte 102,15,127,124,36,48 // movdqa %xmm7,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 15,40,69,24 // movaps 0x18(%ebp),%xmm0 .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 255,22 // call *(%esi) .byte 131,196,96 // add $0x60,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_dstover_sse2_lowp .globl _sk_dstover_sse2_lowp FUNCTION(_sk_dstover_sse2_lowp) _sk_dstover_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 232,0,0,0,0 // call 9d8d <_sk_dstover_sse2_lowp+0xd> .byte 95 // pop %edi .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 102,15,111,101,56 // movdqa 0x38(%ebp),%xmm4 .byte 102,15,111,109,72 // movdqa 0x48(%ebp),%xmm5 .byte 102,15,111,183,83,53,0,0 // movdqa 0x3553(%edi),%xmm6 .byte 102,15,111,254 // movdqa %xmm6,%xmm7 .byte 102,15,249,253 // psubw %xmm5,%xmm7 .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,15,213,207 // pmullw %xmm7,%xmm1 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 102,15,111,125,40 // movdqa 0x28(%ebp),%xmm7 .byte 102,15,253,198 // paddw %xmm6,%xmm0 .byte 102,15,253,206 // paddw %xmm6,%xmm1 .byte 102,15,253,214 // paddw %xmm6,%xmm2 .byte 102,15,253,222 // paddw %xmm6,%xmm3 .byte 102,15,111,117,24 // movdqa 0x18(%ebp),%xmm6 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,253,198 // paddw %xmm6,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,253,207 // paddw %xmm7,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,253,212 // paddw %xmm4,%xmm2 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,253,221 // paddw %xmm5,%xmm3 .byte 141,120,4 // lea 0x4(%eax),%edi .byte 102,15,127,108,36,64 // movdqa %xmm5,0x40(%esp) .byte 102,15,127,100,36,48 // movdqa %xmm4,0x30(%esp) .byte 102,15,127,124,36,32 // movdqa %xmm7,0x20(%esp) .byte 102,15,127,116,36,16 // movdqa %xmm6,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 255,16 // call *(%eax) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_modulate_sse2_lowp .globl _sk_modulate_sse2_lowp FUNCTION(_sk_modulate_sse2_lowp) _sk_modulate_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 232,0,0,0,0 // call 9e42 <_sk_modulate_sse2_lowp+0xd> .byte 88 // pop %eax .byte 102,15,111,109,40 // movdqa 0x28(%ebp),%xmm5 .byte 102,15,111,117,24 // movdqa 0x18(%ebp),%xmm6 .byte 102,15,213,198 // pmullw %xmm6,%xmm0 .byte 102,15,111,184,158,52,0,0 // movdqa 0x349e(%eax),%xmm7 .byte 102,15,253,199 // paddw %xmm7,%xmm0 .byte 102,15,213,205 // pmullw %xmm5,%xmm1 .byte 102,15,253,207 // paddw %xmm7,%xmm1 .byte 102,15,213,85,56 // pmullw 0x38(%ebp),%xmm2 .byte 102,15,253,215 // paddw %xmm7,%xmm2 .byte 102,15,111,101,72 // movdqa 0x48(%ebp),%xmm4 .byte 102,15,213,220 // pmullw %xmm4,%xmm3 .byte 102,15,253,223 // paddw %xmm7,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,100,36,64 // movdqa %xmm4,0x40(%esp) .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 102,15,127,108,36,32 // movdqa %xmm5,0x20(%esp) .byte 102,15,127,116,36,16 // movdqa %xmm6,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,22 // call *(%esi) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_multiply_sse2_lowp .globl _sk_multiply_sse2_lowp FUNCTION(_sk_multiply_sse2_lowp) _sk_multiply_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 232,0,0,0,0 // call 9ede <_sk_multiply_sse2_lowp+0xd> .byte 88 // pop %eax .byte 102,15,111,109,24 // movdqa 0x18(%ebp),%xmm5 .byte 102,15,111,160,2,52,0,0 // movdqa 0x3402(%eax),%xmm4 .byte 102,15,111,245 // movdqa %xmm5,%xmm6 .byte 102,15,253,244 // paddw %xmm4,%xmm6 .byte 102,15,249,117,72 // psubw 0x48(%ebp),%xmm6 .byte 102,15,213,198 // pmullw %xmm6,%xmm0 .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 102,15,249,243 // psubw %xmm3,%xmm6 .byte 102,15,111,254 // movdqa %xmm6,%xmm7 .byte 102,15,213,253 // pmullw %xmm5,%xmm7 .byte 102,15,253,252 // paddw %xmm4,%xmm7 .byte 102,15,253,199 // paddw %xmm7,%xmm0 .byte 102,15,111,125,40 // movdqa 0x28(%ebp),%xmm7 .byte 102,15,253,252 // paddw %xmm4,%xmm7 .byte 102,15,111,109,72 // movdqa 0x48(%ebp),%xmm5 .byte 102,15,249,253 // psubw %xmm5,%xmm7 .byte 102,15,213,207 // pmullw %xmm7,%xmm1 .byte 102,15,111,254 // movdqa %xmm6,%xmm7 .byte 102,15,213,125,40 // pmullw 0x28(%ebp),%xmm7 .byte 102,15,253,252 // paddw %xmm4,%xmm7 .byte 102,15,253,207 // paddw %xmm7,%xmm1 .byte 102,15,111,125,56 // movdqa 0x38(%ebp),%xmm7 .byte 102,15,253,252 // paddw %xmm4,%xmm7 .byte 102,15,249,253 // psubw %xmm5,%xmm7 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,15,111,254 // movdqa %xmm6,%xmm7 .byte 102,15,213,125,56 // pmullw 0x38(%ebp),%xmm7 .byte 102,15,253,252 // paddw %xmm4,%xmm7 .byte 102,15,253,215 // paddw %xmm7,%xmm2 .byte 102,15,213,220 // pmullw %xmm4,%xmm3 .byte 102,15,253,220 // paddw %xmm4,%xmm3 .byte 102,15,213,245 // pmullw %xmm5,%xmm6 .byte 102,15,253,222 // paddw %xmm6,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,108,36,64 // movdqa %xmm5,0x40(%esp) .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 15,40,101,24 // movaps 0x18(%ebp),%xmm4 .byte 15,41,100,36,16 // movaps %xmm4,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,22 // call *(%esi) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_plus__sse2_lowp .globl _sk_plus__sse2_lowp FUNCTION(_sk_plus__sse2_lowp) _sk_plus__sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,96 // sub $0x60,%esp .byte 102,15,111,225 // movdqa %xmm1,%xmm4 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 232,0,0,0,0 // call 9fdf <_sk_plus__sse2_lowp+0x15> .byte 88 // pop %eax .byte 102,15,253,77,24 // paddw 0x18(%ebp),%xmm1 .byte 102,15,111,168,17,51,0,0 // movdqa 0x3311(%eax),%xmm5 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,217,197 // psubusw %xmm5,%xmm0 .byte 102,15,127,109,232 // movdqa %xmm5,-0x18(%ebp) .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 102,15,117,199 // pcmpeqw %xmm7,%xmm0 .byte 102,15,219,200 // pand %xmm0,%xmm1 .byte 102,15,111,176,1,51,0,0 // movdqa 0x3301(%eax),%xmm6 .byte 102,15,223,198 // pandn %xmm6,%xmm0 .byte 102,15,235,193 // por %xmm1,%xmm0 .byte 102,15,253,101,40 // paddw 0x28(%ebp),%xmm4 .byte 102,15,111,204 // movdqa %xmm4,%xmm1 .byte 102,15,217,205 // psubusw %xmm5,%xmm1 .byte 102,15,117,207 // pcmpeqw %xmm7,%xmm1 .byte 102,15,219,225 // pand %xmm1,%xmm4 .byte 102,15,223,206 // pandn %xmm6,%xmm1 .byte 102,15,235,204 // por %xmm4,%xmm1 .byte 102,15,253,85,56 // paddw 0x38(%ebp),%xmm2 .byte 102,15,111,226 // movdqa %xmm2,%xmm4 .byte 102,15,217,229 // psubusw %xmm5,%xmm4 .byte 102,15,117,231 // pcmpeqw %xmm7,%xmm4 .byte 102,15,219,212 // pand %xmm4,%xmm2 .byte 102,15,223,230 // pandn %xmm6,%xmm4 .byte 102,15,235,226 // por %xmm2,%xmm4 .byte 102,15,111,85,72 // movdqa 0x48(%ebp),%xmm2 .byte 102,15,253,218 // paddw %xmm2,%xmm3 .byte 102,15,111,235 // movdqa %xmm3,%xmm5 .byte 102,15,217,109,232 // psubusw -0x18(%ebp),%xmm5 .byte 102,15,117,239 // pcmpeqw %xmm7,%xmm5 .byte 102,15,219,221 // pand %xmm5,%xmm3 .byte 102,15,223,238 // pandn %xmm6,%xmm5 .byte 102,15,235,235 // por %xmm3,%xmm5 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,84,36,64 // movdqa %xmm2,0x40(%esp) .byte 15,40,85,56 // movaps 0x38(%ebp),%xmm2 .byte 15,41,84,36,48 // movaps %xmm2,0x30(%esp) .byte 15,40,85,40 // movaps 0x28(%ebp),%xmm2 .byte 15,41,84,36,32 // movaps %xmm2,0x20(%esp) .byte 15,40,85,24 // movaps 0x18(%ebp),%xmm2 .byte 15,41,84,36,16 // movaps %xmm2,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 102,15,111,221 // movdqa %xmm5,%xmm3 .byte 255,22 // call *(%esi) .byte 131,196,96 // add $0x60,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_screen_sse2_lowp .globl _sk_screen_sse2_lowp FUNCTION(_sk_screen_sse2_lowp) _sk_screen_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 102,15,111,225 // movdqa %xmm1,%xmm4 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 232,0,0,0,0 // call a0d7 <_sk_screen_sse2_lowp+0x15> .byte 88 // pop %eax .byte 102,15,111,109,40 // movdqa 0x28(%ebp),%xmm5 .byte 102,15,111,117,24 // movdqa 0x18(%ebp),%xmm6 .byte 102,15,111,198 // movdqa %xmm6,%xmm0 .byte 102,15,253,193 // paddw %xmm1,%xmm0 .byte 102,15,213,206 // pmullw %xmm6,%xmm1 .byte 102,15,111,176,9,50,0,0 // movdqa 0x3209(%eax),%xmm6 .byte 102,15,253,206 // paddw %xmm6,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,249,193 // psubw %xmm1,%xmm0 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,253,204 // paddw %xmm4,%xmm1 .byte 102,15,213,229 // pmullw %xmm5,%xmm4 .byte 102,15,253,230 // paddw %xmm6,%xmm4 .byte 102,15,113,212,8 // psrlw $0x8,%xmm4 .byte 102,15,249,204 // psubw %xmm4,%xmm1 .byte 102,15,111,125,56 // movdqa 0x38(%ebp),%xmm7 .byte 102,15,111,231 // movdqa %xmm7,%xmm4 .byte 102,15,253,226 // paddw %xmm2,%xmm4 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,15,253,214 // paddw %xmm6,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,249,226 // psubw %xmm2,%xmm4 .byte 102,15,111,85,72 // movdqa 0x48(%ebp),%xmm2 .byte 102,15,111,234 // movdqa %xmm2,%xmm5 .byte 102,15,253,235 // paddw %xmm3,%xmm5 .byte 102,15,213,218 // pmullw %xmm2,%xmm3 .byte 102,15,253,222 // paddw %xmm6,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,249,235 // psubw %xmm3,%xmm5 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,84,36,64 // movdqa %xmm2,0x40(%esp) .byte 102,15,127,124,36,48 // movdqa %xmm7,0x30(%esp) .byte 15,40,85,40 // movaps 0x28(%ebp),%xmm2 .byte 15,41,84,36,32 // movaps %xmm2,0x20(%esp) .byte 15,40,85,24 // movaps 0x18(%ebp),%xmm2 .byte 15,41,84,36,16 // movaps %xmm2,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 102,15,111,221 // movdqa %xmm5,%xmm3 .byte 255,22 // call *(%esi) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_xor__sse2_lowp .globl _sk_xor__sse2_lowp FUNCTION(_sk_xor__sse2_lowp) _sk_xor__sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,96 // sub $0x60,%esp .byte 102,15,127,93,232 // movdqa %xmm3,-0x18(%ebp) .byte 232,0,0,0,0 // call a1b7 <_sk_xor__sse2_lowp+0x12> .byte 88 // pop %eax .byte 102,15,111,176,41,49,0,0 // movdqa 0x3129(%eax),%xmm6 .byte 102,15,111,254 // movdqa %xmm6,%xmm7 .byte 102,15,249,125,72 // psubw 0x48(%ebp),%xmm7 .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,15,111,238 // movdqa %xmm6,%xmm5 .byte 102,15,249,235 // psubw %xmm3,%xmm5 .byte 102,15,111,221 // movdqa %xmm5,%xmm3 .byte 102,15,213,93,24 // pmullw 0x18(%ebp),%xmm3 .byte 102,15,253,195 // paddw %xmm3,%xmm0 .byte 102,15,213,207 // pmullw %xmm7,%xmm1 .byte 102,15,111,221 // movdqa %xmm5,%xmm3 .byte 102,15,213,93,40 // pmullw 0x28(%ebp),%xmm3 .byte 102,15,253,203 // paddw %xmm3,%xmm1 .byte 102,15,213,215 // pmullw %xmm7,%xmm2 .byte 102,15,111,93,56 // movdqa 0x38(%ebp),%xmm3 .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,15,213,227 // pmullw %xmm3,%xmm4 .byte 102,15,253,212 // paddw %xmm4,%xmm2 .byte 102,15,213,125,232 // pmullw -0x18(%ebp),%xmm7 .byte 102,15,111,101,72 // movdqa 0x48(%ebp),%xmm4 .byte 102,15,213,236 // pmullw %xmm4,%xmm5 .byte 102,15,253,239 // paddw %xmm7,%xmm5 .byte 102,15,253,198 // paddw %xmm6,%xmm0 .byte 102,15,253,206 // paddw %xmm6,%xmm1 .byte 102,15,253,214 // paddw %xmm6,%xmm2 .byte 102,15,253,238 // paddw %xmm6,%xmm5 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,100,36,64 // movdqa %xmm4,0x40(%esp) .byte 102,15,127,92,36,48 // movdqa %xmm3,0x30(%esp) .byte 15,40,93,40 // movaps 0x28(%ebp),%xmm3 .byte 15,41,92,36,32 // movaps %xmm3,0x20(%esp) .byte 15,40,93,24 // movaps 0x18(%ebp),%xmm3 .byte 15,41,92,36,16 // movaps %xmm3,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 102,15,111,221 // movdqa %xmm5,%xmm3 .byte 255,22 // call *(%esi) .byte 131,196,96 // add $0x60,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_darken_sse2_lowp .globl _sk_darken_sse2_lowp FUNCTION(_sk_darken_sse2_lowp) _sk_darken_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,144,0,0,0 // sub $0x90,%esp .byte 102,15,111,251 // movdqa %xmm3,%xmm7 .byte 102,15,127,125,216 // movdqa %xmm7,-0x28(%ebp) .byte 15,41,85,200 // movaps %xmm2,-0x38(%ebp) .byte 102,15,111,225 // movdqa %xmm1,%xmm4 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 232,0,0,0,0 // call a2ac <_sk_darken_sse2_lowp+0x25> .byte 88 // pop %eax .byte 102,15,111,117,72 // movdqa 0x48(%ebp),%xmm6 .byte 102,15,111,109,24 // movdqa 0x18(%ebp),%xmm5 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,253,193 // paddw %xmm1,%xmm0 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,15,213,206 // pmullw %xmm6,%xmm1 .byte 102,15,111,222 // movdqa %xmm6,%xmm3 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,15,111,184,84,48,0,0 // movdqa 0x3054(%eax),%xmm7 .byte 102,15,111,241 // movdqa %xmm1,%xmm6 .byte 102,15,239,247 // pxor %xmm7,%xmm6 .byte 102,15,111,232 // movdqa %xmm0,%xmm5 .byte 102,15,239,239 // pxor %xmm7,%xmm5 .byte 102,15,101,238 // pcmpgtw %xmm6,%xmm5 .byte 102,15,219,197 // pand %xmm5,%xmm0 .byte 102,15,223,233 // pandn %xmm1,%xmm5 .byte 102,15,235,232 // por %xmm0,%xmm5 .byte 102,15,111,128,52,48,0,0 // movdqa 0x3034(%eax),%xmm0 .byte 102,15,127,69,232 // movdqa %xmm0,-0x18(%ebp) .byte 102,15,253,232 // paddw %xmm0,%xmm5 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,15,249,213 // psubw %xmm5,%xmm2 .byte 102,15,127,85,184 // movdqa %xmm2,-0x48(%ebp) .byte 102,15,111,77,40 // movdqa 0x28(%ebp),%xmm1 .byte 102,15,111,241 // movdqa %xmm1,%xmm6 .byte 102,15,253,244 // paddw %xmm4,%xmm6 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,213,224 // pmullw %xmm0,%xmm4 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,15,111,93,216 // movdqa -0x28(%ebp),%xmm3 .byte 102,15,213,203 // pmullw %xmm3,%xmm1 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,239,239 // pxor %xmm7,%xmm5 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,239,199 // pxor %xmm7,%xmm0 .byte 102,15,101,197 // pcmpgtw %xmm5,%xmm0 .byte 102,15,219,200 // pand %xmm0,%xmm1 .byte 102,15,223,196 // pandn %xmm4,%xmm0 .byte 102,15,235,193 // por %xmm1,%xmm0 .byte 102,15,253,69,232 // paddw -0x18(%ebp),%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,249,240 // psubw %xmm0,%xmm6 .byte 102,15,111,109,56 // movdqa 0x38(%ebp),%xmm5 .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,15,111,69,200 // movdqa -0x38(%ebp),%xmm0 .byte 102,15,253,224 // paddw %xmm0,%xmm4 .byte 102,15,213,194 // pmullw %xmm2,%xmm0 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,213,195 // pmullw %xmm3,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,239,207 // pxor %xmm7,%xmm1 .byte 102,15,239,248 // pxor %xmm0,%xmm7 .byte 102,15,101,249 // pcmpgtw %xmm1,%xmm7 .byte 102,15,219,199 // pand %xmm7,%xmm0 .byte 102,15,223,250 // pandn %xmm2,%xmm7 .byte 102,15,235,248 // por %xmm0,%xmm7 .byte 102,15,111,77,232 // movdqa -0x18(%ebp),%xmm1 .byte 102,15,253,249 // paddw %xmm1,%xmm7 .byte 102,15,113,215,8 // psrlw $0x8,%xmm7 .byte 102,15,249,231 // psubw %xmm7,%xmm4 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,111,209 // movdqa %xmm1,%xmm2 .byte 102,15,249,195 // psubw %xmm3,%xmm0 .byte 102,15,111,125,72 // movdqa 0x48(%ebp),%xmm7 .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,15,253,194 // paddw %xmm2,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,253,216 // paddw %xmm0,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,124,36,64 // movdqa %xmm7,0x40(%esp) .byte 102,15,127,108,36,48 // movdqa %xmm5,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 15,40,69,24 // movaps 0x18(%ebp),%xmm0 .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,69,184 // movaps -0x48(%ebp),%xmm0 .byte 102,15,111,206 // movdqa %xmm6,%xmm1 .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 255,22 // call *(%esi) .byte 129,196,144,0,0,0 // add $0x90,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_lighten_sse2_lowp .globl _sk_lighten_sse2_lowp FUNCTION(_sk_lighten_sse2_lowp) _sk_lighten_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,144,0,0,0 // sub $0x90,%esp .byte 102,15,111,243 // movdqa %xmm3,%xmm6 .byte 102,15,127,117,216 // movdqa %xmm6,-0x28(%ebp) .byte 15,41,85,200 // movaps %xmm2,-0x38(%ebp) .byte 102,15,111,225 // movdqa %xmm1,%xmm4 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 232,0,0,0,0 // call a455 <_sk_lighten_sse2_lowp+0x25> .byte 88 // pop %eax .byte 102,15,111,109,24 // movdqa 0x18(%ebp),%xmm5 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,253,193 // paddw %xmm1,%xmm0 .byte 102,15,111,216 // movdqa %xmm0,%xmm3 .byte 102,15,213,77,72 // pmullw 0x48(%ebp),%xmm1 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,213,198 // pmullw %xmm6,%xmm0 .byte 102,15,111,184,171,46,0,0 // movdqa 0x2eab(%eax),%xmm7 .byte 102,15,111,241 // movdqa %xmm1,%xmm6 .byte 102,15,239,247 // pxor %xmm7,%xmm6 .byte 102,15,111,232 // movdqa %xmm0,%xmm5 .byte 102,15,239,239 // pxor %xmm7,%xmm5 .byte 102,15,101,238 // pcmpgtw %xmm6,%xmm5 .byte 102,15,219,205 // pand %xmm5,%xmm1 .byte 102,15,223,232 // pandn %xmm0,%xmm5 .byte 102,15,235,233 // por %xmm1,%xmm5 .byte 102,15,111,128,139,46,0,0 // movdqa 0x2e8b(%eax),%xmm0 .byte 102,15,253,232 // paddw %xmm0,%xmm5 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,15,127,85,232 // movdqa %xmm2,-0x18(%ebp) .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,15,249,221 // psubw %xmm5,%xmm3 .byte 102,15,127,93,184 // movdqa %xmm3,-0x48(%ebp) .byte 102,15,111,77,40 // movdqa 0x28(%ebp),%xmm1 .byte 102,15,111,241 // movdqa %xmm1,%xmm6 .byte 102,15,253,244 // paddw %xmm4,%xmm6 .byte 102,15,111,69,72 // movdqa 0x48(%ebp),%xmm0 .byte 102,15,213,224 // pmullw %xmm0,%xmm4 .byte 102,15,111,93,216 // movdqa -0x28(%ebp),%xmm3 .byte 102,15,213,203 // pmullw %xmm3,%xmm1 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,239,239 // pxor %xmm7,%xmm5 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,239,199 // pxor %xmm7,%xmm0 .byte 102,15,101,197 // pcmpgtw %xmm5,%xmm0 .byte 102,15,219,224 // pand %xmm0,%xmm4 .byte 102,15,223,193 // pandn %xmm1,%xmm0 .byte 102,15,235,196 // por %xmm4,%xmm0 .byte 102,15,253,194 // paddw %xmm2,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,249,240 // psubw %xmm0,%xmm6 .byte 102,15,111,109,56 // movdqa 0x38(%ebp),%xmm5 .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,15,111,85,200 // movdqa -0x38(%ebp),%xmm2 .byte 102,15,253,226 // paddw %xmm2,%xmm4 .byte 102,15,213,85,72 // pmullw 0x48(%ebp),%xmm2 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,213,195 // pmullw %xmm3,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,239,207 // pxor %xmm7,%xmm1 .byte 102,15,239,248 // pxor %xmm0,%xmm7 .byte 102,15,101,249 // pcmpgtw %xmm1,%xmm7 .byte 102,15,219,215 // pand %xmm7,%xmm2 .byte 102,15,223,248 // pandn %xmm0,%xmm7 .byte 102,15,235,250 // por %xmm2,%xmm7 .byte 102,15,111,77,232 // movdqa -0x18(%ebp),%xmm1 .byte 102,15,253,249 // paddw %xmm1,%xmm7 .byte 102,15,113,215,8 // psrlw $0x8,%xmm7 .byte 102,15,249,231 // psubw %xmm7,%xmm4 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,111,249 // movdqa %xmm1,%xmm7 .byte 102,15,249,195 // psubw %xmm3,%xmm0 .byte 102,15,111,85,72 // movdqa 0x48(%ebp),%xmm2 .byte 102,15,213,194 // pmullw %xmm2,%xmm0 .byte 102,15,253,199 // paddw %xmm7,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,253,216 // paddw %xmm0,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,84,36,64 // movdqa %xmm2,0x40(%esp) .byte 102,15,127,108,36,48 // movdqa %xmm5,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 15,40,69,24 // movaps 0x18(%ebp),%xmm0 .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,69,184 // movaps -0x48(%ebp),%xmm0 .byte 102,15,111,206 // movdqa %xmm6,%xmm1 .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 255,22 // call *(%esi) .byte 129,196,144,0,0,0 // add $0x90,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_difference_sse2_lowp .globl _sk_difference_sse2_lowp FUNCTION(_sk_difference_sse2_lowp) _sk_difference_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,160,0,0,0 // sub $0xa0,%esp .byte 102,15,111,251 // movdqa %xmm3,%xmm7 .byte 102,15,127,125,200 // movdqa %xmm7,-0x38(%ebp) .byte 15,41,85,184 // movaps %xmm2,-0x48(%ebp) .byte 102,15,111,225 // movdqa %xmm1,%xmm4 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 232,0,0,0,0 // call a5f3 <_sk_difference_sse2_lowp+0x25> .byte 88 // pop %eax .byte 102,15,111,117,72 // movdqa 0x48(%ebp),%xmm6 .byte 102,15,111,109,24 // movdqa 0x18(%ebp),%xmm5 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,253,193 // paddw %xmm1,%xmm0 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,15,213,206 // pmullw %xmm6,%xmm1 .byte 102,15,111,222 // movdqa %xmm6,%xmm3 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,15,111,184,13,45,0,0 // movdqa 0x2d0d(%eax),%xmm7 .byte 102,15,111,241 // movdqa %xmm1,%xmm6 .byte 102,15,239,247 // pxor %xmm7,%xmm6 .byte 102,15,111,232 // movdqa %xmm0,%xmm5 .byte 102,15,239,239 // pxor %xmm7,%xmm5 .byte 102,15,101,238 // pcmpgtw %xmm6,%xmm5 .byte 102,15,219,205 // pand %xmm5,%xmm1 .byte 102,15,223,232 // pandn %xmm0,%xmm5 .byte 102,15,235,233 // por %xmm1,%xmm5 .byte 102,15,111,128,237,44,0,0 // movdqa 0x2ced(%eax),%xmm0 .byte 102,15,127,69,216 // movdqa %xmm0,-0x28(%ebp) .byte 102,15,253,232 // paddw %xmm0,%xmm5 .byte 102,15,113,213,7 // psrlw $0x7,%xmm5 .byte 102,15,111,128,29,45,0,0 // movdqa 0x2d1d(%eax),%xmm0 .byte 102,15,127,69,232 // movdqa %xmm0,-0x18(%ebp) .byte 102,15,219,232 // pand %xmm0,%xmm5 .byte 102,15,249,213 // psubw %xmm5,%xmm2 .byte 102,15,127,85,168 // movdqa %xmm2,-0x58(%ebp) .byte 102,15,111,77,40 // movdqa 0x28(%ebp),%xmm1 .byte 102,15,111,241 // movdqa %xmm1,%xmm6 .byte 102,15,253,244 // paddw %xmm4,%xmm6 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,213,224 // pmullw %xmm0,%xmm4 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,15,111,93,200 // movdqa -0x38(%ebp),%xmm3 .byte 102,15,213,203 // pmullw %xmm3,%xmm1 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,239,239 // pxor %xmm7,%xmm5 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,239,199 // pxor %xmm7,%xmm0 .byte 102,15,101,197 // pcmpgtw %xmm5,%xmm0 .byte 102,15,219,224 // pand %xmm0,%xmm4 .byte 102,15,223,193 // pandn %xmm1,%xmm0 .byte 102,15,235,196 // por %xmm4,%xmm0 .byte 102,15,253,69,216 // paddw -0x28(%ebp),%xmm0 .byte 102,15,113,208,7 // psrlw $0x7,%xmm0 .byte 102,15,219,69,232 // pand -0x18(%ebp),%xmm0 .byte 102,15,249,240 // psubw %xmm0,%xmm6 .byte 102,15,111,109,56 // movdqa 0x38(%ebp),%xmm5 .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,15,111,69,184 // movdqa -0x48(%ebp),%xmm0 .byte 102,15,253,224 // paddw %xmm0,%xmm4 .byte 102,15,213,194 // pmullw %xmm2,%xmm0 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,213,195 // pmullw %xmm3,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,239,207 // pxor %xmm7,%xmm1 .byte 102,15,239,248 // pxor %xmm0,%xmm7 .byte 102,15,101,249 // pcmpgtw %xmm1,%xmm7 .byte 102,15,219,215 // pand %xmm7,%xmm2 .byte 102,15,223,248 // pandn %xmm0,%xmm7 .byte 102,15,235,250 // por %xmm2,%xmm7 .byte 102,15,111,77,216 // movdqa -0x28(%ebp),%xmm1 .byte 102,15,253,249 // paddw %xmm1,%xmm7 .byte 102,15,113,215,7 // psrlw $0x7,%xmm7 .byte 102,15,219,125,232 // pand -0x18(%ebp),%xmm7 .byte 102,15,249,231 // psubw %xmm7,%xmm4 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,111,249 // movdqa %xmm1,%xmm7 .byte 102,15,249,195 // psubw %xmm3,%xmm0 .byte 102,15,111,85,72 // movdqa 0x48(%ebp),%xmm2 .byte 102,15,213,194 // pmullw %xmm2,%xmm0 .byte 102,15,253,199 // paddw %xmm7,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,253,216 // paddw %xmm0,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,84,36,64 // movdqa %xmm2,0x40(%esp) .byte 102,15,127,108,36,48 // movdqa %xmm5,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 15,40,69,24 // movaps 0x18(%ebp),%xmm0 .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,69,168 // movaps -0x58(%ebp),%xmm0 .byte 102,15,111,206 // movdqa %xmm6,%xmm1 .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 255,22 // call *(%esi) .byte 129,196,160,0,0,0 // add $0xa0,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_exclusion_sse2_lowp .globl _sk_exclusion_sse2_lowp FUNCTION(_sk_exclusion_sse2_lowp) _sk_exclusion_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 102,15,111,225 // movdqa %xmm1,%xmm4 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 232,0,0,0,0 // call a7a7 <_sk_exclusion_sse2_lowp+0x15> .byte 88 // pop %eax .byte 102,15,111,109,24 // movdqa 0x18(%ebp),%xmm5 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,253,193 // paddw %xmm1,%xmm0 .byte 102,15,213,205 // pmullw %xmm5,%xmm1 .byte 102,15,111,184,57,43,0,0 // movdqa 0x2b39(%eax),%xmm7 .byte 102,15,253,207 // paddw %xmm7,%xmm1 .byte 102,15,113,209,7 // psrlw $0x7,%xmm1 .byte 102,15,111,176,105,43,0,0 // movdqa 0x2b69(%eax),%xmm6 .byte 102,15,219,206 // pand %xmm6,%xmm1 .byte 102,15,249,193 // psubw %xmm1,%xmm0 .byte 102,15,111,109,40 // movdqa 0x28(%ebp),%xmm5 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,253,204 // paddw %xmm4,%xmm1 .byte 102,15,213,229 // pmullw %xmm5,%xmm4 .byte 102,15,253,231 // paddw %xmm7,%xmm4 .byte 102,15,113,212,7 // psrlw $0x7,%xmm4 .byte 102,15,219,230 // pand %xmm6,%xmm4 .byte 102,15,249,204 // psubw %xmm4,%xmm1 .byte 102,15,111,109,56 // movdqa 0x38(%ebp),%xmm5 .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,15,253,226 // paddw %xmm2,%xmm4 .byte 102,15,213,213 // pmullw %xmm5,%xmm2 .byte 102,15,253,215 // paddw %xmm7,%xmm2 .byte 102,15,113,210,7 // psrlw $0x7,%xmm2 .byte 102,15,219,214 // pand %xmm6,%xmm2 .byte 102,15,249,226 // psubw %xmm2,%xmm4 .byte 102,15,111,215 // movdqa %xmm7,%xmm2 .byte 102,15,249,211 // psubw %xmm3,%xmm2 .byte 102,15,111,117,72 // movdqa 0x48(%ebp),%xmm6 .byte 102,15,213,214 // pmullw %xmm6,%xmm2 .byte 102,15,253,215 // paddw %xmm7,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,253,218 // paddw %xmm2,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,116,36,64 // movdqa %xmm6,0x40(%esp) .byte 102,15,127,108,36,48 // movdqa %xmm5,0x30(%esp) .byte 15,40,85,40 // movaps 0x28(%ebp),%xmm2 .byte 15,41,84,36,32 // movaps %xmm2,0x20(%esp) .byte 15,40,85,24 // movaps 0x18(%ebp),%xmm2 .byte 15,41,84,36,16 // movaps %xmm2,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 255,22 // call *(%esi) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_hardlight_sse2_lowp .globl _sk_hardlight_sse2_lowp FUNCTION(_sk_hardlight_sse2_lowp) _sk_hardlight_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,176,0,0,0 // sub $0xb0,%esp .byte 15,41,85,152 // movaps %xmm2,-0x68(%ebp) .byte 102,15,111,233 // movdqa %xmm1,%xmm5 .byte 102,15,111,224 // movdqa %xmm0,%xmm4 .byte 232,0,0,0,0 // call a8a1 <_sk_hardlight_sse2_lowp+0x1c> .byte 88 // pop %eax .byte 102,15,111,184,63,42,0,0 // movdqa 0x2a3f(%eax),%xmm7 .byte 102,15,127,125,200 // movdqa %xmm7,-0x38(%ebp) .byte 102,15,111,215 // movdqa %xmm7,%xmm2 .byte 102,15,249,85,72 // psubw 0x48(%ebp),%xmm2 .byte 102,15,127,85,168 // movdqa %xmm2,-0x58(%ebp) .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,213,196 // pmullw %xmm4,%xmm0 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,249,250 // psubw %xmm2,%xmm7 .byte 102,15,127,125,232 // movdqa %xmm7,-0x18(%ebp) .byte 102,15,111,117,24 // movdqa 0x18(%ebp),%xmm6 .byte 102,15,213,254 // pmullw %xmm6,%xmm7 .byte 102,15,253,248 // paddw %xmm0,%xmm7 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,249,196 // psubw %xmm4,%xmm0 .byte 102,15,111,93,72 // movdqa 0x48(%ebp),%xmm3 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,249,206 // psubw %xmm6,%xmm1 .byte 102,15,213,200 // pmullw %xmm0,%xmm1 .byte 102,15,111,243 // movdqa %xmm3,%xmm6 .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,15,127,93,216 // movdqa %xmm3,-0x28(%ebp) .byte 102,15,213,243 // pmullw %xmm3,%xmm6 .byte 102,15,253,201 // paddw %xmm1,%xmm1 .byte 102,15,111,214 // movdqa %xmm6,%xmm2 .byte 102,15,249,209 // psubw %xmm1,%xmm2 .byte 102,15,253,228 // paddw %xmm4,%xmm4 .byte 102,15,111,128,95,42,0,0 // movdqa 0x2a5f(%eax),%xmm0 .byte 102,15,239,216 // pxor %xmm0,%xmm3 .byte 102,15,127,93,184 // movdqa %xmm3,-0x48(%ebp) .byte 102,15,111,204 // movdqa %xmm4,%xmm1 .byte 102,15,239,200 // pxor %xmm0,%xmm1 .byte 102,15,101,203 // pcmpgtw %xmm3,%xmm1 .byte 102,15,213,101,24 // pmullw 0x18(%ebp),%xmm4 .byte 102,15,219,209 // pand %xmm1,%xmm2 .byte 102,15,223,204 // pandn %xmm4,%xmm1 .byte 102,15,235,202 // por %xmm2,%xmm1 .byte 102,15,253,125,200 // paddw -0x38(%ebp),%xmm7 .byte 102,15,253,207 // paddw %xmm7,%xmm1 .byte 102,15,111,85,168 // movdqa -0x58(%ebp),%xmm2 .byte 102,15,213,213 // pmullw %xmm5,%xmm2 .byte 102,15,111,93,40 // movdqa 0x28(%ebp),%xmm3 .byte 102,15,111,125,232 // movdqa -0x18(%ebp),%xmm7 .byte 102,15,213,251 // pmullw %xmm3,%xmm7 .byte 102,15,253,250 // paddw %xmm2,%xmm7 .byte 102,15,111,85,216 // movdqa -0x28(%ebp),%xmm2 .byte 102,15,249,213 // psubw %xmm5,%xmm2 .byte 102,15,111,101,72 // movdqa 0x48(%ebp),%xmm4 .byte 102,15,249,227 // psubw %xmm3,%xmm4 .byte 102,15,213,226 // pmullw %xmm2,%xmm4 .byte 102,15,253,228 // paddw %xmm4,%xmm4 .byte 102,15,111,214 // movdqa %xmm6,%xmm2 .byte 102,15,249,212 // psubw %xmm4,%xmm2 .byte 102,15,253,237 // paddw %xmm5,%xmm5 .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,15,239,224 // pxor %xmm0,%xmm4 .byte 102,15,101,101,184 // pcmpgtw -0x48(%ebp),%xmm4 .byte 102,15,213,235 // pmullw %xmm3,%xmm5 .byte 102,15,219,212 // pand %xmm4,%xmm2 .byte 102,15,223,229 // pandn %xmm5,%xmm4 .byte 102,15,235,226 // por %xmm2,%xmm4 .byte 102,15,253,125,200 // paddw -0x38(%ebp),%xmm7 .byte 102,15,253,231 // paddw %xmm7,%xmm4 .byte 102,15,111,93,152 // movdqa -0x68(%ebp),%xmm3 .byte 102,15,111,85,168 // movdqa -0x58(%ebp),%xmm2 .byte 102,15,213,211 // pmullw %xmm3,%xmm2 .byte 102,15,111,109,232 // movdqa -0x18(%ebp),%xmm5 .byte 102,15,213,109,56 // pmullw 0x38(%ebp),%xmm5 .byte 102,15,253,234 // paddw %xmm2,%xmm5 .byte 102,15,111,85,216 // movdqa -0x28(%ebp),%xmm2 .byte 102,15,249,211 // psubw %xmm3,%xmm2 .byte 102,15,253,219 // paddw %xmm3,%xmm3 .byte 102,15,239,195 // pxor %xmm3,%xmm0 .byte 102,15,101,69,184 // pcmpgtw -0x48(%ebp),%xmm0 .byte 102,15,111,125,72 // movdqa 0x48(%ebp),%xmm7 .byte 102,15,249,125,56 // psubw 0x38(%ebp),%xmm7 .byte 102,15,213,250 // pmullw %xmm2,%xmm7 .byte 102,15,253,255 // paddw %xmm7,%xmm7 .byte 102,15,249,247 // psubw %xmm7,%xmm6 .byte 102,15,111,125,56 // movdqa 0x38(%ebp),%xmm7 .byte 102,15,213,223 // pmullw %xmm7,%xmm3 .byte 102,15,219,240 // pand %xmm0,%xmm6 .byte 102,15,223,195 // pandn %xmm3,%xmm0 .byte 102,15,235,198 // por %xmm6,%xmm0 .byte 102,15,111,93,200 // movdqa -0x38(%ebp),%xmm3 .byte 102,15,253,235 // paddw %xmm3,%xmm5 .byte 102,15,253,232 // paddw %xmm0,%xmm5 .byte 102,15,111,69,72 // movdqa 0x48(%ebp),%xmm0 .byte 102,15,111,85,232 // movdqa -0x18(%ebp),%xmm2 .byte 102,15,213,208 // pmullw %xmm0,%xmm2 .byte 102,15,253,211 // paddw %xmm3,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,111,93,216 // movdqa -0x28(%ebp),%xmm3 .byte 102,15,253,218 // paddw %xmm2,%xmm3 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,212,8 // psrlw $0x8,%xmm4 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,68,36,64 // movdqa %xmm0,0x40(%esp) .byte 102,15,127,124,36,48 // movdqa %xmm7,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 15,40,69,24 // movaps 0x18(%ebp),%xmm0 .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,111,204 // movdqa %xmm4,%xmm1 .byte 102,15,111,213 // movdqa %xmm5,%xmm2 .byte 255,22 // call *(%esi) .byte 129,196,176,0,0,0 // add $0xb0,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_overlay_sse2_lowp .globl _sk_overlay_sse2_lowp FUNCTION(_sk_overlay_sse2_lowp) _sk_overlay_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,208,0,0,0 // sub $0xd0,%esp .byte 15,41,85,152 // movaps %xmm2,-0x68(%ebp) .byte 15,41,141,120,255,255,255 // movaps %xmm1,-0x88(%ebp) .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 232,0,0,0,0 // call aac3 <_sk_overlay_sse2_lowp+0x1f> .byte 88 // pop %eax .byte 102,15,111,69,72 // movdqa 0x48(%ebp),%xmm0 .byte 102,15,111,184,29,40,0,0 // movdqa 0x281d(%eax),%xmm7 .byte 102,15,127,125,232 // movdqa %xmm7,-0x18(%ebp) .byte 102,15,111,215 // movdqa %xmm7,%xmm2 .byte 102,15,249,208 // psubw %xmm0,%xmm2 .byte 102,15,127,85,168 // movdqa %xmm2,-0x58(%ebp) .byte 102,15,111,240 // movdqa %xmm0,%xmm6 .byte 102,15,213,209 // pmullw %xmm1,%xmm2 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,249,248 // psubw %xmm0,%xmm7 .byte 102,15,111,231 // movdqa %xmm7,%xmm4 .byte 102,15,213,101,24 // pmullw 0x18(%ebp),%xmm4 .byte 102,15,253,226 // paddw %xmm2,%xmm4 .byte 102,15,127,101,216 // movdqa %xmm4,-0x28(%ebp) .byte 102,15,111,232 // movdqa %xmm0,%xmm5 .byte 102,15,127,69,200 // movdqa %xmm0,-0x38(%ebp) .byte 102,15,249,233 // psubw %xmm1,%xmm5 .byte 102,15,111,230 // movdqa %xmm6,%xmm4 .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 102,15,111,93,24 // movdqa 0x18(%ebp),%xmm3 .byte 102,15,249,211 // psubw %xmm3,%xmm2 .byte 102,15,213,213 // pmullw %xmm5,%xmm2 .byte 102,15,213,240 // pmullw %xmm0,%xmm6 .byte 102,15,253,210 // paddw %xmm2,%xmm2 .byte 102,15,111,238 // movdqa %xmm6,%xmm5 .byte 102,15,249,234 // psubw %xmm2,%xmm5 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,253,192 // paddw %xmm0,%xmm0 .byte 102,15,111,144,61,40,0,0 // movdqa 0x283d(%eax),%xmm2 .byte 102,15,127,85,184 // movdqa %xmm2,-0x48(%ebp) .byte 102,15,239,226 // pxor %xmm2,%xmm4 .byte 102,15,239,194 // pxor %xmm2,%xmm0 .byte 102,15,101,196 // pcmpgtw %xmm4,%xmm0 .byte 102,15,127,101,136 // movdqa %xmm4,-0x78(%ebp) .byte 102,15,213,203 // pmullw %xmm3,%xmm1 .byte 102,15,253,201 // paddw %xmm1,%xmm1 .byte 102,15,219,232 // pand %xmm0,%xmm5 .byte 102,15,223,193 // pandn %xmm1,%xmm0 .byte 102,15,235,197 // por %xmm5,%xmm0 .byte 102,15,111,85,232 // movdqa -0x18(%ebp),%xmm2 .byte 102,15,111,77,216 // movdqa -0x28(%ebp),%xmm1 .byte 102,15,253,202 // paddw %xmm2,%xmm1 .byte 102,15,253,200 // paddw %xmm0,%xmm1 .byte 102,15,127,77,216 // movdqa %xmm1,-0x28(%ebp) .byte 102,15,111,69,168 // movdqa -0x58(%ebp),%xmm0 .byte 102,15,111,141,120,255,255,255 // movdqa -0x88(%ebp),%xmm1 .byte 102,15,213,193 // pmullw %xmm1,%xmm0 .byte 102,15,111,85,40 // movdqa 0x28(%ebp),%xmm2 .byte 102,15,111,223 // movdqa %xmm7,%xmm3 .byte 102,15,213,218 // pmullw %xmm2,%xmm3 .byte 102,15,253,216 // paddw %xmm0,%xmm3 .byte 102,15,111,69,200 // movdqa -0x38(%ebp),%xmm0 .byte 102,15,249,193 // psubw %xmm1,%xmm0 .byte 102,15,111,109,72 // movdqa 0x48(%ebp),%xmm5 .byte 102,15,249,234 // psubw %xmm2,%xmm5 .byte 102,15,213,232 // pmullw %xmm0,%xmm5 .byte 102,15,253,237 // paddw %xmm5,%xmm5 .byte 102,15,111,198 // movdqa %xmm6,%xmm0 .byte 102,15,249,197 // psubw %xmm5,%xmm0 .byte 102,15,111,234 // movdqa %xmm2,%xmm5 .byte 102,15,253,237 // paddw %xmm5,%xmm5 .byte 102,15,239,109,184 // pxor -0x48(%ebp),%xmm5 .byte 102,15,101,236 // pcmpgtw %xmm4,%xmm5 .byte 102,15,213,202 // pmullw %xmm2,%xmm1 .byte 102,15,253,201 // paddw %xmm1,%xmm1 .byte 102,15,219,197 // pand %xmm5,%xmm0 .byte 102,15,223,233 // pandn %xmm1,%xmm5 .byte 102,15,235,232 // por %xmm0,%xmm5 .byte 102,15,253,93,232 // paddw -0x18(%ebp),%xmm3 .byte 102,15,253,221 // paddw %xmm5,%xmm3 .byte 102,15,111,109,152 // movdqa -0x68(%ebp),%xmm5 .byte 102,15,111,69,168 // movdqa -0x58(%ebp),%xmm0 .byte 102,15,213,197 // pmullw %xmm5,%xmm0 .byte 102,15,111,77,56 // movdqa 0x38(%ebp),%xmm1 .byte 102,15,111,231 // movdqa %xmm7,%xmm4 .byte 102,15,213,225 // pmullw %xmm1,%xmm4 .byte 102,15,253,224 // paddw %xmm0,%xmm4 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,253,192 // paddw %xmm0,%xmm0 .byte 102,15,239,69,184 // pxor -0x48(%ebp),%xmm0 .byte 102,15,101,69,136 // pcmpgtw -0x78(%ebp),%xmm0 .byte 102,15,111,85,200 // movdqa -0x38(%ebp),%xmm2 .byte 102,15,249,213 // psubw %xmm5,%xmm2 .byte 102,15,111,77,72 // movdqa 0x48(%ebp),%xmm1 .byte 102,15,111,233 // movdqa %xmm1,%xmm5 .byte 102,15,111,77,56 // movdqa 0x38(%ebp),%xmm1 .byte 102,15,249,233 // psubw %xmm1,%xmm5 .byte 102,15,213,234 // pmullw %xmm2,%xmm5 .byte 102,15,253,237 // paddw %xmm5,%xmm5 .byte 102,15,249,245 // psubw %xmm5,%xmm6 .byte 102,15,111,85,152 // movdqa -0x68(%ebp),%xmm2 .byte 102,15,213,209 // pmullw %xmm1,%xmm2 .byte 102,15,253,210 // paddw %xmm2,%xmm2 .byte 102,15,219,240 // pand %xmm0,%xmm6 .byte 102,15,223,194 // pandn %xmm2,%xmm0 .byte 102,15,235,198 // por %xmm6,%xmm0 .byte 102,15,111,85,232 // movdqa -0x18(%ebp),%xmm2 .byte 102,15,253,226 // paddw %xmm2,%xmm4 .byte 102,15,253,224 // paddw %xmm0,%xmm4 .byte 102,15,111,69,72 // movdqa 0x48(%ebp),%xmm0 .byte 102,15,213,248 // pmullw %xmm0,%xmm7 .byte 102,15,253,250 // paddw %xmm2,%xmm7 .byte 102,15,113,215,8 // psrlw $0x8,%xmm7 .byte 102,15,111,109,200 // movdqa -0x38(%ebp),%xmm5 .byte 102,15,253,239 // paddw %xmm7,%xmm5 .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,77,16 // mov 0x10(%ebp),%ecx .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,117,12 // mov 0xc(%ebp),%esi .byte 102,15,111,77,216 // movdqa -0x28(%ebp),%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,113,212,8 // psrlw $0x8,%xmm4 .byte 141,126,4 // lea 0x4(%esi),%edi .byte 102,15,127,68,36,64 // movdqa %xmm0,0x40(%esp) .byte 15,40,69,56 // movaps 0x38(%ebp),%xmm0 .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 15,40,69,24 // movaps 0x18(%ebp),%xmm0 .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,76,36,8 // mov %ecx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 102,15,111,221 // movdqa %xmm5,%xmm3 .byte 255,22 // call *(%esi) .byte 129,196,208,0,0,0 // add $0xd0,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_load_8888_sse2_lowp .globl _sk_load_8888_sse2_lowp FUNCTION(_sk_load_8888_sse2_lowp) _sk_load_8888_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,92 // sub $0x5c,%esp .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,89,4 // mov 0x4(%ecx),%ebx .byte 15,175,93,20 // imul 0x14(%ebp),%ebx .byte 193,227,2 // shl $0x2,%ebx .byte 3,25 // add (%ecx),%ebx .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 232,0,0,0,0 // call ad32 <_sk_load_8888_sse2_lowp+0x30> .byte 95 // pop %edi .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 119,32 // ja ad58 <_sk_load_8888_sse2_lowp+0x56> .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 15,182,201 // movzbl %cl,%ecx .byte 139,140,143,50,1,0,0 // mov 0x132(%edi,%ecx,4),%ecx .byte 1,249 // add %edi,%ecx .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 255,225 // jmp *%ecx .byte 243,15,16,28,179 // movss (%ebx,%esi,4),%xmm3 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 235,73 // jmp ada1 <_sk_load_8888_sse2_lowp+0x9f> .byte 102,15,16,28,179 // movupd (%ebx,%esi,4),%xmm3 .byte 15,16,116,179,16 // movups 0x10(%ebx,%esi,4),%xmm6 .byte 235,61 // jmp ada1 <_sk_load_8888_sse2_lowp+0x9f> .byte 102,15,110,68,179,8 // movd 0x8(%ebx,%esi,4),%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 102,15,18,28,179 // movlpd (%ebx,%esi,4),%xmm3 .byte 235,43 // jmp ada1 <_sk_load_8888_sse2_lowp+0x9f> .byte 102,15,110,68,179,24 // movd 0x18(%ebx,%esi,4),%xmm0 .byte 102,15,112,240,69 // pshufd $0x45,%xmm0,%xmm6 .byte 243,15,16,68,179,20 // movss 0x14(%ebx,%esi,4),%xmm0 .byte 15,198,198,0 // shufps $0x0,%xmm6,%xmm0 .byte 15,198,198,226 // shufps $0xe2,%xmm6,%xmm0 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 243,15,16,68,179,16 // movss 0x10(%ebx,%esi,4),%xmm0 .byte 243,15,16,240 // movss %xmm0,%xmm6 .byte 102,15,16,28,179 // movupd (%ebx,%esi,4),%xmm3 .byte 102,15,40,203 // movapd %xmm3,%xmm1 .byte 102,15,114,241,16 // pslld $0x10,%xmm1 .byte 102,15,114,225,16 // psrad $0x10,%xmm1 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .byte 102,15,114,224,16 // psrad $0x10,%xmm0 .byte 102,15,107,200 // packssdw %xmm0,%xmm1 .byte 102,15,111,175,174,37,0,0 // movdqa 0x25ae(%edi),%xmm5 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,219,197 // pand %xmm5,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 102,15,114,212,16 // psrld $0x10,%xmm4 .byte 102,15,40,211 // movapd %xmm3,%xmm2 .byte 102,15,114,210,16 // psrld $0x10,%xmm2 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 102,15,114,243,16 // pslld $0x10,%xmm3 .byte 102,15,114,227,16 // psrad $0x10,%xmm3 .byte 102,15,114,214,24 // psrld $0x18,%xmm6 .byte 102,15,114,246,16 // pslld $0x10,%xmm6 .byte 102,15,114,230,16 // psrad $0x10,%xmm6 .byte 102,15,107,222 // packssdw %xmm6,%xmm3 .byte 102,15,114,242,16 // pslld $0x10,%xmm2 .byte 102,15,114,226,16 // psrad $0x10,%xmm2 .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,15,114,228,16 // psrad $0x10,%xmm4 .byte 102,15,107,212 // packssdw %xmm4,%xmm2 .byte 102,15,219,213 // pand %xmm5,%xmm2 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 15,40,101,24 // movaps 0x18(%ebp),%xmm4 .byte 15,41,100,36,16 // movaps %xmm4,0x10(%esp) .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,92 // add $0x5c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 28,0 // sbb $0x0,%al .byte 0,0 // add %al,(%eax) .byte 61,0,0,0,50 // cmp $0x32000000,%eax .byte 0,0 // add %al,(%eax) .byte 0,106,0 // add %ch,0x0(%edx) .byte 0,0 // add %al,(%eax) .byte 96 // pusha .byte 0,0 // add %al,(%eax) .byte 0,79,0 // add %cl,0x0(%edi) .byte 0,0 // add %al,(%eax) .byte 68 // inc %esp .byte 0,0 // add %al,(%eax) .byte 0 // .byte 0x0 HIDDEN _sk_load_8888_dst_sse2_lowp .globl _sk_load_8888_dst_sse2_lowp FUNCTION(_sk_load_8888_dst_sse2_lowp) _sk_load_8888_dst_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,140,0,0,0 // sub $0x8c,%esp .byte 102,15,127,93,184 // movdqa %xmm3,-0x48(%ebp) .byte 102,15,127,85,200 // movdqa %xmm2,-0x38(%ebp) .byte 15,41,77,216 // movaps %xmm1,-0x28(%ebp) .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,89,4 // mov 0x4(%ecx),%ebx .byte 15,175,93,20 // imul 0x14(%ebp),%ebx .byte 193,227,2 // shl $0x2,%ebx .byte 3,25 // add (%ecx),%ebx .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 232,0,0,0,0 // call aebd <_sk_load_8888_dst_sse2_lowp+0x3d> .byte 95 // pop %edi .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 119,32 // ja aee3 <_sk_load_8888_dst_sse2_lowp+0x63> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 15,182,201 // movzbl %cl,%ecx .byte 139,140,143,59,1,0,0 // mov 0x13b(%edi,%ecx,4),%ecx .byte 1,249 // add %edi,%ecx .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 255,225 // jmp *%ecx .byte 243,15,16,60,179 // movss (%ebx,%esi,4),%xmm7 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 235,73 // jmp af2c <_sk_load_8888_dst_sse2_lowp+0xac> .byte 102,15,16,60,179 // movupd (%ebx,%esi,4),%xmm7 .byte 15,16,92,179,16 // movups 0x10(%ebx,%esi,4),%xmm3 .byte 235,61 // jmp af2c <_sk_load_8888_dst_sse2_lowp+0xac> .byte 102,15,110,84,179,8 // movd 0x8(%ebx,%esi,4),%xmm2 .byte 102,15,112,250,69 // pshufd $0x45,%xmm2,%xmm7 .byte 102,15,18,60,179 // movlpd (%ebx,%esi,4),%xmm7 .byte 235,43 // jmp af2c <_sk_load_8888_dst_sse2_lowp+0xac> .byte 102,15,110,84,179,24 // movd 0x18(%ebx,%esi,4),%xmm2 .byte 102,15,112,218,69 // pshufd $0x45,%xmm2,%xmm3 .byte 243,15,16,84,179,20 // movss 0x14(%ebx,%esi,4),%xmm2 .byte 15,198,211,0 // shufps $0x0,%xmm3,%xmm2 .byte 15,198,211,226 // shufps $0xe2,%xmm3,%xmm2 .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 243,15,16,84,179,16 // movss 0x10(%ebx,%esi,4),%xmm2 .byte 243,15,16,218 // movss %xmm2,%xmm3 .byte 102,15,16,60,179 // movupd (%ebx,%esi,4),%xmm7 .byte 102,15,40,247 // movapd %xmm7,%xmm6 .byte 102,15,114,246,16 // pslld $0x10,%xmm6 .byte 102,15,114,230,16 // psrad $0x10,%xmm6 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 102,15,114,242,16 // pslld $0x10,%xmm2 .byte 102,15,114,226,16 // psrad $0x10,%xmm2 .byte 102,15,107,242 // packssdw %xmm2,%xmm6 .byte 102,15,111,151,35,36,0,0 // movdqa 0x2423(%edi),%xmm2 .byte 102,15,111,206 // movdqa %xmm6,%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 102,15,113,214,8 // psrlw $0x8,%xmm6 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 102,15,114,212,16 // psrld $0x10,%xmm4 .byte 102,15,40,239 // movapd %xmm7,%xmm5 .byte 102,15,114,213,16 // psrld $0x10,%xmm5 .byte 102,15,114,215,24 // psrld $0x18,%xmm7 .byte 102,15,114,247,16 // pslld $0x10,%xmm7 .byte 102,15,114,231,16 // psrad $0x10,%xmm7 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 102,15,114,243,16 // pslld $0x10,%xmm3 .byte 102,15,114,227,16 // psrad $0x10,%xmm3 .byte 102,15,107,251 // packssdw %xmm3,%xmm7 .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 102,15,114,229,16 // psrad $0x10,%xmm5 .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,15,114,228,16 // psrad $0x10,%xmm4 .byte 102,15,107,236 // packssdw %xmm4,%xmm5 .byte 102,15,219,234 // pand %xmm2,%xmm5 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 102,15,127,124,36,64 // movdqa %xmm7,0x40(%esp) .byte 102,15,127,116,36,32 // movdqa %xmm6,0x20(%esp) .byte 102,15,127,76,36,16 // movdqa %xmm1,0x10(%esp) .byte 102,15,127,108,36,48 // movdqa %xmm5,0x30(%esp) .byte 15,40,77,216 // movaps -0x28(%ebp),%xmm1 .byte 15,40,85,200 // movaps -0x38(%ebp),%xmm2 .byte 15,40,93,184 // movaps -0x48(%ebp),%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 129,196,140,0,0,0 // add $0x8c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 102,144 // xchg %ax,%ax .byte 28,0 // sbb $0x0,%al .byte 0,0 // add %al,(%eax) .byte 61,0,0,0,50 // cmp $0x32000000,%eax .byte 0,0 // add %al,(%eax) .byte 0,106,0 // add %ch,0x0(%edx) .byte 0,0 // add %al,(%eax) .byte 96 // pusha .byte 0,0 // add %al,(%eax) .byte 0,79,0 // add %cl,0x0(%edi) .byte 0,0 // add %al,(%eax) .byte 68 // inc %esp .byte 0,0 // add %al,(%eax) .byte 0 // .byte 0x0 HIDDEN _sk_store_8888_sse2_lowp .globl _sk_store_8888_sse2_lowp FUNCTION(_sk_store_8888_sse2_lowp) _sk_store_8888_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 102,15,111,225 // movdqa %xmm1,%xmm4 .byte 102,15,113,244,8 // psllw $0x8,%xmm4 .byte 102,15,235,224 // por %xmm0,%xmm4 .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,97,238 // punpcklwd %xmm6,%xmm5 .byte 102,15,127,93,216 // movdqa %xmm3,-0x28(%ebp) .byte 102,15,113,243,8 // psllw $0x8,%xmm3 .byte 102,15,235,218 // por %xmm2,%xmm3 .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 102,15,97,251 // punpcklwd %xmm3,%xmm7 .byte 102,15,235,253 // por %xmm5,%xmm7 .byte 102,15,105,230 // punpckhwd %xmm6,%xmm4 .byte 102,15,105,243 // punpckhwd %xmm3,%xmm6 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 102,15,235,244 // por %xmm4,%xmm6 .byte 102,15,111,101,56 // movdqa 0x38(%ebp),%xmm4 .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,93,8 // mov 0x8(%ebp),%ebx .byte 139,8 // mov (%eax),%ecx .byte 139,121,4 // mov 0x4(%ecx),%edi .byte 15,175,250 // imul %edx,%edi .byte 193,231,2 // shl $0x2,%edi .byte 3,57 // add (%ecx),%edi .byte 128,227,7 // and $0x7,%bl .byte 254,203 // dec %bl .byte 128,251,6 // cmp $0x6,%bl .byte 232,0,0,0,0 // call b088 <_sk_store_8888_sse2_lowp+0x74> .byte 89 // pop %ecx .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 119,19 // ja b0a5 <_sk_store_8888_sse2_lowp+0x91> .byte 15,182,219 // movzbl %bl,%ebx .byte 3,140,153,184,0,0,0 // add 0xb8(%ecx,%ebx,4),%ecx .byte 255,225 // jmp *%ecx .byte 102,15,126,60,183 // movd %xmm7,(%edi,%esi,4) .byte 235,93 // jmp b102 <_sk_store_8888_sse2_lowp+0xee> .byte 243,15,127,60,183 // movdqu %xmm7,(%edi,%esi,4) .byte 243,15,127,116,183,16 // movdqu %xmm6,0x10(%edi,%esi,4) .byte 235,80 // jmp b102 <_sk_store_8888_sse2_lowp+0xee> .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 102,15,112,223,78 // pshufd $0x4e,%xmm7,%xmm3 .byte 102,15,126,92,183,8 // movd %xmm3,0x8(%edi,%esi,4) .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 102,15,111,230 // movdqa %xmm6,%xmm4 .byte 102,15,214,60,183 // movq %xmm7,(%edi,%esi,4) .byte 235,48 // jmp b102 <_sk_store_8888_sse2_lowp+0xee> .byte 102,15,112,222,78 // pshufd $0x4e,%xmm6,%xmm3 .byte 102,15,126,92,183,24 // movd %xmm3,0x18(%edi,%esi,4) .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 102,15,112,222,229 // pshufd $0xe5,%xmm6,%xmm3 .byte 102,15,126,92,183,20 // movd %xmm3,0x14(%edi,%esi,4) .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 102,15,111,101,56 // movdqa 0x38(%ebp),%xmm4 .byte 102,15,126,116,183,16 // movd %xmm6,0x10(%edi,%esi,4) .byte 243,15,127,60,183 // movdqu %xmm7,(%edi,%esi,4) .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 102,15,127,100,36,48 // movdqa %xmm4,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 15,40,93,24 // movaps 0x18(%ebp),%xmm3 .byte 15,41,92,36,16 // movaps %xmm3,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 144 // nop .byte 22 // push %ss .byte 0,0 // add %al,(%eax) .byte 0,67,0 // add %al,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 42,0 // sub (%eax),%al .byte 0,0 // add %al,(%eax) .byte 117,0 // jne b14e <_sk_store_8888_sse2_lowp+0x13a> .byte 0,0 // add %al,(%eax) .byte 111 // outsl %ds:(%esi),(%dx) .byte 0,0 // add %al,(%eax) .byte 0,89,0 // add %bl,0x0(%ecx) .byte 0,0 // add %al,(%eax) .byte 74 // dec %edx .byte 0,0 // add %al,(%eax) .byte 0 // .byte 0x0 HIDDEN _sk_load_bgra_sse2_lowp .globl _sk_load_bgra_sse2_lowp FUNCTION(_sk_load_bgra_sse2_lowp) _sk_load_bgra_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,92 // sub $0x5c,%esp .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,89,4 // mov 0x4(%ecx),%ebx .byte 15,175,93,20 // imul 0x14(%ebp),%ebx .byte 193,227,2 // shl $0x2,%ebx .byte 3,25 // add (%ecx),%ebx .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 232,0,0,0,0 // call b18c <_sk_load_bgra_sse2_lowp+0x30> .byte 95 // pop %edi .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 119,32 // ja b1b2 <_sk_load_bgra_sse2_lowp+0x56> .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 15,182,201 // movzbl %cl,%ecx .byte 139,140,143,52,1,0,0 // mov 0x134(%edi,%ecx,4),%ecx .byte 1,249 // add %edi,%ecx .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 255,225 // jmp *%ecx .byte 243,15,16,28,179 // movss (%ebx,%esi,4),%xmm3 .byte 15,87,246 // xorps %xmm6,%xmm6 .byte 235,73 // jmp b1fb <_sk_load_bgra_sse2_lowp+0x9f> .byte 102,15,16,28,179 // movupd (%ebx,%esi,4),%xmm3 .byte 15,16,116,179,16 // movups 0x10(%ebx,%esi,4),%xmm6 .byte 235,61 // jmp b1fb <_sk_load_bgra_sse2_lowp+0x9f> .byte 102,15,110,68,179,8 // movd 0x8(%ebx,%esi,4),%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 102,15,18,28,179 // movlpd (%ebx,%esi,4),%xmm3 .byte 235,43 // jmp b1fb <_sk_load_bgra_sse2_lowp+0x9f> .byte 102,15,110,68,179,24 // movd 0x18(%ebx,%esi,4),%xmm0 .byte 102,15,112,240,69 // pshufd $0x45,%xmm0,%xmm6 .byte 243,15,16,68,179,20 // movss 0x14(%ebx,%esi,4),%xmm0 .byte 15,198,198,0 // shufps $0x0,%xmm6,%xmm0 .byte 15,198,198,226 // shufps $0xe2,%xmm6,%xmm0 .byte 15,40,240 // movaps %xmm0,%xmm6 .byte 243,15,16,68,179,16 // movss 0x10(%ebx,%esi,4),%xmm0 .byte 243,15,16,240 // movss %xmm0,%xmm6 .byte 102,15,16,28,179 // movupd (%ebx,%esi,4),%xmm3 .byte 102,15,40,203 // movapd %xmm3,%xmm1 .byte 102,15,114,241,16 // pslld $0x10,%xmm1 .byte 102,15,114,225,16 // psrad $0x10,%xmm1 .byte 15,40,198 // movaps %xmm6,%xmm0 .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .byte 102,15,114,224,16 // psrad $0x10,%xmm0 .byte 102,15,107,200 // packssdw %xmm0,%xmm1 .byte 102,15,111,175,84,33,0,0 // movdqa 0x2154(%edi),%xmm5 .byte 102,15,111,209 // movdqa %xmm1,%xmm2 .byte 102,15,219,213 // pand %xmm5,%xmm2 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 15,40,230 // movaps %xmm6,%xmm4 .byte 102,15,114,212,16 // psrld $0x10,%xmm4 .byte 102,15,40,195 // movapd %xmm3,%xmm0 .byte 102,15,114,208,16 // psrld $0x10,%xmm0 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 102,15,114,243,16 // pslld $0x10,%xmm3 .byte 102,15,114,227,16 // psrad $0x10,%xmm3 .byte 102,15,114,214,24 // psrld $0x18,%xmm6 .byte 102,15,114,246,16 // pslld $0x10,%xmm6 .byte 102,15,114,230,16 // psrad $0x10,%xmm6 .byte 102,15,107,222 // packssdw %xmm6,%xmm3 .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .byte 102,15,114,224,16 // psrad $0x10,%xmm0 .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,15,114,228,16 // psrad $0x10,%xmm4 .byte 102,15,107,196 // packssdw %xmm4,%xmm0 .byte 102,15,219,197 // pand %xmm5,%xmm0 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,40,101,56 // movaps 0x38(%ebp),%xmm4 .byte 15,41,100,36,48 // movaps %xmm4,0x30(%esp) .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 15,40,101,24 // movaps 0x18(%ebp),%xmm4 .byte 15,41,100,36,16 // movaps %xmm4,0x10(%esp) .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,92 // add $0x5c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 102,144 // xchg %ax,%ax .byte 28,0 // sbb $0x0,%al .byte 0,0 // add %al,(%eax) .byte 61,0,0,0,50 // cmp $0x32000000,%eax .byte 0,0 // add %al,(%eax) .byte 0,106,0 // add %ch,0x0(%edx) .byte 0,0 // add %al,(%eax) .byte 96 // pusha .byte 0,0 // add %al,(%eax) .byte 0,79,0 // add %cl,0x0(%edi) .byte 0,0 // add %al,(%eax) .byte 68 // inc %esp .byte 0,0 // add %al,(%eax) .byte 0 // .byte 0x0 HIDDEN _sk_load_bgra_dst_sse2_lowp .globl _sk_load_bgra_dst_sse2_lowp FUNCTION(_sk_load_bgra_dst_sse2_lowp) _sk_load_bgra_dst_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,140,0,0,0 // sub $0x8c,%esp .byte 102,15,127,93,184 // movdqa %xmm3,-0x48(%ebp) .byte 102,15,127,85,200 // movdqa %xmm2,-0x38(%ebp) .byte 15,41,77,216 // movaps %xmm1,-0x28(%ebp) .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,89,4 // mov 0x4(%ecx),%ebx .byte 15,175,93,20 // imul 0x14(%ebp),%ebx .byte 193,227,2 // shl $0x2,%ebx .byte 3,25 // add (%ecx),%ebx .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 232,0,0,0,0 // call b319 <_sk_load_bgra_dst_sse2_lowp+0x3d> .byte 95 // pop %edi .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 119,32 // ja b33f <_sk_load_bgra_dst_sse2_lowp+0x63> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 15,182,201 // movzbl %cl,%ecx .byte 139,140,143,59,1,0,0 // mov 0x13b(%edi,%ecx,4),%ecx .byte 1,249 // add %edi,%ecx .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 255,225 // jmp *%ecx .byte 243,15,16,60,179 // movss (%ebx,%esi,4),%xmm7 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 235,73 // jmp b388 <_sk_load_bgra_dst_sse2_lowp+0xac> .byte 102,15,16,60,179 // movupd (%ebx,%esi,4),%xmm7 .byte 15,16,92,179,16 // movups 0x10(%ebx,%esi,4),%xmm3 .byte 235,61 // jmp b388 <_sk_load_bgra_dst_sse2_lowp+0xac> .byte 102,15,110,84,179,8 // movd 0x8(%ebx,%esi,4),%xmm2 .byte 102,15,112,250,69 // pshufd $0x45,%xmm2,%xmm7 .byte 102,15,18,60,179 // movlpd (%ebx,%esi,4),%xmm7 .byte 235,43 // jmp b388 <_sk_load_bgra_dst_sse2_lowp+0xac> .byte 102,15,110,84,179,24 // movd 0x18(%ebx,%esi,4),%xmm2 .byte 102,15,112,218,69 // pshufd $0x45,%xmm2,%xmm3 .byte 243,15,16,84,179,20 // movss 0x14(%ebx,%esi,4),%xmm2 .byte 15,198,211,0 // shufps $0x0,%xmm3,%xmm2 .byte 15,198,211,226 // shufps $0xe2,%xmm3,%xmm2 .byte 15,40,218 // movaps %xmm2,%xmm3 .byte 243,15,16,84,179,16 // movss 0x10(%ebx,%esi,4),%xmm2 .byte 243,15,16,218 // movss %xmm2,%xmm3 .byte 102,15,16,60,179 // movupd (%ebx,%esi,4),%xmm7 .byte 102,15,40,247 // movapd %xmm7,%xmm6 .byte 102,15,114,246,16 // pslld $0x10,%xmm6 .byte 102,15,114,230,16 // psrad $0x10,%xmm6 .byte 15,40,211 // movaps %xmm3,%xmm2 .byte 102,15,114,242,16 // pslld $0x10,%xmm2 .byte 102,15,114,226,16 // psrad $0x10,%xmm2 .byte 102,15,107,242 // packssdw %xmm2,%xmm6 .byte 102,15,111,151,199,31,0,0 // movdqa 0x1fc7(%edi),%xmm2 .byte 102,15,111,206 // movdqa %xmm6,%xmm1 .byte 102,15,219,202 // pand %xmm2,%xmm1 .byte 102,15,113,214,8 // psrlw $0x8,%xmm6 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 102,15,114,212,16 // psrld $0x10,%xmm4 .byte 102,15,40,239 // movapd %xmm7,%xmm5 .byte 102,15,114,213,16 // psrld $0x10,%xmm5 .byte 102,15,114,215,24 // psrld $0x18,%xmm7 .byte 102,15,114,247,16 // pslld $0x10,%xmm7 .byte 102,15,114,231,16 // psrad $0x10,%xmm7 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 102,15,114,243,16 // pslld $0x10,%xmm3 .byte 102,15,114,227,16 // psrad $0x10,%xmm3 .byte 102,15,107,251 // packssdw %xmm3,%xmm7 .byte 102,15,114,245,16 // pslld $0x10,%xmm5 .byte 102,15,114,229,16 // psrad $0x10,%xmm5 .byte 102,15,114,244,16 // pslld $0x10,%xmm4 .byte 102,15,114,228,16 // psrad $0x10,%xmm4 .byte 102,15,107,236 // packssdw %xmm4,%xmm5 .byte 102,15,219,234 // pand %xmm2,%xmm5 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 102,15,127,124,36,64 // movdqa %xmm7,0x40(%esp) .byte 102,15,127,76,36,48 // movdqa %xmm1,0x30(%esp) .byte 102,15,127,116,36,32 // movdqa %xmm6,0x20(%esp) .byte 102,15,127,108,36,16 // movdqa %xmm5,0x10(%esp) .byte 15,40,77,216 // movaps -0x28(%ebp),%xmm1 .byte 15,40,85,200 // movaps -0x38(%ebp),%xmm2 .byte 15,40,93,184 // movaps -0x48(%ebp),%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 129,196,140,0,0,0 // add $0x8c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 102,144 // xchg %ax,%ax .byte 28,0 // sbb $0x0,%al .byte 0,0 // add %al,(%eax) .byte 61,0,0,0,50 // cmp $0x32000000,%eax .byte 0,0 // add %al,(%eax) .byte 0,106,0 // add %ch,0x0(%edx) .byte 0,0 // add %al,(%eax) .byte 96 // pusha .byte 0,0 // add %al,(%eax) .byte 0,79,0 // add %cl,0x0(%edi) .byte 0,0 // add %al,(%eax) .byte 68 // inc %esp .byte 0,0 // add %al,(%eax) .byte 0 // .byte 0x0 HIDDEN _sk_store_bgra_sse2_lowp .globl _sk_store_bgra_sse2_lowp FUNCTION(_sk_store_bgra_sse2_lowp) _sk_store_bgra_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 102,15,111,225 // movdqa %xmm1,%xmm4 .byte 102,15,113,244,8 // psllw $0x8,%xmm4 .byte 102,15,235,226 // por %xmm2,%xmm4 .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,97,238 // punpcklwd %xmm6,%xmm5 .byte 102,15,127,93,216 // movdqa %xmm3,-0x28(%ebp) .byte 102,15,113,243,8 // psllw $0x8,%xmm3 .byte 102,15,235,216 // por %xmm0,%xmm3 .byte 102,15,239,255 // pxor %xmm7,%xmm7 .byte 102,15,97,251 // punpcklwd %xmm3,%xmm7 .byte 102,15,235,253 // por %xmm5,%xmm7 .byte 102,15,105,230 // punpckhwd %xmm6,%xmm4 .byte 102,15,105,243 // punpckhwd %xmm3,%xmm6 .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 102,15,235,244 // por %xmm4,%xmm6 .byte 102,15,111,101,56 // movdqa 0x38(%ebp),%xmm4 .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,93,8 // mov 0x8(%ebp),%ebx .byte 139,8 // mov (%eax),%ecx .byte 139,121,4 // mov 0x4(%ecx),%edi .byte 15,175,250 // imul %edx,%edi .byte 193,231,2 // shl $0x2,%edi .byte 3,57 // add (%ecx),%edi .byte 128,227,7 // and $0x7,%bl .byte 254,203 // dec %bl .byte 128,251,6 // cmp $0x6,%bl .byte 232,0,0,0,0 // call b4e4 <_sk_store_bgra_sse2_lowp+0x74> .byte 89 // pop %ecx .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 119,19 // ja b501 <_sk_store_bgra_sse2_lowp+0x91> .byte 15,182,219 // movzbl %bl,%ebx .byte 3,140,153,184,0,0,0 // add 0xb8(%ecx,%ebx,4),%ecx .byte 255,225 // jmp *%ecx .byte 102,15,126,60,183 // movd %xmm7,(%edi,%esi,4) .byte 235,93 // jmp b55e <_sk_store_bgra_sse2_lowp+0xee> .byte 243,15,127,60,183 // movdqu %xmm7,(%edi,%esi,4) .byte 243,15,127,116,183,16 // movdqu %xmm6,0x10(%edi,%esi,4) .byte 235,80 // jmp b55e <_sk_store_bgra_sse2_lowp+0xee> .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 102,15,112,223,78 // pshufd $0x4e,%xmm7,%xmm3 .byte 102,15,126,92,183,8 // movd %xmm3,0x8(%edi,%esi,4) .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 102,15,111,230 // movdqa %xmm6,%xmm4 .byte 102,15,214,60,183 // movq %xmm7,(%edi,%esi,4) .byte 235,48 // jmp b55e <_sk_store_bgra_sse2_lowp+0xee> .byte 102,15,112,222,78 // pshufd $0x4e,%xmm6,%xmm3 .byte 102,15,126,92,183,24 // movd %xmm3,0x18(%edi,%esi,4) .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 15,40,227 // movaps %xmm3,%xmm4 .byte 102,15,112,222,229 // pshufd $0xe5,%xmm6,%xmm3 .byte 102,15,126,92,183,20 // movd %xmm3,0x14(%edi,%esi,4) .byte 15,40,220 // movaps %xmm4,%xmm3 .byte 102,15,111,101,56 // movdqa 0x38(%ebp),%xmm4 .byte 102,15,126,116,183,16 // movd %xmm6,0x10(%edi,%esi,4) .byte 243,15,127,60,183 // movdqu %xmm7,(%edi,%esi,4) .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 102,15,127,100,36,48 // movdqa %xmm4,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 15,40,93,24 // movaps 0x18(%ebp),%xmm3 .byte 15,41,92,36,16 // movaps %xmm3,0x10(%esp) .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 137,12,36 // mov %ecx,(%esp) .byte 15,40,93,216 // movaps -0x28(%ebp),%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 144 // nop .byte 22 // push %ss .byte 0,0 // add %al,(%eax) .byte 0,67,0 // add %al,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 42,0 // sub (%eax),%al .byte 0,0 // add %al,(%eax) .byte 117,0 // jne b5aa <_sk_store_bgra_sse2_lowp+0x13a> .byte 0,0 // add %al,(%eax) .byte 111 // outsl %ds:(%esi),(%dx) .byte 0,0 // add %al,(%eax) .byte 0,89,0 // add %bl,0x0(%ecx) .byte 0,0 // add %al,(%eax) .byte 74 // dec %edx .byte 0,0 // add %al,(%eax) .byte 0 // .byte 0x0 HIDDEN _sk_load_565_sse2_lowp .globl _sk_load_565_sse2_lowp FUNCTION(_sk_load_565_sse2_lowp) _sk_load_565_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,92 // sub $0x5c,%esp .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,93,24 // movaps 0x18(%ebp),%xmm3 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,89,4 // mov 0x4(%ecx),%ebx .byte 15,175,93,20 // imul 0x14(%ebp),%ebx .byte 1,219 // add %ebx,%ebx .byte 3,25 // add (%ecx),%ebx .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 232,0,0,0,0 // call b5f3 <_sk_load_565_sse2_lowp+0x3b> .byte 94 // pop %esi .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 119,28 // ja b615 <_sk_load_565_sse2_lowp+0x5d> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 15,182,201 // movzbl %cl,%ecx .byte 139,140,142,245,0,0,0 // mov 0xf5(%esi,%ecx,4),%ecx .byte 1,241 // add %esi,%ecx .byte 255,225 // jmp *%ecx .byte 15,183,12,123 // movzwl (%ebx,%edi,2),%ecx .byte 102,15,110,193 // movd %ecx,%xmm0 .byte 235,59 // jmp b650 <_sk_load_565_sse2_lowp+0x98> .byte 243,15,111,4,123 // movdqu (%ebx,%edi,2),%xmm0 .byte 235,52 // jmp b650 <_sk_load_565_sse2_lowp+0x98> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,196,68,123,4,2 // pinsrw $0x2,0x4(%ebx,%edi,2),%xmm0 .byte 243,15,16,12,123 // movss (%ebx,%edi,2),%xmm1 .byte 243,15,16,193 // movss %xmm1,%xmm0 .byte 235,30 // jmp b650 <_sk_load_565_sse2_lowp+0x98> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,196,68,123,12,6 // pinsrw $0x6,0xc(%ebx,%edi,2),%xmm0 .byte 102,15,196,68,123,10,5 // pinsrw $0x5,0xa(%ebx,%edi,2),%xmm0 .byte 102,15,196,68,123,8,4 // pinsrw $0x4,0x8(%ebx,%edi,2),%xmm0 .byte 102,15,18,4,123 // movlpd (%ebx,%edi,2),%xmm0 .byte 102,15,111,248 // movdqa %xmm0,%xmm7 .byte 102,15,113,215,8 // psrlw $0x8,%xmm7 .byte 102,15,219,190,45,29,0,0 // pand 0x1d2d(%esi),%xmm7 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,113,209,5 // psrlw $0x5,%xmm1 .byte 102,15,219,142,61,29,0,0 // pand 0x1d3d(%esi),%xmm1 .byte 102,15,111,150,77,29,0,0 // movdqa 0x1d4d(%esi),%xmm2 .byte 102,15,219,208 // pand %xmm0,%xmm2 .byte 102,15,113,208,13 // psrlw $0xd,%xmm0 .byte 102,15,235,199 // por %xmm7,%xmm0 .byte 102,15,111,249 // movdqa %xmm1,%xmm7 .byte 102,15,113,247,2 // psllw $0x2,%xmm7 .byte 102,15,113,209,4 // psrlw $0x4,%xmm1 .byte 102,15,235,207 // por %xmm7,%xmm1 .byte 102,15,111,250 // movdqa %xmm2,%xmm7 .byte 102,15,113,247,3 // psllw $0x3,%xmm7 .byte 102,15,113,210,2 // psrlw $0x2,%xmm2 .byte 102,15,235,215 // por %xmm7,%xmm2 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 15,41,92,36,16 // movaps %xmm3,0x10(%esp) .byte 139,93,20 // mov 0x14(%ebp),%ebx .byte 137,92,36,12 // mov %ebx,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 15,40,158,237,28,0,0 // movaps 0x1ced(%esi),%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 131,196,92 // add $0x5c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 102,144 // xchg %ax,%ax .byte 24,0 // sbb %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%eax) .byte 41,0 // sub %eax,(%eax) .byte 0,0 // add %al,(%eax) .byte 88 // pop %eax .byte 0,0 // add %al,(%eax) .byte 0,81,0 // add %dl,0x0(%ecx) .byte 0,0 // add %al,(%eax) .byte 74 // dec %edx .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0 // .byte 0x0 HIDDEN _sk_load_565_dst_sse2_lowp .globl _sk_load_565_dst_sse2_lowp FUNCTION(_sk_load_565_dst_sse2_lowp) _sk_load_565_dst_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,92 // sub $0x5c,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,89,4 // mov 0x4(%ecx),%ebx .byte 15,175,93,20 // imul 0x14(%ebp),%ebx .byte 1,219 // add %ebx,%ebx .byte 3,25 // add (%ecx),%ebx .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 232,0,0,0,0 // call b72f <_sk_load_565_dst_sse2_lowp+0x2b> .byte 95 // pop %edi .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 119,28 // ja b751 <_sk_load_565_dst_sse2_lowp+0x4d> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 15,182,201 // movzbl %cl,%ecx .byte 139,140,143,249,0,0,0 // mov 0xf9(%edi,%ecx,4),%ecx .byte 1,249 // add %edi,%ecx .byte 255,225 // jmp *%ecx .byte 15,183,12,115 // movzwl (%ebx,%esi,2),%ecx .byte 102,15,110,225 // movd %ecx,%xmm4 .byte 235,59 // jmp b78c <_sk_load_565_dst_sse2_lowp+0x88> .byte 243,15,111,36,115 // movdqu (%ebx,%esi,2),%xmm4 .byte 235,52 // jmp b78c <_sk_load_565_dst_sse2_lowp+0x88> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,196,100,115,4,2 // pinsrw $0x2,0x4(%ebx,%esi,2),%xmm4 .byte 243,15,16,44,115 // movss (%ebx,%esi,2),%xmm5 .byte 243,15,16,229 // movss %xmm5,%xmm4 .byte 235,30 // jmp b78c <_sk_load_565_dst_sse2_lowp+0x88> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,196,100,115,12,6 // pinsrw $0x6,0xc(%ebx,%esi,2),%xmm4 .byte 102,15,196,100,115,10,5 // pinsrw $0x5,0xa(%ebx,%esi,2),%xmm4 .byte 102,15,196,100,115,8,4 // pinsrw $0x4,0x8(%ebx,%esi,2),%xmm4 .byte 102,15,18,36,115 // movlpd (%ebx,%esi,2),%xmm4 .byte 102,15,111,244 // movdqa %xmm4,%xmm6 .byte 102,15,113,214,8 // psrlw $0x8,%xmm6 .byte 102,15,219,183,241,27,0,0 // pand 0x1bf1(%edi),%xmm6 .byte 102,15,111,236 // movdqa %xmm4,%xmm5 .byte 102,15,113,213,5 // psrlw $0x5,%xmm5 .byte 102,15,219,175,1,28,0,0 // pand 0x1c01(%edi),%xmm5 .byte 102,15,111,191,17,28,0,0 // movdqa 0x1c11(%edi),%xmm7 .byte 102,15,219,252 // pand %xmm4,%xmm7 .byte 102,15,113,212,13 // psrlw $0xd,%xmm4 .byte 102,15,235,230 // por %xmm6,%xmm4 .byte 102,15,111,245 // movdqa %xmm5,%xmm6 .byte 102,15,113,246,2 // psllw $0x2,%xmm6 .byte 102,15,113,213,4 // psrlw $0x4,%xmm5 .byte 102,15,235,238 // por %xmm6,%xmm5 .byte 102,15,111,247 // movdqa %xmm7,%xmm6 .byte 102,15,113,246,3 // psllw $0x3,%xmm6 .byte 102,15,113,215,2 // psrlw $0x2,%xmm7 .byte 102,15,235,254 // por %xmm6,%xmm7 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,40,183,177,27,0,0 // movaps 0x1bb1(%edi),%xmm6 .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 102,15,127,124,36,48 // movdqa %xmm7,0x30(%esp) .byte 102,15,127,100,36,16 // movdqa %xmm4,0x10(%esp) .byte 102,15,127,108,36,32 // movdqa %xmm5,0x20(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,92 // add $0x5c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 15,31,0 // nopl (%eax) .byte 24,0 // sbb %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%eax) .byte 41,0 // sub %eax,(%eax) .byte 0,0 // add %al,(%eax) .byte 88 // pop %eax .byte 0,0 // add %al,(%eax) .byte 0,81,0 // add %dl,0x0(%ecx) .byte 0,0 // add %al,(%eax) .byte 74 // dec %edx .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0 // .byte 0x0 HIDDEN _sk_store_565_sse2_lowp .globl _sk_store_565_sse2_lowp FUNCTION(_sk_store_565_sse2_lowp) _sk_store_565_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,92 // sub $0x5c,%esp .byte 102,15,111,226 // movdqa %xmm2,%xmm4 .byte 232,0,0,0,0 // call b856 <_sk_store_565_sse2_lowp+0x12> .byte 95 // pop %edi .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 102,15,113,242,8 // psllw $0x8,%xmm2 .byte 102,15,219,151,250,26,0,0 // pand 0x1afa(%edi),%xmm2 .byte 102,15,111,241 // movdqa %xmm1,%xmm6 .byte 102,15,113,246,3 // psllw $0x3,%xmm6 .byte 102,15,219,183,10,27,0,0 // pand 0x1b0a(%edi),%xmm6 .byte 102,15,235,242 // por %xmm2,%xmm6 .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 102,15,113,210,3 // psrlw $0x3,%xmm2 .byte 102,15,235,214 // por %xmm6,%xmm2 .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,8 // mov (%eax),%ecx .byte 139,89,4 // mov 0x4(%ecx),%ebx .byte 15,175,93,20 // imul 0x14(%ebp),%ebx .byte 1,219 // add %ebx,%ebx .byte 3,25 // add (%ecx),%ebx .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 15,40,125,24 // movaps 0x18(%ebp),%xmm7 .byte 119,22 // ja b8ce <_sk_store_565_sse2_lowp+0x8a> .byte 15,182,201 // movzbl %cl,%ecx .byte 3,188,143,242,0,0,0 // add 0xf2(%edi,%ecx,4),%edi .byte 255,231 // jmp *%edi .byte 102,15,126,209 // movd %xmm2,%ecx .byte 102,137,12,115 // mov %cx,(%ebx,%esi,2) .byte 235,59 // jmp b909 <_sk_store_565_sse2_lowp+0xc5> .byte 243,15,127,20,115 // movdqu %xmm2,(%ebx,%esi,2) .byte 235,52 // jmp b909 <_sk_store_565_sse2_lowp+0xc5> .byte 102,15,197,202,2 // pextrw $0x2,%xmm2,%ecx .byte 102,137,76,115,4 // mov %cx,0x4(%ebx,%esi,2) .byte 102,15,126,20,115 // movd %xmm2,(%ebx,%esi,2) .byte 235,35 // jmp b909 <_sk_store_565_sse2_lowp+0xc5> .byte 102,15,197,202,6 // pextrw $0x6,%xmm2,%ecx .byte 102,137,76,115,12 // mov %cx,0xc(%ebx,%esi,2) .byte 102,15,197,202,5 // pextrw $0x5,%xmm2,%ecx .byte 102,137,76,115,10 // mov %cx,0xa(%ebx,%esi,2) .byte 102,15,197,202,4 // pextrw $0x4,%xmm2,%ecx .byte 102,137,76,115,8 // mov %cx,0x8(%ebx,%esi,2) .byte 102,15,214,20,115 // movq %xmm2,(%ebx,%esi,2) .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,40,85,56 // movaps 0x38(%ebp),%xmm2 .byte 15,41,84,36,48 // movaps %xmm2,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 15,41,124,36,16 // movaps %xmm7,0x10(%esp) .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 255,80,4 // call *0x4(%eax) .byte 131,196,92 // add $0x5c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 15,31,0 // nopl (%eax) .byte 110 // outsb %ds:(%esi),(%dx) .byte 0,0 // add %al,(%eax) .byte 0,137,0,0,0,127 // add %cl,0x7f000000(%ecx) .byte 0,0 // add %al,(%eax) .byte 0,174,0,0,0,164 // add %ch,-0x5c000000(%esi) .byte 0,0 // add %al,(%eax) .byte 0,154,0,0,0,144 // add %bl,-0x70000000(%edx) .byte 0,0 // add %al,(%eax) .byte 0 // .byte 0x0 HIDDEN _sk_load_a8_sse2_lowp .globl _sk_load_a8_sse2_lowp FUNCTION(_sk_load_a8_sse2_lowp) _sk_load_a8_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,92 // sub $0x5c,%esp .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,40,85,56 // movaps 0x38(%ebp),%xmm2 .byte 15,40,77,40 // movaps 0x28(%ebp),%xmm1 .byte 102,15,111,69,24 // movdqa 0x18(%ebp),%xmm0 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,89,4 // mov 0x4(%ecx),%ebx .byte 15,175,93,20 // imul 0x14(%ebp),%ebx .byte 3,25 // add (%ecx),%ebx .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 232,0,0,0,0 // call b99e <_sk_load_a8_sse2_lowp+0x3a> .byte 95 // pop %edi .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 119,28 // ja b9c0 <_sk_load_a8_sse2_lowp+0x5c> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 15,182,201 // movzbl %cl,%ecx .byte 139,140,143,198,0,0,0 // mov 0xc6(%edi,%ecx,4),%ecx .byte 1,249 // add %edi,%ecx .byte 255,225 // jmp *%ecx .byte 15,182,12,51 // movzbl (%ebx,%esi,1),%ecx .byte 102,15,110,217 // movd %ecx,%xmm3 .byte 235,90 // jmp ba1a <_sk_load_a8_sse2_lowp+0xb6> .byte 243,15,126,28,51 // movq (%ebx,%esi,1),%xmm3 .byte 102,15,96,216 // punpcklbw %xmm0,%xmm3 .byte 235,79 // jmp ba1a <_sk_load_a8_sse2_lowp+0xb6> .byte 15,182,76,51,2 // movzbl 0x2(%ebx,%esi,1),%ecx .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,196,217,2 // pinsrw $0x2,%ecx,%xmm3 .byte 15,183,12,51 // movzwl (%ebx,%esi,1),%ecx .byte 102,15,110,233 // movd %ecx,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 243,15,16,221 // movss %xmm5,%xmm3 .byte 235,47 // jmp ba1a <_sk_load_a8_sse2_lowp+0xb6> .byte 15,182,76,51,6 // movzbl 0x6(%ebx,%esi,1),%ecx .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,196,217,6 // pinsrw $0x6,%ecx,%xmm3 .byte 15,182,76,51,5 // movzbl 0x5(%ebx,%esi,1),%ecx .byte 102,15,196,217,5 // pinsrw $0x5,%ecx,%xmm3 .byte 15,182,76,51,4 // movzbl 0x4(%ebx,%esi,1),%ecx .byte 102,15,196,217,4 // pinsrw $0x4,%ecx,%xmm3 .byte 102,15,110,44,51 // movd (%ebx,%esi,1),%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 242,15,16,221 // movsd %xmm5,%xmm3 .byte 102,15,219,159,66,25,0,0 // pand 0x1942(%edi),%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,84,36,48 // movaps %xmm2,0x30(%esp) .byte 15,41,76,36,32 // movaps %xmm1,0x20(%esp) .byte 102,15,127,68,36,16 // movdqa %xmm0,0x10(%esp) .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 15,87,201 // xorps %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,80,4 // call *0x4(%eax) .byte 131,196,92 // add $0x5c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 15,31,0 // nopl (%eax) .byte 24,0 // sbb %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 59,0 // cmp (%eax),%eax .byte 0,0 // add %al,(%eax) .byte 45,0,0,0,111 // sub $0x6f000000,%eax .byte 0,0 // add %al,(%eax) .byte 0,101,0 // add %ah,0x0(%ebp) .byte 0,0 // add %al,(%eax) .byte 91 // pop %ebx .byte 0,0 // add %al,(%eax) .byte 0,77,0 // add %cl,0x0(%ebp) .byte 0,0 // add %al,(%eax) HIDDEN _sk_load_a8_dst_sse2_lowp .globl _sk_load_a8_dst_sse2_lowp FUNCTION(_sk_load_a8_dst_sse2_lowp) _sk_load_a8_dst_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,92 // sub $0x5c,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,89,4 // mov 0x4(%ecx),%ebx .byte 15,175,93,20 // imul 0x14(%ebp),%ebx .byte 3,25 // add (%ecx),%ebx .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 232,0,0,0,0 // call baa9 <_sk_load_a8_dst_sse2_lowp+0x29> .byte 95 // pop %edi .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 119,28 // ja bacb <_sk_load_a8_dst_sse2_lowp+0x4b> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 15,182,201 // movzbl %cl,%ecx .byte 139,140,143,195,0,0,0 // mov 0xc3(%edi,%ecx,4),%ecx .byte 1,249 // add %edi,%ecx .byte 255,225 // jmp *%ecx .byte 15,182,12,51 // movzbl (%ebx,%esi,1),%ecx .byte 102,15,110,225 // movd %ecx,%xmm4 .byte 235,90 // jmp bb25 <_sk_load_a8_dst_sse2_lowp+0xa5> .byte 243,15,126,36,51 // movq (%ebx,%esi,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 235,79 // jmp bb25 <_sk_load_a8_dst_sse2_lowp+0xa5> .byte 15,182,76,51,2 // movzbl 0x2(%ebx,%esi,1),%ecx .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,196,225,2 // pinsrw $0x2,%ecx,%xmm4 .byte 15,183,12,51 // movzwl (%ebx,%esi,1),%ecx .byte 102,15,110,233 // movd %ecx,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 243,15,16,229 // movss %xmm5,%xmm4 .byte 235,47 // jmp bb25 <_sk_load_a8_dst_sse2_lowp+0xa5> .byte 15,182,76,51,6 // movzbl 0x6(%ebx,%esi,1),%ecx .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,196,225,6 // pinsrw $0x6,%ecx,%xmm4 .byte 15,182,76,51,5 // movzbl 0x5(%ebx,%esi,1),%ecx .byte 102,15,196,225,5 // pinsrw $0x5,%ecx,%xmm4 .byte 15,182,76,51,4 // movzbl 0x4(%ebx,%esi,1),%ecx .byte 102,15,196,225,4 // pinsrw $0x4,%ecx,%xmm4 .byte 102,15,110,44,51 // movd (%ebx,%esi,1),%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 102,15,219,167,55,24,0,0 // pand 0x1837(%edi),%xmm4 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 102,15,127,100,36,64 // movdqa %xmm4,0x40(%esp) .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,127,100,36,48 // movdqa %xmm4,0x30(%esp) .byte 102,15,127,100,36,32 // movdqa %xmm4,0x20(%esp) .byte 102,15,127,100,36,16 // movdqa %xmm4,0x10(%esp) .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,92 // add $0x5c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 15,31,0 // nopl (%eax) .byte 24,0 // sbb %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 59,0 // cmp (%eax),%eax .byte 0,0 // add %al,(%eax) .byte 45,0,0,0,111 // sub $0x6f000000,%eax .byte 0,0 // add %al,(%eax) .byte 0,101,0 // add %ah,0x0(%ebp) .byte 0,0 // add %al,(%eax) .byte 91 // pop %ebx .byte 0,0 // add %al,(%eax) .byte 0,77,0 // add %cl,0x0(%ebp) .byte 0,0 // add %al,(%eax) HIDDEN _sk_store_a8_sse2_lowp .globl _sk_store_a8_sse2_lowp FUNCTION(_sk_store_a8_sse2_lowp) _sk_store_a8_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,92 // sub $0x5c,%esp .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 15,40,117,56 // movaps 0x38(%ebp),%xmm6 .byte 15,40,109,40 // movaps 0x28(%ebp),%xmm5 .byte 15,40,101,24 // movaps 0x18(%ebp),%xmm4 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,121,4 // mov 0x4(%ecx),%edi .byte 15,175,125,20 // imul 0x14(%ebp),%edi .byte 3,57 // add (%ecx),%edi .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 232,0,0,0,0 // call bbc1 <_sk_store_a8_sse2_lowp+0x39> .byte 91 // pop %ebx .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 119,26 // ja bbe1 <_sk_store_a8_sse2_lowp+0x59> .byte 15,182,201 // movzbl %cl,%ecx .byte 139,140,139,223,0,0,0 // mov 0xdf(%ebx,%ecx,4),%ecx .byte 1,217 // add %ebx,%ecx .byte 255,225 // jmp *%ecx .byte 102,15,126,217 // movd %xmm3,%ecx .byte 136,12,55 // mov %cl,(%edi,%esi,1) .byte 233,136,0,0,0 // jmp bc69 <_sk_store_a8_sse2_lowp+0xe1> .byte 102,15,111,163,31,23,0,0 // movdqa 0x171f(%ebx),%xmm4 .byte 102,15,219,227 // pand %xmm3,%xmm4 .byte 102,15,103,228 // packuswb %xmm4,%xmm4 .byte 102,15,214,36,55 // movq %xmm4,(%edi,%esi,1) .byte 15,40,101,24 // movaps 0x18(%ebp),%xmm4 .byte 235,109 // jmp bc69 <_sk_store_a8_sse2_lowp+0xe1> .byte 102,15,197,203,2 // pextrw $0x2,%xmm3,%ecx .byte 136,76,55,2 // mov %cl,0x2(%edi,%esi,1) .byte 102,15,111,163,31,23,0,0 // movdqa 0x171f(%ebx),%xmm4 .byte 102,15,219,227 // pand %xmm3,%xmm4 .byte 102,15,103,228 // packuswb %xmm4,%xmm4 .byte 102,15,126,225 // movd %xmm4,%ecx .byte 15,40,101,24 // movaps 0x18(%ebp),%xmm4 .byte 102,137,12,55 // mov %cx,(%edi,%esi,1) .byte 235,70 // jmp bc69 <_sk_store_a8_sse2_lowp+0xe1> .byte 102,15,197,203,6 // pextrw $0x6,%xmm3,%ecx .byte 136,76,55,6 // mov %cl,0x6(%edi,%esi,1) .byte 102,15,197,203,5 // pextrw $0x5,%xmm3,%ecx .byte 136,76,55,5 // mov %cl,0x5(%edi,%esi,1) .byte 102,15,197,203,4 // pextrw $0x4,%xmm3,%ecx .byte 136,76,55,4 // mov %cl,0x4(%edi,%esi,1) .byte 15,40,254 // movaps %xmm6,%xmm7 .byte 15,40,245 // movaps %xmm5,%xmm6 .byte 15,40,236 // movaps %xmm4,%xmm5 .byte 102,15,111,163,31,23,0,0 // movdqa 0x171f(%ebx),%xmm4 .byte 102,15,219,227 // pand %xmm3,%xmm4 .byte 102,15,103,228 // packuswb %xmm4,%xmm4 .byte 102,15,126,36,55 // movd %xmm4,(%edi,%esi,1) .byte 15,40,229 // movaps %xmm5,%xmm4 .byte 15,40,238 // movaps %xmm6,%xmm5 .byte 15,40,247 // movaps %xmm7,%xmm6 .byte 15,40,125,72 // movaps 0x48(%ebp),%xmm7 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,124,36,64 // movaps %xmm7,0x40(%esp) .byte 15,41,116,36,48 // movaps %xmm6,0x30(%esp) .byte 15,41,108,36,32 // movaps %xmm5,0x20(%esp) .byte 15,41,100,36,16 // movaps %xmm4,0x10(%esp) .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,92 // add $0x5c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 15,31,0 // nopl (%eax) .byte 20,0 // adc $0x0,%al .byte 0,0 // add %al,(%eax) .byte 68 // inc %esp .byte 0,0 // add %al,(%eax) .byte 0,59 // add %bh,(%ebx) .byte 0,0 // add %al,(%eax) .byte 0,125,0 // add %bh,0x0(%ebp) .byte 0,0 // add %al,(%eax) .byte 116,0 // je bcb2 <_sk_store_a8_sse2_lowp+0x12a> .byte 0,0 // add %al,(%eax) .byte 107,0,0 // imul $0x0,(%eax),%eax .byte 0,98,0 // add %ah,0x0(%edx) .byte 0,0 // add %al,(%eax) HIDDEN _sk_load_g8_sse2_lowp .globl _sk_load_g8_sse2_lowp FUNCTION(_sk_load_g8_sse2_lowp) _sk_load_g8_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,92 // sub $0x5c,%esp .byte 15,40,101,72 // movaps 0x48(%ebp),%xmm4 .byte 15,40,93,56 // movaps 0x38(%ebp),%xmm3 .byte 15,40,85,40 // movaps 0x28(%ebp),%xmm2 .byte 15,40,77,24 // movaps 0x18(%ebp),%xmm1 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,89,4 // mov 0x4(%ecx),%ebx .byte 15,175,93,20 // imul 0x14(%ebp),%ebx .byte 3,25 // add (%ecx),%ebx .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 232,0,0,0,0 // call bcf5 <_sk_load_g8_sse2_lowp+0x39> .byte 94 // pop %esi .byte 139,125,16 // mov 0x10(%ebp),%edi .byte 119,28 // ja bd17 <_sk_load_g8_sse2_lowp+0x5b> .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 15,182,201 // movzbl %cl,%ecx .byte 139,140,142,199,0,0,0 // mov 0xc7(%esi,%ecx,4),%ecx .byte 1,241 // add %esi,%ecx .byte 255,225 // jmp *%ecx .byte 15,182,12,59 // movzbl (%ebx,%edi,1),%ecx .byte 102,15,110,193 // movd %ecx,%xmm0 .byte 235,90 // jmp bd71 <_sk_load_g8_sse2_lowp+0xb5> .byte 243,15,126,4,59 // movq (%ebx,%edi,1),%xmm0 .byte 102,15,96,192 // punpcklbw %xmm0,%xmm0 .byte 235,79 // jmp bd71 <_sk_load_g8_sse2_lowp+0xb5> .byte 15,182,76,59,2 // movzbl 0x2(%ebx,%edi,1),%ecx .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,196,193,2 // pinsrw $0x2,%ecx,%xmm0 .byte 15,183,12,59 // movzwl (%ebx,%edi,1),%ecx .byte 102,15,110,233 // movd %ecx,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 243,15,16,197 // movss %xmm5,%xmm0 .byte 235,47 // jmp bd71 <_sk_load_g8_sse2_lowp+0xb5> .byte 15,182,76,59,6 // movzbl 0x6(%ebx,%edi,1),%ecx .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,196,193,6 // pinsrw $0x6,%ecx,%xmm0 .byte 15,182,76,59,5 // movzbl 0x5(%ebx,%edi,1),%ecx .byte 102,15,196,193,5 // pinsrw $0x5,%ecx,%xmm0 .byte 15,182,76,59,4 // movzbl 0x4(%ebx,%edi,1),%ecx .byte 102,15,196,193,4 // pinsrw $0x4,%ecx,%xmm0 .byte 102,15,110,44,59 // movd (%ebx,%edi,1),%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 242,15,16,197 // movsd %xmm5,%xmm0 .byte 102,15,219,134,235,21,0,0 // pand 0x15eb(%esi),%xmm0 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,41,100,36,64 // movaps %xmm4,0x40(%esp) .byte 15,41,92,36,48 // movaps %xmm3,0x30(%esp) .byte 15,41,84,36,32 // movaps %xmm2,0x20(%esp) .byte 15,41,76,36,16 // movaps %xmm1,0x10(%esp) .byte 139,93,20 // mov 0x14(%ebp),%ebx .byte 137,92,36,12 // mov %ebx,0xc(%esp) .byte 137,124,36,8 // mov %edi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 15,40,158,235,21,0,0 // movaps 0x15eb(%esi),%xmm3 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,111,208 // movdqa %xmm0,%xmm2 .byte 255,80,4 // call *0x4(%eax) .byte 131,196,92 // add $0x5c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 24,0 // sbb %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 59,0 // cmp (%eax),%eax .byte 0,0 // add %al,(%eax) .byte 45,0,0,0,111 // sub $0x6f000000,%eax .byte 0,0 // add %al,(%eax) .byte 0,101,0 // add %ah,0x0(%ebp) .byte 0,0 // add %al,(%eax) .byte 91 // pop %ebx .byte 0,0 // add %al,(%eax) .byte 0,77,0 // add %cl,0x0(%ebp) .byte 0,0 // add %al,(%eax) HIDDEN _sk_load_g8_dst_sse2_lowp .globl _sk_load_g8_dst_sse2_lowp FUNCTION(_sk_load_g8_dst_sse2_lowp) _sk_load_g8_dst_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,92 // sub $0x5c,%esp .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,89,4 // mov 0x4(%ecx),%ebx .byte 15,175,93,20 // imul 0x14(%ebp),%ebx .byte 3,25 // add (%ecx),%ebx .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 232,0,0,0,0 // call be01 <_sk_load_g8_dst_sse2_lowp+0x29> .byte 95 // pop %edi .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 119,28 // ja be23 <_sk_load_g8_dst_sse2_lowp+0x4b> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 15,182,201 // movzbl %cl,%ecx .byte 139,140,143,195,0,0,0 // mov 0xc3(%edi,%ecx,4),%ecx .byte 1,249 // add %edi,%ecx .byte 255,225 // jmp *%ecx .byte 15,182,12,51 // movzbl (%ebx,%esi,1),%ecx .byte 102,15,110,225 // movd %ecx,%xmm4 .byte 235,90 // jmp be7d <_sk_load_g8_dst_sse2_lowp+0xa5> .byte 243,15,126,36,51 // movq (%ebx,%esi,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 235,79 // jmp be7d <_sk_load_g8_dst_sse2_lowp+0xa5> .byte 15,182,76,51,2 // movzbl 0x2(%ebx,%esi,1),%ecx .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,196,225,2 // pinsrw $0x2,%ecx,%xmm4 .byte 15,183,12,51 // movzwl (%ebx,%esi,1),%ecx .byte 102,15,110,233 // movd %ecx,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 243,15,16,229 // movss %xmm5,%xmm4 .byte 235,47 // jmp be7d <_sk_load_g8_dst_sse2_lowp+0xa5> .byte 15,182,76,51,6 // movzbl 0x6(%ebx,%esi,1),%ecx .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,196,225,6 // pinsrw $0x6,%ecx,%xmm4 .byte 15,182,76,51,5 // movzbl 0x5(%ebx,%esi,1),%ecx .byte 102,15,196,225,5 // pinsrw $0x5,%ecx,%xmm4 .byte 15,182,76,51,4 // movzbl 0x4(%ebx,%esi,1),%ecx .byte 102,15,196,225,4 // pinsrw $0x4,%ecx,%xmm4 .byte 102,15,110,44,51 // movd (%ebx,%esi,1),%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 102,15,219,167,223,20,0,0 // pand 0x14df(%edi),%xmm4 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,40,175,223,20,0,0 // movaps 0x14df(%edi),%xmm5 .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 102,15,127,100,36,48 // movdqa %xmm4,0x30(%esp) .byte 102,15,127,100,36,32 // movdqa %xmm4,0x20(%esp) .byte 102,15,127,100,36,16 // movdqa %xmm4,0x10(%esp) .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,92 // add $0x5c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 144 // nop .byte 24,0 // sbb %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 59,0 // cmp (%eax),%eax .byte 0,0 // add %al,(%eax) .byte 45,0,0,0,111 // sub $0x6f000000,%eax .byte 0,0 // add %al,(%eax) .byte 0,101,0 // add %ah,0x0(%ebp) .byte 0,0 // add %al,(%eax) .byte 91 // pop %ebx .byte 0,0 // add %al,(%eax) .byte 0,77,0 // add %cl,0x0(%ebp) .byte 0,0 // add %al,(%eax) HIDDEN _sk_luminance_to_alpha_sse2_lowp .globl _sk_luminance_to_alpha_sse2_lowp FUNCTION(_sk_luminance_to_alpha_sse2_lowp) _sk_luminance_to_alpha_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 232,0,0,0,0 // call bef1 <_sk_luminance_to_alpha_sse2_lowp+0x11> .byte 88 // pop %eax .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 15,40,85,24 // movaps 0x18(%ebp),%xmm2 .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,40,109,56 // movaps 0x38(%ebp),%xmm5 .byte 15,40,117,72 // movaps 0x48(%ebp),%xmm6 .byte 139,125,12 // mov 0xc(%ebp),%edi .byte 102,15,213,128,127,20,0,0 // pmullw 0x147f(%eax),%xmm0 .byte 102,15,213,136,143,20,0,0 // pmullw 0x148f(%eax),%xmm1 .byte 102,15,253,200 // paddw %xmm0,%xmm1 .byte 102,15,213,152,159,20,0,0 // pmullw 0x149f(%eax),%xmm3 .byte 102,15,253,217 // paddw %xmm1,%xmm3 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 141,71,4 // lea 0x4(%edi),%eax .byte 15,41,116,36,64 // movaps %xmm6,0x40(%esp) .byte 15,41,108,36,48 // movaps %xmm5,0x30(%esp) .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 15,41,84,36,16 // movaps %xmm2,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,68,36,4 // mov %eax,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,239,201 // pxor %xmm1,%xmm1 .byte 15,87,210 // xorps %xmm2,%xmm2 .byte 255,23 // call *(%edi) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_scale_1_float_sse2_lowp .globl _sk_scale_1_float_sse2_lowp FUNCTION(_sk_scale_1_float_sse2_lowp) _sk_scale_1_float_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 232,0,0,0,0 // call bf7a <_sk_scale_1_float_sse2_lowp+0xd> .byte 94 // pop %esi .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,77,12 // mov 0xc(%ebp),%ecx .byte 139,57 // mov (%ecx),%edi .byte 243,15,16,39 // movss (%edi),%xmm4 .byte 243,15,89,166,42,20,0,0 // mulss 0x142a(%esi),%xmm4 .byte 243,15,88,166,38,20,0,0 // addss 0x1426(%esi),%xmm4 .byte 243,15,44,252 // cvttss2si %xmm4,%edi .byte 102,15,110,239 // movd %edi,%xmm5 .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 15,40,101,24 // movaps 0x18(%ebp),%xmm4 .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 242,15,112,237,0 // pshuflw $0x0,%xmm5,%xmm5 .byte 102,15,112,237,80 // pshufd $0x50,%xmm5,%xmm5 .byte 102,15,213,197 // pmullw %xmm5,%xmm0 .byte 102,15,213,205 // pmullw %xmm5,%xmm1 .byte 102,15,213,213 // pmullw %xmm5,%xmm2 .byte 102,15,213,221 // pmullw %xmm5,%xmm3 .byte 102,15,111,174,102,19,0,0 // movdqa 0x1366(%esi),%xmm5 .byte 102,15,253,197 // paddw %xmm5,%xmm0 .byte 102,15,253,205 // paddw %xmm5,%xmm1 .byte 102,15,253,213 // paddw %xmm5,%xmm2 .byte 102,15,253,221 // paddw %xmm5,%xmm3 .byte 15,40,109,72 // movaps 0x48(%ebp),%xmm5 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 141,113,8 // lea 0x8(%ecx),%esi .byte 15,41,108,36,64 // movaps %xmm5,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 15,41,100,36,16 // movaps %xmm4,0x10(%esp) .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,116,36,4 // mov %esi,0x4(%esp) .byte 137,4,36 // mov %eax,(%esp) .byte 255,81,4 // call *0x4(%ecx) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_lerp_1_float_sse2_lowp .globl _sk_lerp_1_float_sse2_lowp FUNCTION(_sk_lerp_1_float_sse2_lowp) _sk_lerp_1_float_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,80 // sub $0x50,%esp .byte 102,15,111,227 // movdqa %xmm3,%xmm4 .byte 102,15,111,218 // movdqa %xmm2,%xmm3 .byte 102,15,111,209 // movdqa %xmm1,%xmm2 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 232,0,0,0,0 // call c048 <_sk_lerp_1_float_sse2_lowp+0x1d> .byte 89 // pop %ecx .byte 102,15,111,109,24 // movdqa 0x18(%ebp),%xmm5 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,16 // mov (%eax),%edx .byte 243,15,16,50 // movss (%edx),%xmm6 .byte 243,15,89,177,92,19,0,0 // mulss 0x135c(%ecx),%xmm6 .byte 243,15,88,177,88,19,0,0 // addss 0x1358(%ecx),%xmm6 .byte 243,15,44,214 // cvttss2si %xmm6,%edx .byte 102,15,110,242 // movd %edx,%xmm6 .byte 242,15,112,246,0 // pshuflw $0x0,%xmm6,%xmm6 .byte 102,15,112,246,80 // pshufd $0x50,%xmm6,%xmm6 .byte 102,15,111,129,152,18,0,0 // movdqa 0x1298(%ecx),%xmm0 .byte 102,15,213,206 // pmullw %xmm6,%xmm1 .byte 102,15,253,200 // paddw %xmm0,%xmm1 .byte 102,15,213,214 // pmullw %xmm6,%xmm2 .byte 102,15,253,208 // paddw %xmm0,%xmm2 .byte 102,15,213,222 // pmullw %xmm6,%xmm3 .byte 102,15,253,216 // paddw %xmm0,%xmm3 .byte 102,15,213,230 // pmullw %xmm6,%xmm4 .byte 102,15,253,224 // paddw %xmm0,%xmm4 .byte 102,15,249,198 // psubw %xmm6,%xmm0 .byte 102,15,111,240 // movdqa %xmm0,%xmm6 .byte 102,15,213,245 // pmullw %xmm5,%xmm6 .byte 102,15,253,206 // paddw %xmm6,%xmm1 .byte 102,15,111,240 // movdqa %xmm0,%xmm6 .byte 102,15,213,117,40 // pmullw 0x28(%ebp),%xmm6 .byte 102,15,253,214 // paddw %xmm6,%xmm2 .byte 102,15,111,117,56 // movdqa 0x38(%ebp),%xmm6 .byte 102,15,111,248 // movdqa %xmm0,%xmm7 .byte 102,15,213,254 // pmullw %xmm6,%xmm7 .byte 102,15,253,223 // paddw %xmm7,%xmm3 .byte 102,15,111,125,72 // movdqa 0x48(%ebp),%xmm7 .byte 102,15,213,199 // pmullw %xmm7,%xmm0 .byte 102,15,253,224 // paddw %xmm0,%xmm4 .byte 139,77,8 // mov 0x8(%ebp),%ecx .byte 139,85,16 // mov 0x10(%ebp),%edx .byte 139,117,20 // mov 0x14(%ebp),%esi .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,113,212,8 // psrlw $0x8,%xmm4 .byte 141,120,8 // lea 0x8(%eax),%edi .byte 102,15,127,124,36,64 // movdqa %xmm7,0x40(%esp) .byte 102,15,127,116,36,48 // movdqa %xmm6,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 102,15,127,108,36,16 // movdqa %xmm5,0x10(%esp) .byte 137,116,36,12 // mov %esi,0xc(%esp) .byte 137,84,36,8 // mov %edx,0x8(%esp) .byte 137,124,36,4 // mov %edi,0x4(%esp) .byte 137,12,36 // mov %ecx,(%esp) .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,111,220 // movdqa %xmm4,%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 131,196,80 // add $0x50,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 93 // pop %ebp .byte 195 // ret HIDDEN _sk_scale_u8_sse2_lowp .globl _sk_scale_u8_sse2_lowp FUNCTION(_sk_scale_u8_sse2_lowp) _sk_scale_u8_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,92 // sub $0x5c,%esp .byte 15,40,125,56 // movaps 0x38(%ebp),%xmm7 .byte 15,40,117,40 // movaps 0x28(%ebp),%xmm6 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,89,4 // mov 0x4(%ecx),%ebx .byte 15,175,93,20 // imul 0x14(%ebp),%ebx .byte 3,25 // add (%ecx),%ebx .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 232,0,0,0,0 // call c171 <_sk_scale_u8_sse2_lowp+0x31> .byte 95 // pop %edi .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 119,28 // ja c193 <_sk_scale_u8_sse2_lowp+0x53> .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 15,182,201 // movzbl %cl,%ecx .byte 139,140,143,3,1,0,0 // mov 0x103(%edi,%ecx,4),%ecx .byte 1,249 // add %edi,%ecx .byte 255,225 // jmp *%ecx .byte 15,182,12,51 // movzbl (%ebx,%esi,1),%ecx .byte 102,15,110,225 // movd %ecx,%xmm4 .byte 235,90 // jmp c1ed <_sk_scale_u8_sse2_lowp+0xad> .byte 243,15,126,36,51 // movq (%ebx,%esi,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 235,79 // jmp c1ed <_sk_scale_u8_sse2_lowp+0xad> .byte 15,182,76,51,2 // movzbl 0x2(%ebx,%esi,1),%ecx .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,196,225,2 // pinsrw $0x2,%ecx,%xmm4 .byte 15,183,12,51 // movzwl (%ebx,%esi,1),%ecx .byte 102,15,110,233 // movd %ecx,%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 243,15,16,229 // movss %xmm5,%xmm4 .byte 235,47 // jmp c1ed <_sk_scale_u8_sse2_lowp+0xad> .byte 15,182,76,51,6 // movzbl 0x6(%ebx,%esi,1),%ecx .byte 102,15,239,228 // pxor %xmm4,%xmm4 .byte 102,15,196,225,6 // pinsrw $0x6,%ecx,%xmm4 .byte 15,182,76,51,5 // movzbl 0x5(%ebx,%esi,1),%ecx .byte 102,15,196,225,5 // pinsrw $0x5,%ecx,%xmm4 .byte 15,182,76,51,4 // movzbl 0x4(%ebx,%esi,1),%ecx .byte 102,15,196,225,4 // pinsrw $0x4,%ecx,%xmm4 .byte 102,15,110,44,51 // movd (%ebx,%esi,1),%xmm5 .byte 102,15,96,232 // punpcklbw %xmm0,%xmm5 .byte 242,15,16,229 // movsd %xmm5,%xmm4 .byte 102,15,219,167,111,17,0,0 // pand 0x116f(%edi),%xmm4 .byte 102,15,213,196 // pmullw %xmm4,%xmm0 .byte 102,15,111,175,111,17,0,0 // movdqa 0x116f(%edi),%xmm5 .byte 102,15,253,197 // paddw %xmm5,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,213,204 // pmullw %xmm4,%xmm1 .byte 102,15,253,205 // paddw %xmm5,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,213,212 // pmullw %xmm4,%xmm2 .byte 102,15,253,213 // paddw %xmm5,%xmm2 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,213,227 // pmullw %xmm3,%xmm4 .byte 102,15,253,229 // paddw %xmm5,%xmm4 .byte 102,15,113,212,8 // psrlw $0x8,%xmm4 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,40,93,72 // movaps 0x48(%ebp),%xmm3 .byte 15,41,92,36,64 // movaps %xmm3,0x40(%esp) .byte 15,41,124,36,48 // movaps %xmm7,0x30(%esp) .byte 15,41,116,36,32 // movaps %xmm6,0x20(%esp) .byte 15,40,93,24 // movaps 0x18(%ebp),%xmm3 .byte 15,41,92,36,16 // movaps %xmm3,0x10(%esp) .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 102,15,111,220 // movdqa %xmm4,%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 131,196,92 // add $0x5c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 15,31,0 // nopl (%eax) .byte 24,0 // sbb %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 59,0 // cmp (%eax),%eax .byte 0,0 // add %al,(%eax) .byte 45,0,0,0,111 // sub $0x6f000000,%eax .byte 0,0 // add %al,(%eax) .byte 0,101,0 // add %ah,0x0(%ebp) .byte 0,0 // add %al,(%eax) .byte 91 // pop %ebx .byte 0,0 // add %al,(%eax) .byte 0,77,0 // add %cl,0x0(%ebp) .byte 0,0 // add %al,(%eax) HIDDEN _sk_lerp_u8_sse2_lowp .globl _sk_lerp_u8_sse2_lowp FUNCTION(_sk_lerp_u8_sse2_lowp) _sk_lerp_u8_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 131,236,108 // sub $0x6c,%esp .byte 102,15,127,93,216 // movdqa %xmm3,-0x28(%ebp) .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,89,4 // mov 0x4(%ecx),%ebx .byte 15,175,93,20 // imul 0x14(%ebp),%ebx .byte 3,25 // add (%ecx),%ebx .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 232,0,0,0,0 // call c2be <_sk_lerp_u8_sse2_lowp+0x2e> .byte 95 // pop %edi .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 119,28 // ja c2e0 <_sk_lerp_u8_sse2_lowp+0x50> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 15,182,201 // movzbl %cl,%ecx .byte 139,140,143,74,1,0,0 // mov 0x14a(%edi,%ecx,4),%ecx .byte 1,249 // add %edi,%ecx .byte 255,225 // jmp *%ecx .byte 15,182,12,51 // movzbl (%ebx,%esi,1),%ecx .byte 102,15,110,217 // movd %ecx,%xmm3 .byte 235,90 // jmp c33a <_sk_lerp_u8_sse2_lowp+0xaa> .byte 243,15,126,28,51 // movq (%ebx,%esi,1),%xmm3 .byte 102,15,96,216 // punpcklbw %xmm0,%xmm3 .byte 235,79 // jmp c33a <_sk_lerp_u8_sse2_lowp+0xaa> .byte 15,182,76,51,2 // movzbl 0x2(%ebx,%esi,1),%ecx .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,196,217,2 // pinsrw $0x2,%ecx,%xmm3 .byte 15,183,12,51 // movzwl (%ebx,%esi,1),%ecx .byte 102,15,110,225 // movd %ecx,%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 243,15,16,220 // movss %xmm4,%xmm3 .byte 235,47 // jmp c33a <_sk_lerp_u8_sse2_lowp+0xaa> .byte 15,182,76,51,6 // movzbl 0x6(%ebx,%esi,1),%ecx .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,196,217,6 // pinsrw $0x6,%ecx,%xmm3 .byte 15,182,76,51,5 // movzbl 0x5(%ebx,%esi,1),%ecx .byte 102,15,196,217,5 // pinsrw $0x5,%ecx,%xmm3 .byte 15,182,76,51,4 // movzbl 0x4(%ebx,%esi,1),%ecx .byte 102,15,196,217,4 // pinsrw $0x4,%ecx,%xmm3 .byte 102,15,110,36,51 // movd (%ebx,%esi,1),%xmm4 .byte 102,15,96,224 // punpcklbw %xmm0,%xmm4 .byte 242,15,16,220 // movsd %xmm4,%xmm3 .byte 102,15,219,159,34,16,0,0 // pand 0x1022(%edi),%xmm3 .byte 102,15,111,183,34,16,0,0 // movdqa 0x1022(%edi),%xmm6 .byte 102,15,111,227 // movdqa %xmm3,%xmm4 .byte 102,15,239,230 // pxor %xmm6,%xmm4 .byte 102,15,111,252 // movdqa %xmm4,%xmm7 .byte 102,15,111,109,24 // movdqa 0x18(%ebp),%xmm5 .byte 102,15,213,253 // pmullw %xmm5,%xmm7 .byte 102,15,213,195 // pmullw %xmm3,%xmm0 .byte 102,15,253,198 // paddw %xmm6,%xmm0 .byte 102,15,253,199 // paddw %xmm7,%xmm0 .byte 102,15,111,252 // movdqa %xmm4,%xmm7 .byte 102,15,111,109,40 // movdqa 0x28(%ebp),%xmm5 .byte 102,15,213,253 // pmullw %xmm5,%xmm7 .byte 102,15,213,203 // pmullw %xmm3,%xmm1 .byte 102,15,253,206 // paddw %xmm6,%xmm1 .byte 102,15,253,207 // paddw %xmm7,%xmm1 .byte 102,15,111,252 // movdqa %xmm4,%xmm7 .byte 102,15,111,109,56 // movdqa 0x38(%ebp),%xmm5 .byte 102,15,213,253 // pmullw %xmm5,%xmm7 .byte 102,15,213,211 // pmullw %xmm3,%xmm2 .byte 102,15,253,214 // paddw %xmm6,%xmm2 .byte 102,15,253,215 // paddw %xmm7,%xmm2 .byte 102,15,213,93,216 // pmullw -0x28(%ebp),%xmm3 .byte 102,15,253,222 // paddw %xmm6,%xmm3 .byte 102,15,111,117,72 // movdqa 0x48(%ebp),%xmm6 .byte 102,15,213,230 // pmullw %xmm6,%xmm4 .byte 102,15,253,220 // paddw %xmm4,%xmm3 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 102,15,127,116,36,64 // movdqa %xmm6,0x40(%esp) .byte 102,15,127,108,36,48 // movdqa %xmm5,0x30(%esp) .byte 15,40,101,40 // movaps 0x28(%ebp),%xmm4 .byte 15,41,100,36,32 // movaps %xmm4,0x20(%esp) .byte 15,40,101,24 // movaps 0x18(%ebp),%xmm4 .byte 15,41,100,36,16 // movaps %xmm4,0x10(%esp) .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 255,80,4 // call *0x4(%eax) .byte 131,196,108 // add $0x6c,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 15,31,0 // nopl (%eax) .byte 24,0 // sbb %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 59,0 // cmp (%eax),%eax .byte 0,0 // add %al,(%eax) .byte 45,0,0,0,111 // sub $0x6f000000,%eax .byte 0,0 // add %al,(%eax) .byte 0,101,0 // add %ah,0x0(%ebp) .byte 0,0 // add %al,(%eax) .byte 91 // pop %ebx .byte 0,0 // add %al,(%eax) .byte 0,77,0 // add %cl,0x0(%ebp) .byte 0,0 // add %al,(%eax) HIDDEN _sk_scale_565_sse2_lowp .globl _sk_scale_565_sse2_lowp FUNCTION(_sk_scale_565_sse2_lowp) _sk_scale_565_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,188,0,0,0 // sub $0xbc,%esp .byte 102,15,111,243 // movdqa %xmm3,%xmm6 .byte 15,41,85,136 // movaps %xmm2,-0x78(%ebp) .byte 15,41,77,152 // movaps %xmm1,-0x68(%ebp) .byte 15,41,69,168 // movaps %xmm0,-0x58(%ebp) .byte 102,15,111,125,72 // movdqa 0x48(%ebp),%xmm7 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,89,4 // mov 0x4(%ecx),%ebx .byte 15,175,93,20 // imul 0x14(%ebp),%ebx .byte 1,219 // add %ebx,%ebx .byte 3,25 // add (%ecx),%ebx .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 232,0,0,0,0 // call c467 <_sk_scale_565_sse2_lowp+0x43> .byte 95 // pop %edi .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 119,28 // ja c489 <_sk_scale_565_sse2_lowp+0x65> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 15,182,201 // movzbl %cl,%ecx .byte 139,140,143,249,1,0,0 // mov 0x1f9(%edi,%ecx,4),%ecx .byte 1,249 // add %edi,%ecx .byte 255,225 // jmp *%ecx .byte 15,183,12,115 // movzwl (%ebx,%esi,2),%ecx .byte 102,15,110,217 // movd %ecx,%xmm3 .byte 235,59 // jmp c4c4 <_sk_scale_565_sse2_lowp+0xa0> .byte 243,15,111,28,115 // movdqu (%ebx,%esi,2),%xmm3 .byte 235,52 // jmp c4c4 <_sk_scale_565_sse2_lowp+0xa0> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,196,92,115,4,2 // pinsrw $0x2,0x4(%ebx,%esi,2),%xmm3 .byte 243,15,16,12,115 // movss (%ebx,%esi,2),%xmm1 .byte 243,15,16,217 // movss %xmm1,%xmm3 .byte 235,30 // jmp c4c4 <_sk_scale_565_sse2_lowp+0xa0> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,196,92,115,12,6 // pinsrw $0x6,0xc(%ebx,%esi,2),%xmm3 .byte 102,15,196,92,115,10,5 // pinsrw $0x5,0xa(%ebx,%esi,2),%xmm3 .byte 102,15,196,92,115,8,4 // pinsrw $0x4,0x8(%ebx,%esi,2),%xmm3 .byte 102,15,18,28,115 // movlpd (%ebx,%esi,2),%xmm3 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,219,143,185,14,0,0 // pand 0xeb9(%edi),%xmm1 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,113,210,5 // psrlw $0x5,%xmm2 .byte 102,15,219,151,201,14,0,0 // pand 0xec9(%edi),%xmm2 .byte 102,15,111,135,217,14,0,0 // movdqa 0xed9(%edi),%xmm0 .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 102,15,113,211,13 // psrlw $0xd,%xmm3 .byte 102,15,235,217 // por %xmm1,%xmm3 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,113,241,2 // psllw $0x2,%xmm1 .byte 102,15,113,210,4 // psrlw $0x4,%xmm2 .byte 102,15,235,209 // por %xmm1,%xmm2 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,113,241,3 // psllw $0x3,%xmm1 .byte 102,15,113,208,2 // psrlw $0x2,%xmm0 .byte 102,15,235,193 // por %xmm1,%xmm0 .byte 102,15,127,69,200 // movdqa %xmm0,-0x38(%ebp) .byte 102,15,111,167,153,14,0,0 // movdqa 0xe99(%edi),%xmm4 .byte 15,41,117,184 // movaps %xmm6,-0x48(%ebp) .byte 102,15,239,244 // pxor %xmm4,%xmm6 .byte 102,15,239,252 // pxor %xmm4,%xmm7 .byte 102,15,101,254 // pcmpgtw %xmm6,%xmm7 .byte 102,15,111,240 // movdqa %xmm0,%xmm6 .byte 102,15,239,244 // pxor %xmm4,%xmm6 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,239,204 // pxor %xmm4,%xmm1 .byte 102,15,101,241 // pcmpgtw %xmm1,%xmm6 .byte 102,15,111,206 // movdqa %xmm6,%xmm1 .byte 102,15,223,200 // pandn %xmm0,%xmm1 .byte 102,15,111,234 // movdqa %xmm2,%xmm5 .byte 102,15,219,238 // pand %xmm6,%xmm5 .byte 102,15,235,233 // por %xmm1,%xmm5 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,239,204 // pxor %xmm4,%xmm1 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,235,196 // por %xmm4,%xmm0 .byte 102,15,127,69,216 // movdqa %xmm0,-0x28(%ebp) .byte 102,15,101,200 // pcmpgtw %xmm0,%xmm1 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,219,193 // pand %xmm1,%xmm0 .byte 102,15,223,205 // pandn %xmm5,%xmm1 .byte 102,15,235,200 // por %xmm0,%xmm1 .byte 102,15,111,109,200 // movdqa -0x38(%ebp),%xmm5 .byte 102,15,111,197 // movdqa %xmm5,%xmm0 .byte 102,15,219,198 // pand %xmm6,%xmm0 .byte 102,15,223,242 // pandn %xmm2,%xmm6 .byte 102,15,235,240 // por %xmm0,%xmm6 .byte 102,15,239,230 // pxor %xmm6,%xmm4 .byte 102,15,101,101,216 // pcmpgtw -0x28(%ebp),%xmm4 .byte 102,15,219,244 // pand %xmm4,%xmm6 .byte 102,15,223,227 // pandn %xmm3,%xmm4 .byte 102,15,235,230 // por %xmm6,%xmm4 .byte 102,15,219,207 // pand %xmm7,%xmm1 .byte 102,15,223,252 // pandn %xmm4,%xmm7 .byte 102,15,235,249 // por %xmm1,%xmm7 .byte 102,15,213,93,168 // pmullw -0x58(%ebp),%xmm3 .byte 102,15,213,85,152 // pmullw -0x68(%ebp),%xmm2 .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,15,213,101,136 // pmullw -0x78(%ebp),%xmm4 .byte 102,15,213,125,184 // pmullw -0x48(%ebp),%xmm7 .byte 102,15,111,135,121,14,0,0 // movdqa 0xe79(%edi),%xmm0 .byte 102,15,253,216 // paddw %xmm0,%xmm3 .byte 102,15,253,208 // paddw %xmm0,%xmm2 .byte 102,15,253,224 // paddw %xmm0,%xmm4 .byte 102,15,253,248 // paddw %xmm0,%xmm7 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,212,8 // psrlw $0x8,%xmm4 .byte 102,15,113,215,8 // psrlw $0x8,%xmm7 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 15,40,69,72 // movaps 0x48(%ebp),%xmm0 .byte 15,41,68,36,64 // movaps %xmm0,0x40(%esp) .byte 15,40,69,56 // movaps 0x38(%ebp),%xmm0 .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,40,69,40 // movaps 0x28(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 15,40,69,24 // movaps 0x18(%ebp),%xmm0 .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 102,15,111,223 // movdqa %xmm7,%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 129,196,188,0,0,0 // add $0xbc,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 102,144 // xchg %ax,%ax .byte 24,0 // sbb %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%eax) .byte 41,0 // sub %eax,(%eax) .byte 0,0 // add %al,(%eax) .byte 88 // pop %eax .byte 0,0 // add %al,(%eax) .byte 0,81,0 // add %dl,0x0(%ecx) .byte 0,0 // add %al,(%eax) .byte 74 // dec %edx .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0 // .byte 0x0 HIDDEN _sk_lerp_565_sse2_lowp .globl _sk_lerp_565_sse2_lowp FUNCTION(_sk_lerp_565_sse2_lowp) _sk_lerp_565_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,188,0,0,0 // sub $0xbc,%esp .byte 102,15,111,243 // movdqa %xmm3,%xmm6 .byte 15,41,85,136 // movaps %xmm2,-0x78(%ebp) .byte 15,41,77,152 // movaps %xmm1,-0x68(%ebp) .byte 15,41,69,168 // movaps %xmm0,-0x58(%ebp) .byte 102,15,111,125,72 // movdqa 0x48(%ebp),%xmm7 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,89,4 // mov 0x4(%ecx),%ebx .byte 15,175,93,20 // imul 0x14(%ebp),%ebx .byte 1,219 // add %ebx,%ebx .byte 3,25 // add (%ecx),%ebx .byte 137,209 // mov %edx,%ecx .byte 128,225,7 // and $0x7,%cl .byte 254,201 // dec %cl .byte 128,249,6 // cmp $0x6,%cl .byte 232,0,0,0,0 // call c6bf <_sk_lerp_565_sse2_lowp+0x43> .byte 95 // pop %edi .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 119,28 // ja c6e1 <_sk_lerp_565_sse2_lowp+0x65> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 15,182,201 // movzbl %cl,%ecx .byte 139,140,143,73,2,0,0 // mov 0x249(%edi,%ecx,4),%ecx .byte 1,249 // add %edi,%ecx .byte 255,225 // jmp *%ecx .byte 15,183,12,115 // movzwl (%ebx,%esi,2),%ecx .byte 102,15,110,217 // movd %ecx,%xmm3 .byte 235,59 // jmp c71c <_sk_lerp_565_sse2_lowp+0xa0> .byte 243,15,111,28,115 // movdqu (%ebx,%esi,2),%xmm3 .byte 235,52 // jmp c71c <_sk_lerp_565_sse2_lowp+0xa0> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,196,92,115,4,2 // pinsrw $0x2,0x4(%ebx,%esi,2),%xmm3 .byte 243,15,16,12,115 // movss (%ebx,%esi,2),%xmm1 .byte 243,15,16,217 // movss %xmm1,%xmm3 .byte 235,30 // jmp c71c <_sk_lerp_565_sse2_lowp+0xa0> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,196,92,115,12,6 // pinsrw $0x6,0xc(%ebx,%esi,2),%xmm3 .byte 102,15,196,92,115,10,5 // pinsrw $0x5,0xa(%ebx,%esi,2),%xmm3 .byte 102,15,196,92,115,8,4 // pinsrw $0x4,0x8(%ebx,%esi,2),%xmm3 .byte 102,15,18,28,115 // movlpd (%ebx,%esi,2),%xmm3 .byte 102,15,111,203 // movdqa %xmm3,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,219,143,97,12,0,0 // pand 0xc61(%edi),%xmm1 .byte 102,15,111,211 // movdqa %xmm3,%xmm2 .byte 102,15,113,210,5 // psrlw $0x5,%xmm2 .byte 102,15,219,151,113,12,0,0 // pand 0xc71(%edi),%xmm2 .byte 102,15,111,175,129,12,0,0 // movdqa 0xc81(%edi),%xmm5 .byte 102,15,219,235 // pand %xmm3,%xmm5 .byte 102,15,113,211,13 // psrlw $0xd,%xmm3 .byte 102,15,235,217 // por %xmm1,%xmm3 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,113,241,2 // psllw $0x2,%xmm1 .byte 102,15,113,210,4 // psrlw $0x4,%xmm2 .byte 102,15,235,209 // por %xmm1,%xmm2 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,113,241,3 // psllw $0x3,%xmm1 .byte 102,15,113,213,2 // psrlw $0x2,%xmm5 .byte 102,15,235,233 // por %xmm1,%xmm5 .byte 102,15,127,109,216 // movdqa %xmm5,-0x28(%ebp) .byte 102,15,111,167,65,12,0,0 // movdqa 0xc41(%edi),%xmm4 .byte 102,15,111,198 // movdqa %xmm6,%xmm0 .byte 102,15,111,200 // movdqa %xmm0,%xmm1 .byte 102,15,239,204 // pxor %xmm4,%xmm1 .byte 102,15,239,252 // pxor %xmm4,%xmm7 .byte 102,15,101,249 // pcmpgtw %xmm1,%xmm7 .byte 102,15,111,245 // movdqa %xmm5,%xmm6 .byte 102,15,239,244 // pxor %xmm4,%xmm6 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,239,204 // pxor %xmm4,%xmm1 .byte 102,15,101,241 // pcmpgtw %xmm1,%xmm6 .byte 102,15,111,206 // movdqa %xmm6,%xmm1 .byte 102,15,223,205 // pandn %xmm5,%xmm1 .byte 102,15,127,69,184 // movdqa %xmm0,-0x48(%ebp) .byte 102,15,111,234 // movdqa %xmm2,%xmm5 .byte 102,15,219,238 // pand %xmm6,%xmm5 .byte 102,15,235,233 // por %xmm1,%xmm5 .byte 102,15,111,205 // movdqa %xmm5,%xmm1 .byte 102,15,239,204 // pxor %xmm4,%xmm1 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,235,196 // por %xmm4,%xmm0 .byte 102,15,127,69,200 // movdqa %xmm0,-0x38(%ebp) .byte 102,15,101,200 // pcmpgtw %xmm0,%xmm1 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,219,193 // pand %xmm1,%xmm0 .byte 102,15,223,205 // pandn %xmm5,%xmm1 .byte 102,15,235,200 // por %xmm0,%xmm1 .byte 102,15,111,69,216 // movdqa -0x28(%ebp),%xmm0 .byte 102,15,219,198 // pand %xmm6,%xmm0 .byte 102,15,223,242 // pandn %xmm2,%xmm6 .byte 102,15,235,240 // por %xmm0,%xmm6 .byte 102,15,239,230 // pxor %xmm6,%xmm4 .byte 102,15,101,101,200 // pcmpgtw -0x38(%ebp),%xmm4 .byte 102,15,219,244 // pand %xmm4,%xmm6 .byte 102,15,223,227 // pandn %xmm3,%xmm4 .byte 102,15,235,230 // por %xmm6,%xmm4 .byte 102,15,219,207 // pand %xmm7,%xmm1 .byte 102,15,223,252 // pandn %xmm4,%xmm7 .byte 102,15,235,249 // por %xmm1,%xmm7 .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,213,93,168 // pmullw -0x58(%ebp),%xmm3 .byte 102,15,111,143,33,12,0,0 // movdqa 0xc21(%edi),%xmm1 .byte 102,15,239,193 // pxor %xmm1,%xmm0 .byte 102,15,111,101,24 // movdqa 0x18(%ebp),%xmm4 .byte 102,15,213,196 // pmullw %xmm4,%xmm0 .byte 102,15,253,217 // paddw %xmm1,%xmm3 .byte 102,15,253,216 // paddw %xmm0,%xmm3 .byte 102,15,111,194 // movdqa %xmm2,%xmm0 .byte 102,15,213,85,152 // pmullw -0x68(%ebp),%xmm2 .byte 102,15,239,193 // pxor %xmm1,%xmm0 .byte 102,15,111,109,40 // movdqa 0x28(%ebp),%xmm5 .byte 102,15,213,197 // pmullw %xmm5,%xmm0 .byte 102,15,253,209 // paddw %xmm1,%xmm2 .byte 102,15,253,208 // paddw %xmm0,%xmm2 .byte 102,15,111,101,216 // movdqa -0x28(%ebp),%xmm4 .byte 102,15,111,196 // movdqa %xmm4,%xmm0 .byte 102,15,213,101,136 // pmullw -0x78(%ebp),%xmm4 .byte 102,15,239,193 // pxor %xmm1,%xmm0 .byte 102,15,111,117,56 // movdqa 0x38(%ebp),%xmm6 .byte 102,15,213,198 // pmullw %xmm6,%xmm0 .byte 102,15,253,225 // paddw %xmm1,%xmm4 .byte 102,15,253,224 // paddw %xmm0,%xmm4 .byte 102,15,111,199 // movdqa %xmm7,%xmm0 .byte 102,15,213,125,184 // pmullw -0x48(%ebp),%xmm7 .byte 102,15,239,193 // pxor %xmm1,%xmm0 .byte 102,15,253,249 // paddw %xmm1,%xmm7 .byte 102,15,111,77,72 // movdqa 0x48(%ebp),%xmm1 .byte 102,15,213,193 // pmullw %xmm1,%xmm0 .byte 102,15,253,248 // paddw %xmm0,%xmm7 .byte 102,15,113,211,8 // psrlw $0x8,%xmm3 .byte 102,15,113,210,8 // psrlw $0x8,%xmm2 .byte 102,15,113,212,8 // psrlw $0x8,%xmm4 .byte 102,15,113,215,8 // psrlw $0x8,%xmm7 .byte 141,72,8 // lea 0x8(%eax),%ecx .byte 102,15,127,76,36,64 // movdqa %xmm1,0x40(%esp) .byte 102,15,127,116,36,48 // movdqa %xmm6,0x30(%esp) .byte 102,15,127,108,36,32 // movdqa %xmm5,0x20(%esp) .byte 15,40,69,24 // movaps 0x18(%ebp),%xmm0 .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 139,125,20 // mov 0x14(%ebp),%edi .byte 137,124,36,12 // mov %edi,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,76,36,4 // mov %ecx,0x4(%esp) .byte 137,20,36 // mov %edx,(%esp) .byte 102,15,111,195 // movdqa %xmm3,%xmm0 .byte 102,15,111,202 // movdqa %xmm2,%xmm1 .byte 102,15,111,212 // movdqa %xmm4,%xmm2 .byte 102,15,111,223 // movdqa %xmm7,%xmm3 .byte 255,80,4 // call *0x4(%eax) .byte 129,196,188,0,0,0 // add $0xbc,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 144 // nop .byte 24,0 // sbb %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%eax) .byte 41,0 // sub %eax,(%eax) .byte 0,0 // add %al,(%eax) .byte 88 // pop %eax .byte 0,0 // add %al,(%eax) .byte 0,81,0 // add %dl,0x0(%ecx) .byte 0,0 // add %al,(%eax) .byte 74 // dec %edx .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 0 // .byte 0x0 HIDDEN _sk_srcover_rgba_8888_sse2_lowp .globl _sk_srcover_rgba_8888_sse2_lowp FUNCTION(_sk_srcover_rgba_8888_sse2_lowp) _sk_srcover_rgba_8888_sse2_lowp: .byte 85 // push %ebp .byte 137,229 // mov %esp,%ebp .byte 83 // push %ebx .byte 87 // push %edi .byte 86 // push %esi .byte 129,236,172,0,0,0 // sub $0xac,%esp .byte 102,15,111,227 // movdqa %xmm3,%xmm4 .byte 15,41,85,200 // movaps %xmm2,-0x38(%ebp) .byte 15,41,77,216 // movaps %xmm1,-0x28(%ebp) .byte 102,15,111,248 // movdqa %xmm0,%xmm7 .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 139,85,8 // mov 0x8(%ebp),%edx .byte 139,8 // mov (%eax),%ecx .byte 139,121,4 // mov 0x4(%ecx),%edi .byte 15,175,125,20 // imul 0x14(%ebp),%edi .byte 193,231,2 // shl $0x2,%edi .byte 3,57 // add (%ecx),%edi .byte 137,211 // mov %edx,%ebx .byte 128,227,7 // and $0x7,%bl .byte 254,203 // dec %bl .byte 128,251,6 // cmp $0x6,%bl .byte 232,0,0,0,0 // call c963 <_sk_srcover_rgba_8888_sse2_lowp+0x3f> .byte 89 // pop %ecx .byte 139,117,16 // mov 0x10(%ebp),%esi .byte 15,182,211 // movzbl %bl,%edx .byte 119,29 // ja c989 <_sk_srcover_rgba_8888_sse2_lowp+0x65> .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 139,132,145,77,2,0,0 // mov 0x24d(%ecx,%edx,4),%eax .byte 1,200 // add %ecx,%eax .byte 102,15,239,246 // pxor %xmm6,%xmm6 .byte 255,224 // jmp *%eax .byte 243,15,16,52,183 // movss (%edi,%esi,4),%xmm6 .byte 15,87,219 // xorps %xmm3,%xmm3 .byte 235,73 // jmp c9d2 <_sk_srcover_rgba_8888_sse2_lowp+0xae> .byte 102,15,16,52,183 // movupd (%edi,%esi,4),%xmm6 .byte 15,16,92,183,16 // movups 0x10(%edi,%esi,4),%xmm3 .byte 235,61 // jmp c9d2 <_sk_srcover_rgba_8888_sse2_lowp+0xae> .byte 102,15,110,68,183,8 // movd 0x8(%edi,%esi,4),%xmm0 .byte 102,15,112,240,69 // pshufd $0x45,%xmm0,%xmm6 .byte 102,15,18,52,183 // movlpd (%edi,%esi,4),%xmm6 .byte 235,43 // jmp c9d2 <_sk_srcover_rgba_8888_sse2_lowp+0xae> .byte 102,15,110,68,183,24 // movd 0x18(%edi,%esi,4),%xmm0 .byte 102,15,112,216,69 // pshufd $0x45,%xmm0,%xmm3 .byte 243,15,16,68,183,20 // movss 0x14(%edi,%esi,4),%xmm0 .byte 15,198,195,0 // shufps $0x0,%xmm3,%xmm0 .byte 15,198,195,226 // shufps $0xe2,%xmm3,%xmm0 .byte 15,40,216 // movaps %xmm0,%xmm3 .byte 243,15,16,68,183,16 // movss 0x10(%edi,%esi,4),%xmm0 .byte 243,15,16,216 // movss %xmm0,%xmm3 .byte 102,15,16,52,183 // movupd (%edi,%esi,4),%xmm6 .byte 102,15,40,206 // movapd %xmm6,%xmm1 .byte 102,15,114,241,16 // pslld $0x10,%xmm1 .byte 102,15,114,225,16 // psrad $0x10,%xmm1 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .byte 102,15,114,224,16 // psrad $0x10,%xmm0 .byte 102,15,107,200 // packssdw %xmm0,%xmm1 .byte 15,40,195 // movaps %xmm3,%xmm0 .byte 102,15,40,214 // movapd %xmm6,%xmm2 .byte 102,15,114,214,24 // psrld $0x18,%xmm6 .byte 102,15,114,246,16 // pslld $0x10,%xmm6 .byte 102,15,114,230,16 // psrad $0x10,%xmm6 .byte 102,15,114,211,24 // psrld $0x18,%xmm3 .byte 102,15,114,243,16 // pslld $0x10,%xmm3 .byte 102,15,114,227,16 // psrad $0x10,%xmm3 .byte 102,15,107,243 // packssdw %xmm3,%xmm6 .byte 102,15,111,153,125,9,0,0 // movdqa 0x97d(%ecx),%xmm3 .byte 102,15,114,208,16 // psrld $0x10,%xmm0 .byte 102,15,114,210,16 // psrld $0x10,%xmm2 .byte 102,15,114,242,16 // pslld $0x10,%xmm2 .byte 102,15,114,226,16 // psrad $0x10,%xmm2 .byte 102,15,114,240,16 // pslld $0x10,%xmm0 .byte 102,15,114,224,16 // psrad $0x10,%xmm0 .byte 102,15,107,208 // packssdw %xmm0,%xmm2 .byte 102,15,111,193 // movdqa %xmm1,%xmm0 .byte 102,15,219,195 // pand %xmm3,%xmm0 .byte 102,15,111,235 // movdqa %xmm3,%xmm5 .byte 102,15,249,236 // psubw %xmm4,%xmm5 .byte 102,15,127,69,184 // movdqa %xmm0,-0x48(%ebp) .byte 102,15,213,197 // pmullw %xmm5,%xmm0 .byte 102,15,253,195 // paddw %xmm3,%xmm0 .byte 102,15,113,208,8 // psrlw $0x8,%xmm0 .byte 102,15,253,199 // paddw %xmm7,%xmm0 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,127,77,152 // movdqa %xmm1,-0x68(%ebp) .byte 102,15,213,205 // pmullw %xmm5,%xmm1 .byte 102,15,253,203 // paddw %xmm3,%xmm1 .byte 102,15,113,209,8 // psrlw $0x8,%xmm1 .byte 102,15,253,77,216 // paddw -0x28(%ebp),%xmm1 .byte 102,15,219,211 // pand %xmm3,%xmm2 .byte 102,15,127,85,216 // movdqa %xmm2,-0x28(%ebp) .byte 102,15,111,250 // movdqa %xmm2,%xmm7 .byte 102,15,213,253 // pmullw %xmm5,%xmm7 .byte 102,15,253,251 // paddw %xmm3,%xmm7 .byte 102,15,113,215,8 // psrlw $0x8,%xmm7 .byte 102,15,253,125,200 // paddw -0x38(%ebp),%xmm7 .byte 102,15,127,117,200 // movdqa %xmm6,-0x38(%ebp) .byte 102,15,213,238 // pmullw %xmm6,%xmm5 .byte 102,15,253,235 // paddw %xmm3,%xmm5 .byte 102,15,113,213,8 // psrlw $0x8,%xmm5 .byte 102,15,253,236 // paddw %xmm4,%xmm5 .byte 102,15,111,241 // movdqa %xmm1,%xmm6 .byte 102,15,113,246,8 // psllw $0x8,%xmm6 .byte 102,15,127,69,168 // movdqa %xmm0,-0x58(%ebp) .byte 102,15,235,240 // por %xmm0,%xmm6 .byte 102,15,239,219 // pxor %xmm3,%xmm3 .byte 102,15,111,214 // movdqa %xmm6,%xmm2 .byte 102,15,97,211 // punpcklwd %xmm3,%xmm2 .byte 102,15,111,229 // movdqa %xmm5,%xmm4 .byte 102,15,113,244,8 // psllw $0x8,%xmm4 .byte 102,15,235,231 // por %xmm7,%xmm4 .byte 102,15,239,192 // pxor %xmm0,%xmm0 .byte 102,15,97,196 // punpcklwd %xmm4,%xmm0 .byte 102,15,235,194 // por %xmm2,%xmm0 .byte 102,15,105,243 // punpckhwd %xmm3,%xmm6 .byte 102,15,105,220 // punpckhwd %xmm4,%xmm3 .byte 102,15,235,222 // por %xmm6,%xmm3 .byte 128,251,6 // cmp $0x6,%bl .byte 119,16 // ja cb13 <_sk_srcover_rgba_8888_sse2_lowp+0x1ef> .byte 3,140,145,105,2,0,0 // add 0x269(%ecx,%edx,4),%ecx .byte 255,225 // jmp *%ecx .byte 102,15,126,4,183 // movd %xmm0,(%edi,%esi,4) .byte 235,64 // jmp cb53 <_sk_srcover_rgba_8888_sse2_lowp+0x22f> .byte 243,15,127,4,183 // movdqu %xmm0,(%edi,%esi,4) .byte 243,15,127,92,183,16 // movdqu %xmm3,0x10(%edi,%esi,4) .byte 235,51 // jmp cb53 <_sk_srcover_rgba_8888_sse2_lowp+0x22f> .byte 102,15,112,208,78 // pshufd $0x4e,%xmm0,%xmm2 .byte 102,15,126,84,183,8 // movd %xmm2,0x8(%edi,%esi,4) .byte 102,15,214,4,183 // movq %xmm0,(%edi,%esi,4) .byte 235,33 // jmp cb53 <_sk_srcover_rgba_8888_sse2_lowp+0x22f> .byte 102,15,112,211,78 // pshufd $0x4e,%xmm3,%xmm2 .byte 102,15,126,84,183,24 // movd %xmm2,0x18(%edi,%esi,4) .byte 102,15,112,211,229 // pshufd $0xe5,%xmm3,%xmm2 .byte 102,15,126,84,183,20 // movd %xmm2,0x14(%edi,%esi,4) .byte 102,15,126,92,183,16 // movd %xmm3,0x10(%edi,%esi,4) .byte 243,15,127,4,183 // movdqu %xmm0,(%edi,%esi,4) .byte 139,69,12 // mov 0xc(%ebp),%eax .byte 137,193 // mov %eax,%ecx .byte 141,65,8 // lea 0x8(%ecx),%eax .byte 15,40,69,200 // movaps -0x38(%ebp),%xmm0 .byte 15,41,68,36,64 // movaps %xmm0,0x40(%esp) .byte 15,40,69,216 // movaps -0x28(%ebp),%xmm0 .byte 15,41,68,36,48 // movaps %xmm0,0x30(%esp) .byte 15,40,69,152 // movaps -0x68(%ebp),%xmm0 .byte 15,41,68,36,32 // movaps %xmm0,0x20(%esp) .byte 15,40,69,184 // movaps -0x48(%ebp),%xmm0 .byte 15,41,68,36,16 // movaps %xmm0,0x10(%esp) .byte 139,85,20 // mov 0x14(%ebp),%edx .byte 137,84,36,12 // mov %edx,0xc(%esp) .byte 137,116,36,8 // mov %esi,0x8(%esp) .byte 137,68,36,4 // mov %eax,0x4(%esp) .byte 139,69,8 // mov 0x8(%ebp),%eax .byte 137,4,36 // mov %eax,(%esp) .byte 15,40,69,168 // movaps -0x58(%ebp),%xmm0 .byte 102,15,111,215 // movdqa %xmm7,%xmm2 .byte 102,15,111,221 // movdqa %xmm5,%xmm3 .byte 255,81,4 // call *0x4(%ecx) .byte 129,196,172,0,0,0 // add $0xac,%esp .byte 94 // pop %esi .byte 95 // pop %edi .byte 91 // pop %ebx .byte 93 // pop %ebp .byte 195 // ret .byte 102,144 // xchg %ax,%ax .byte 28,0 // sbb $0x0,%al .byte 0,0 // add %al,(%eax) .byte 61,0,0,0,50 // cmp $0x32000000,%eax .byte 0,0 // add %al,(%eax) .byte 0,106,0 // add %ch,0x0(%edx) .byte 0,0 // add %al,(%eax) .byte 96 // pusha .byte 0,0 // add %al,(%eax) .byte 0,79,0 // add %cl,0x0(%edi) .byte 0,0 // add %al,(%eax) .byte 68 // inc %esp .byte 0,0 // add %al,(%eax) .byte 0,169,1,0,0,200 // add %ch,-0x37ffffff(%ecx) .byte 1,0 // add %eax,(%eax) .byte 0,189,1,0,0,235 // add %bh,-0x14ffffff(%ebp) .byte 1,0 // add %eax,(%eax) .byte 0,229 // add %ah,%ch .byte 1,0 // add %eax,(%eax) .byte 0,218 // add %bl,%dl .byte 1,0 // add %eax,(%eax) .byte 0,207 // add %cl,%bh .byte 1,0 // add %eax,(%eax) .byte 0 // .byte 0x0 BALIGN16 .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 192,63,0 // sarb $0x0,(%edi) .byte 0,32 // add %ah,(%eax) .byte 64 // inc %eax .byte 0,0 // add %al,(%eax) .byte 96 // pusha .byte 64 // inc %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 0,1 // add %al,(%ecx) .byte 0,0 // add %al,(%eax) .byte 0,2 // add %al,(%edx) .byte 0,0 // add %al,(%eax) .byte 0,3 // add %al,(%ebx) .byte 0,0 // add %al,(%eax) .byte 0,1 // add %al,(%ecx) .byte 0,0 // add %al,(%eax) .byte 0,1 // add %al,(%ecx) .byte 0,0 // add %al,(%eax) .byte 0,1 // add %al,(%ecx) .byte 0,0 // add %al,(%eax) .byte 0,1 // add %al,(%ecx) .byte 0,0 // add %al,(%eax) .byte 0,4,0 // add %al,(%eax,%eax,1) .byte 0,0 // add %al,(%eax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%eax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%eax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%eax) .byte 2,0 // add (%eax),%al .byte 0,0 // add %al,(%eax) .byte 2,0 // add (%eax),%al .byte 0,0 // add %al,(%eax) .byte 2,0 // add (%eax),%al .byte 0,0 // add %al,(%eax) .byte 2,0 // add (%eax),%al .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 128,60,0,0 // cmpb $0x0,(%eax,%eax,1) .byte 128,60,0,0 // cmpb $0x0,(%eax,%eax,1) .byte 128,60,0,0 // cmpb $0x0,(%eax,%eax,1) .byte 128,60,0,0 // cmpb $0x0,(%eax,%eax,1) .byte 252 // cld .byte 190,0,0,252,190 // mov $0xbefc0000,%esi .byte 0,0 // add %al,(%eax) .byte 252 // cld .byte 190,0,0,252,190 // mov $0xbefc0000,%esi .byte 0,0 // add %al,(%eax) .byte 128,191,0,0,128,191,0 // cmpb $0x0,-0x40800000(%edi) .byte 0,128,191,0,0,128 // add %al,-0x7fffff41(%eax) .byte 191,0,0,224,64 // mov $0x40e00000,%edi .byte 0,0 // add %al,(%eax) .byte 224,64 // loopne ccd8 <.literal16+0xe8> .byte 0,0 // add %al,(%eax) .byte 224,64 // loopne ccdc <.literal16+0xec> .byte 0,0 // add %al,(%eax) .byte 224,64 // loopne cce0 <.literal16+0xf0> .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 cd01 <.literal16+0x111> .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope cd05 <.literal16+0x115> .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope cd09 <.literal16+0x119> .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 225,61 // loope cd0d <.literal16+0x11d> .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 127,67 // jg cd27 <.literal16+0x137> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg cd2b <.literal16+0x13b> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg cd2f <.literal16+0x13f> .byte 0,0 // add %al,(%eax) .byte 127,67 // jg cd33 <.literal16+0x143> .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 92 // pop %esp .byte 143 // (bad) .byte 50,63 // xor (%edi),%bh .byte 92 // pop %esp .byte 143 // (bad) .byte 50,63 // xor (%edi),%bh .byte 92 // pop %esp .byte 143 // (bad) .byte 50,63 // xor (%edi),%bh .byte 92 // pop %esp .byte 143 // (bad) .byte 50,63 // xor (%edi),%bh .byte 10,215 // or %bh,%dl .byte 35,59 // and (%ebx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%ebx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%ebx),%edi .byte 10,215 // or %bh,%dl .byte 35,59 // and (%ebx),%edi .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 97 // popa .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 174 // scas %es:(%edi),%al .byte 71 // inc %edi .byte 97 // popa .byte 61,174,71,97,61 // cmp $0x3d6147ae,%eax .byte 82 // push %edx .byte 184,78,65,82,184 // mov $0xb852414e,%eax .byte 78 // dec %esi .byte 65 // inc %ecx .byte 82 // push %edx .byte 184,78,65,82,184 // mov $0xb852414e,%eax .byte 78 // dec %esi .byte 65 // inc %ecx .byte 57,215 // cmp %edx,%edi .byte 32,187,57,215,32,187 // and %bh,-0x44df28c7(%ebx) .byte 57,215 // cmp %edx,%edi .byte 32,187,57,215,32,187 // and %bh,-0x44df28c7(%ebx) .byte 186,159,98,60,186 // mov $0xba3c629f,%edx .byte 159 // lahf .byte 98,60,186 // bound %edi,(%edx,%edi,4) .byte 159 // lahf .byte 98,60,186 // bound %edi,(%edx,%edi,4) .byte 159 // lahf .byte 98,60,109,165,144,63,109 // bound %edi,0x6d3f90a5(,%ebp,2) .byte 165 // movsl %ds:(%esi),%es:(%edi) .byte 144 // nop .byte 63 // aas .byte 109 // insl (%dx),%es:(%edi) .byte 165 // movsl %ds:(%esi),%es:(%edi) .byte 144 // nop .byte 63 // aas .byte 109 // insl (%dx),%es:(%edi) .byte 165 // movsl %ds:(%esi),%es:(%edi) .byte 144 // nop .byte 63 // aas .byte 252 // cld .byte 191,16,62,252,191 // mov $0xbffc3e10,%edi .byte 16,62 // adc %bh,(%esi) .byte 252 // cld .byte 191,16,62,252,191 // mov $0xbffc3e10,%edi .byte 16,62 // adc %bh,(%esi) .byte 168,177 // test $0xb1,%al .byte 152 // cwtl .byte 59,168,177,152,59,168 // cmp -0x57c4674f(%eax),%ebp .byte 177,152 // mov $0x98,%cl .byte 59,168,177,152,59,0 // cmp 0x3b98b1(%eax),%ebp .byte 0,192 // add %al,%al .byte 64 // inc %eax .byte 0,0 // add %al,(%eax) .byte 192,64,0,0 // rolb $0x0,0x0(%eax) .byte 192,64,0,0 // rolb $0x0,0x0(%eax) .byte 192,64,0,0 // rolb $0x0,0x0(%eax) .byte 0,64,0 // add %al,0x0(%eax) .byte 0,0 // add %al,(%eax) .byte 64 // inc %eax .byte 0,0 // add %al,(%eax) .byte 0,64,0 // add %al,0x0(%eax) .byte 0,0 // add %al,(%eax) .byte 64 // inc %eax .byte 0,0 // add %al,(%eax) .byte 128,64,0,0 // addb $0x0,0x0(%eax) .byte 128,64,0,0 // addb $0x0,0x0(%eax) .byte 128,64,0,0 // addb $0x0,0x0(%eax) .byte 128,64,171,170 // addb $0xaa,-0x55(%eax) .byte 42,62 // sub (%esi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,62 // sub (%esi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,62 // sub (%esi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,62 // sub (%esi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 62,171 // ds stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 62,171 // ds stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 62,171 // ds stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 62,171 // ds stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,63 // sub (%edi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,63 // sub (%edi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,63 // sub (%edi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 42,63 // sub (%edi),%bh .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 171 // stos %eax,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 170 // stos %al,%es:(%edi) .byte 190,171,170,170,190 // mov $0xbeaaaaab,%esi .byte 129,128,128,59,129,128,128,59,129,128// addl $0x80813b80,-0x7f7ec480(%eax) .byte 128,59,129 // cmpb $0x81,(%ebx) .byte 128,128,59,0,248,0,0 // addb $0x0,0xf8003b(%eax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%eax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%eax) .byte 0,248 // add %bh,%al .byte 0,0 // add %al,(%eax) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 8,33 // or %ah,(%ecx) .byte 132,55 // test %dh,(%edi) .byte 224,7 // loopne ce39 <.literal16+0x249> .byte 0,0 // add %al,(%eax) .byte 224,7 // loopne ce3d <.literal16+0x24d> .byte 0,0 // add %al,(%eax) .byte 224,7 // loopne ce41 <.literal16+0x251> .byte 0,0 // add %al,(%eax) .byte 224,7 // loopne ce45 <.literal16+0x255> .byte 0,0 // add %al,(%eax) .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 33,8 // and %ecx,(%eax) .byte 2,58 // add (%edx),%bh .byte 31 // pop %ds .byte 0,0 // add %al,(%eax) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,8 // add %cl,(%eax) .byte 33,4,61,8,33,4,61 // and %eax,0x3d042108(,%edi,1) .byte 8,33 // or %ah,(%ecx) .byte 4,61 // add $0x3d,%al .byte 8,33 // or %ah,(%ecx) .byte 4,61 // add $0x3d,%al .byte 255,0 // incl (%eax) .byte 255,0 // incl (%eax) .byte 255,0 // incl (%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 128,0,128 // addb $0x80,(%eax) .byte 55 // aaa .byte 128,0,128 // addb $0x80,(%eax) .byte 55 // aaa .byte 128,0,128 // addb $0x80,(%eax) .byte 55 // aaa .byte 128,0,128 // addb $0x80,(%eax) .byte 55 // aaa .byte 0,0 // add %al,(%eax) .byte 0,52,0 // add %dh,(%eax,%eax,1) .byte 0,0 // add %al,(%eax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%eax) .byte 52,0 // xor $0x0,%al .byte 0,0 // add %al,(%eax) .byte 52,255 // xor $0xff,%al .byte 255 // (bad) .byte 127,0 // jg cea4 <.literal16+0x2b4> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg cea8 <.literal16+0x2b8> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg ceac <.literal16+0x2bc> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg ceb0 <.literal16+0x2c0> .byte 119,115 // ja cf25 <.literal16+0x335> .byte 248 // clc .byte 194,119,115 // ret $0x7377 .byte 248 // clc .byte 194,119,115 // ret $0x7377 .byte 248 // clc .byte 194,119,115 // ret $0x7377 .byte 248 // clc .byte 194,117,191 // ret $0xbf75 .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // aas .byte 117,191 // jne ce89 <.literal16+0x299> .byte 191,63,117,191,191 // mov $0xbfbf753f,%edi .byte 63 // aas .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 249 // stc .byte 68 // inc %esp .byte 180,62 // mov $0x3e,%ah .byte 163,233,220,63,163 // mov %eax,0xa33fdce9 .byte 233,220,63,163,233 // jmp e9a40ec6 <_sk_srcover_rgba_8888_sse2_lowp+0xe9a345a2> .byte 220,63 // fdivrl (%edi) .byte 163,233,220,63,81 // mov %eax,0x513fdce9 .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 81 // push %ecx .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 81 // push %ecx .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 81 // push %ecx .byte 140,242 // mov %?,%edx .byte 66 // inc %edx .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%esi,%edi,4),%edi .byte 63 // aas .byte 141,188,190,63,141,188,190 // lea -0x414372c1(%esi,%edi,4),%edi .byte 63 // aas .byte 248 // clc .byte 245 // cmc .byte 154,64,248,245,154,64,248 // lcall $0xf840,$0x9af5f840 .byte 245 // cmc .byte 154,64,248,245,154,64,254 // lcall $0xfe40,$0x9af5f840 .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 254 // (bad) .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 254 // (bad) .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 254 // (bad) .byte 210,221 // rcr %cl,%ch .byte 65 // inc %ecx .byte 0,0 // add %al,(%eax) .byte 0,75,0 // add %cl,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 75 // dec %ebx .byte 0,0 // add %al,(%eax) .byte 0,75,0 // add %cl,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 75 // dec %ebx .byte 0,0 // add %al,(%eax) .byte 200,66,0,0 // enter $0x42,$0x0 .byte 200,66,0,0 // enter $0x42,$0x0 .byte 200,66,0,0 // enter $0x42,$0x0 .byte 200,66,0,0 // enter $0x42,$0x0 .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%eax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%eax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%eax) .byte 0,195 // add %al,%bl .byte 0,0 // add %al,(%eax) .byte 128,65,0,0 // addb $0x0,0x0(%ecx) .byte 128,65,0,0 // addb $0x0,0x0(%ecx) .byte 128,65,0,0 // addb $0x0,0x0(%ecx) .byte 128,65,203,61 // addb $0x3d,-0x35(%ecx) .byte 13,60,203,61,13 // or $0xd3dcb3c,%eax .byte 60,203 // cmp $0xcb,%al .byte 61,13,60,203,61 // cmp $0x3dcb3c0d,%eax .byte 13,60,111,18,3 // or $0x3126f3c,%eax .byte 59,111,18 // cmp 0x12(%edi),%ebp .byte 3,59 // add (%ebx),%edi .byte 111 // outsl %ds:(%esi),(%dx) .byte 18,3 // adc (%ebx),%al .byte 59,111,18 // cmp 0x12(%edi),%ebp .byte 3,59 // add (%ebx),%edi .byte 10,215 // or %bh,%dl .byte 163,59,10,215,163 // mov %eax,0xa3d70a3b .byte 59,10 // cmp (%edx),%ecx .byte 215 // xlat %ds:(%ebx) .byte 163,59,10,215,163 // mov %eax,0xa3d70a3b .byte 59,194 // cmp %edx,%eax .byte 24,17 // sbb %dl,(%ecx) .byte 60,194 // cmp $0xc2,%al .byte 24,17 // sbb %dl,(%ecx) .byte 60,194 // cmp $0xc2,%al .byte 24,17 // sbb %dl,(%ecx) .byte 60,194 // cmp $0xc2,%al .byte 24,17 // sbb %dl,(%ecx) .byte 60,203 // cmp $0xcb,%al .byte 61,13,190,203,61 // cmp $0x3dcbbe0d,%eax .byte 13,190,203,61,13 // or $0xd3dcbbe,%eax .byte 190,203,61,13,190 // mov $0xbe0d3dcb,%esi .byte 80 // push %eax .byte 128,3,62 // addb $0x3e,(%ebx) .byte 80 // push %eax .byte 128,3,62 // addb $0x3e,(%ebx) .byte 80 // push %eax .byte 128,3,62 // addb $0x3e,(%ebx) .byte 80 // push %eax .byte 128,3,62 // addb $0x3e,(%ebx) .byte 31 // pop %ds .byte 215 // xlat %ds:(%ebx) .byte 118,63 // jbe d013 <.literal16+0x423> .byte 31 // pop %ds .byte 215 // xlat %ds:(%ebx) .byte 118,63 // jbe d017 <.literal16+0x427> .byte 31 // pop %ds .byte 215 // xlat %ds:(%ebx) .byte 118,63 // jbe d01b <.literal16+0x42b> .byte 31 // pop %ds .byte 215 // xlat %ds:(%ebx) .byte 118,63 // jbe d01f <.literal16+0x42f> .byte 246,64,83,63 // testb $0x3f,0x53(%eax) .byte 246,64,83,63 // testb $0x3f,0x53(%eax) .byte 246,64,83,63 // testb $0x3f,0x53(%eax) .byte 246,64,83,63 // testb $0x3f,0x53(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 248 // clc .byte 65 // inc %ecx .byte 0,0 // add %al,(%eax) .byte 248 // clc .byte 65 // inc %ecx .byte 0,0 // add %al,(%eax) .byte 248 // clc .byte 65 // inc %ecx .byte 0,0 // add %al,(%eax) .byte 248 // clc .byte 65 // inc %ecx .byte 0,0 // add %al,(%eax) .byte 124,66 // jl d056 <.literal16+0x466> .byte 0,0 // add %al,(%eax) .byte 124,66 // jl d05a <.literal16+0x46a> .byte 0,0 // add %al,(%eax) .byte 124,66 // jl d05e <.literal16+0x46e> .byte 0,0 // add %al,(%eax) .byte 124,66 // jl d062 <.literal16+0x472> .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%eax) .byte 136,55 // mov %dh,(%edi) .byte 137,136,136,55,137,136 // mov %ecx,-0x7776c878(%eax) .byte 136,55 // mov %dh,(%edi) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%eax) .byte 136,57 // mov %bh,(%ecx) .byte 137,136,136,57,137,136 // mov %ecx,-0x7776c678(%eax) .byte 136,57 // mov %bh,(%ecx) .byte 240,0,0 // lock add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,240 // add %dh,%al .byte 0,0 // add %al,(%eax) .byte 0,137,136,136,59,137 // add %cl,-0x76c47778(%ecx) .byte 136,136,59,137,136,136 // mov %cl,-0x777776c5(%eax) .byte 59,137,136,136,59,15 // cmp 0xf3b8888(%ecx),%ecx .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,15 // add %cl,(%edi) .byte 0,0 // add %al,(%eax) .byte 0,137,136,136,61,137 // add %cl,-0x76c27778(%ecx) .byte 136,136,61,137,136,136 // mov %cl,-0x777776c3(%eax) .byte 61,137,136,136,61 // cmp $0x3d888889,%eax .byte 0,0 // add %al,(%eax) .byte 112,65 // jo d0e5 <.literal16+0x4f5> .byte 0,0 // add %al,(%eax) .byte 112,65 // jo d0e9 <.literal16+0x4f9> .byte 0,0 // add %al,(%eax) .byte 112,65 // jo d0ed <.literal16+0x4fd> .byte 0,0 // add %al,(%eax) .byte 112,65 // jo d0f1 <.literal16+0x501> .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 255 // (bad) .byte 127,0 // jg d0c3 <.literal16+0x4d3> .byte 0,255 // add %bh,%bh .byte 127,0 // jg d0c7 <.literal16+0x4d7> .byte 0,255 // add %bh,%bh .byte 127,0 // jg d0cb <.literal16+0x4db> .byte 0,255 // add %bh,%bh .byte 127,0 // jg d0cf <.literal16+0x4df> .byte 0,0 // add %al,(%eax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%eax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%eax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%eax) .byte 4,0 // add $0x0,%al .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 56,0 // cmp %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 56,0 // cmp %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 56,0 // cmp %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 56,0 // cmp %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 128,0,0 // addb $0x0,(%eax) .byte 0,128,0,0,0,128 // add %al,-0x80000000(%eax) .byte 0,0 // add %al,(%eax) .byte 0,128,255,255,255,127 // add %al,0x7fffffff(%eax) .byte 255 // (bad) .byte 255 // (bad) .byte 255 // (bad) .byte 127,255 // jg d108 <.literal16+0x518> .byte 255 // (bad) .byte 255 // (bad) .byte 127,255 // jg d10c <.literal16+0x51c> .byte 255 // (bad) .byte 255 // (bad) .byte 127,0 // jg d111 <.literal16+0x521> .byte 0,128,56,0,0,128 // add %al,-0x7fffffc8(%eax) .byte 56,0 // cmp %al,(%eax) .byte 0,128,56,0,0,128 // add %al,-0x7fffffc8(%eax) .byte 56,0 // cmp %al,(%eax) .byte 0,255 // add %bh,%bh .byte 255,0 // incl (%eax) .byte 0,255 // add %bh,%bh .byte 255,0 // incl (%eax) .byte 0,255 // add %bh,%bh .byte 255,0 // incl (%eax) .byte 0,255 // add %bh,%bh .byte 255,0 // incl (%eax) .byte 255 // (bad) .byte 127,71 // jg d17b <.literal16+0x58b> .byte 0,255 // add %bh,%bh .byte 127,71 // jg d17f <.literal16+0x58f> .byte 0,255 // add %bh,%bh .byte 127,71 // jg d183 <.literal16+0x593> .byte 0,255 // add %bh,%bh .byte 127,71 // jg d187 <.literal16+0x597> .byte 208 // (bad) .byte 179,89 // mov $0x59,%bl .byte 62,208 // ds (bad) .byte 179,89 // mov $0x59,%bl .byte 62,208 // ds (bad) .byte 179,89 // mov $0x59,%bl .byte 62,208 // ds (bad) .byte 179,89 // mov $0x59,%bl .byte 62,89 // ds pop %ecx .byte 23 // pop %ss .byte 55 // aaa .byte 63 // aas .byte 89 // pop %ecx .byte 23 // pop %ss .byte 55 // aaa .byte 63 // aas .byte 89 // pop %ecx .byte 23 // pop %ss .byte 55 // aaa .byte 63 // aas .byte 89 // pop %ecx .byte 23 // pop %ss .byte 55 // aaa .byte 63 // aas .byte 152 // cwtl .byte 221,147,61,152,221,147 // fstl -0x6c2267c3(%ebx) .byte 61,152,221,147,61 // cmp $0x3d93dd98,%eax .byte 152 // cwtl .byte 221,147,61,255,255,0 // fstl 0xffff3d(%ebx) .byte 0,255 // add %bh,%bh .byte 255,0 // incl (%eax) .byte 0,255 // add %bh,%bh .byte 255,0 // incl (%eax) .byte 0,255 // add %bh,%bh .byte 255,0 // incl (%eax) .byte 0,0 // add %al,(%eax) .byte 0,0 // add %al,(%eax) .byte 83 // push %ebx .byte 0,0 // add %al,(%eax) .byte 0,83,0 // add %dl,0x0(%ebx) .byte 0,0 // add %al,(%eax) .byte 83 // push %ebx .byte 0,0 // add %al,(%eax) .byte 0,83,128 // add %dl,-0x80(%ebx) .byte 0,0 // add %al,(%eax) .byte 211,128,0,0,211,128 // roll %cl,-0x7f2d0000(%eax) .byte 0,0 // add %al,(%eax) .byte 211,128,0,0,211,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 d1ec <.literal16+0x5fc> .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,111,43 // cmp %ebp,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 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 191,0,0,0,191 // mov $0xbf000000,%edi .byte 0,0 // add %al,(%eax) .byte 0,191,0,0,0,191 // add %bh,-0x41000000(%edi) .byte 0,0 // add %al,(%eax) .byte 192,191,0,0,192,191,0 // sarb $0x0,-0x40400000(%edi) .byte 0,192 // add %al,%al .byte 191,0,0,192,191 // mov $0xbfc00000,%edi .byte 114,28 // jb d29e <.literal16+0x6ae> .byte 199 // (bad) .byte 62,114,28 // jb,pt d2a2 <.literal16+0x6b2> .byte 199 // (bad) .byte 62,114,28 // jb,pt d2a6 <.literal16+0x6b6> .byte 199 // (bad) .byte 62,114,28 // jb,pt d2aa <.literal16+0x6ba> .byte 199 // (bad) .byte 62,85 // ds push %ebp .byte 85 // push %ebp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 85 // push %ebp .byte 85 // push %ebp .byte 149 // xchg %eax,%ebp .byte 191,85,85,149,191 // mov $0xbf955555,%edi .byte 0,0 // add %al,(%eax) .byte 192,63,0 // sarb $0x0,(%edi) .byte 0,192 // add %al,%al .byte 63 // aas .byte 0,0 // add %al,(%eax) .byte 192,63,0 // sarb $0x0,(%edi) .byte 0,192 // add %al,%al .byte 63 // aas .byte 57,142,99,61,57,142 // cmp %ecx,-0x71c6c29d(%esi) .byte 99,61,57,142,99,61 // arpl %di,0x3d638e39 .byte 57,142,99,61,114,249 // cmp %ecx,-0x68dc29d(%esi) .byte 127,63 // jg d303 <.literal16+0x713> .byte 114,249 // jb d2bf <.literal16+0x6cf> .byte 127,63 // jg d307 <.literal16+0x717> .byte 114,249 // jb d2c3 <.literal16+0x6d3> .byte 127,63 // jg d30b <.literal16+0x71b> .byte 114,249 // jb d2c7 <.literal16+0x6d7> .byte 127,63 // jg d30f <.literal16+0x71f> .byte 3,0 // add (%eax),%eax .byte 0,0 // add %al,(%eax) .byte 3,0 // add (%eax),%eax .byte 0,0 // add %al,(%eax) .byte 3,0 // add (%eax),%eax .byte 0,0 // add %al,(%eax) .byte 3,0 // add (%eax),%eax .byte 0,0 // add %al,(%eax) .byte 255,0 // incl (%eax) .byte 255,0 // incl (%eax) .byte 255,0 // incl (%eax) .byte 255,0 // incl (%eax) .byte 255,0 // incl (%eax) .byte 255,0 // incl (%eax) .byte 255,0 // incl (%eax) .byte 255,0 // incl (%eax) .byte 254,0 // incb (%eax) .byte 254,0 // incb (%eax) .byte 254,0 // incb (%eax) .byte 254,0 // incb (%eax) .byte 254,0 // incb (%eax) .byte 254,0 // incb (%eax) .byte 254,0 // incb (%eax) .byte 254,0 // incb (%eax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%eax) .byte 0,128,0,128,0,128 // add %al,-0x7fff8000(%eax) .byte 0,128,0,128,254,1 // add %al,0x1fe8000(%eax) .byte 254,1 // incb (%ecx) .byte 254,1 // incb (%ecx) .byte 254,1 // incb (%ecx) .byte 254,1 // incb (%ecx) .byte 254,1 // incb (%ecx) .byte 254,1 // incb (%ecx) .byte 254,1 // incb (%ecx) .byte 248 // clc .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,63 // add %bh,(%edi) .byte 0,63 // add %bh,(%edi) .byte 0,63 // add %bh,(%edi) .byte 0,63 // add %bh,(%edi) .byte 0,63 // add %bh,(%edi) .byte 0,63 // add %bh,(%edi) .byte 0,63 // add %bh,(%edi) .byte 0,63 // add %bh,(%edi) .byte 0,31 // add %bl,(%edi) .byte 0,31 // add %bl,(%edi) .byte 0,31 // add %bl,(%edi) .byte 0,31 // add %bl,(%edi) .byte 0,31 // add %bl,(%edi) .byte 0,31 // add %bl,(%edi) .byte 0,31 // add %bl,(%edi) .byte 0,31 // add %bl,(%edi) .byte 0,0 // add %al,(%eax) .byte 248 // clc .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 0,248 // add %bh,%al .byte 224,255 // loopne d361 <.literal16+0x771> .byte 224,255 // loopne d363 <.literal16+0x773> .byte 224,255 // loopne d365 <.literal16+0x775> .byte 224,255 // loopne d367 <.literal16+0x777> .byte 224,255 // loopne d369 <.literal16+0x779> .byte 224,255 // loopne d36b <.literal16+0x77b> .byte 224,255 // loopne d36d <.literal16+0x77d> .byte 224,255 // loopne d36f <.literal16+0x77f> .byte 54,0,54 // add %dh,%ss:(%esi) .byte 0,54 // add %dh,(%esi) .byte 0,54 // add %dh,(%esi) .byte 0,54 // add %dh,(%esi) .byte 0,54 // add %dh,(%esi) .byte 0,54 // add %dh,(%esi) .byte 0,54 // add %dh,(%esi) .byte 0,183,0,183,0,183 // add %dh,-0x48ff4900(%edi) .byte 0,183,0,183,0,183 // add %dh,-0x48ff4900(%edi) .byte 0,183,0,183,0,19 // add %dh,0x1300b700(%edi) .byte 0,19 // add %dl,(%ebx) .byte 0,19 // add %dl,(%ebx) .byte 0,19 // add %dl,(%ebx) .byte 0,19 // add %dl,(%ebx) .byte 0,19 // add %dl,(%ebx) .byte 0,19 // add %dl,(%ebx) .byte 0,19 // add %dl,(%ebx) .byte 0 // .byte 0x0 BALIGN4 .byte 0,0 // add %al,(%eax) .byte 0,63 // add %bh,(%edi) .byte 0,0 // add %al,(%eax) .byte 127,67 // jg d3eb <_sk_srcover_rgba_8888_sse2_lowp+0xac7> #endif